写在最前
这次主要对OpenCV模块进行了大更新,我相信想要学习项目的都能有所收获,但我没有给任何注释。如果需要教程可以评论区联系,我有时间就做做。
版本迭代
v1.0.6.23
1.更新Sinet类
(1)引入Sinet.System.OCR(File,Lang)函数,默认识别语言为英语,返回图片OCR识别结果。(识别效率不高)
(2)引入Sinet.Online.Links(Url)函数用于解析Url的html文件中所有链接,并返回List()类型列表。
v1.0.6.24
(1)引入新的类XA用于XML与AHK数据转换,仅支持Map、Array、String、Interor、Float
Print XA.XA_Load("1.xml")
1.更新Sinet类
(1)引入Sinet.System.ImageIdentify(Image,Number:=3)函数,通过预设模型和微软ai识别当前图片可能情况,默认返回最可能的三个结果。
Print Sinet.System.ImageIdentify("1.png")
(2)引入Sinet.System.SelectedFile()函数,用于获取当前选中文件完整路径,支持多文件。
[f11::{Print Sinet.System.SelectedFile()}]
建议(2)、(3)协同使用
f11::
{
File := Sinet.System.SelectedFile()
Print Sinet.System.ImageIdentify(File,5)
}
v1.0.6.25
1.更新Sinet类
(1)引入CV2全部内容,之后会进行python相应项目封装。
自适应:
i)简化初始化代码,采取cv2.init()进行统一初始化。
ii)对于cv、VideoCapture、MAT等对象提供cv2.(cv、VideoCapture、MAT…原意名称)_init()进行初始化。
[注意:VideoWriter_fourcc初始化时需要四个参数]
(2)引入Sinet.CV2类用于包装Opencv项目
i)引入Sinet.CV2.VideoRecord(OutPutFileName,RecordTime,Msg)函数,参数分别表示输出名称,记录时间以及是否提示完成。
(3)优化Sinet.System.FaceDetect函数体验,增加参数Show,默认开启用于增强直观感受。
v1.0.6.26
1.更新Sinet类
(1)引入Sinet.CV2.EdgeDetect(Image,Type:=”Rectangle”,Show:=1)用于边缘检测,*存在一些问题,返回值为列表。
Type参数包括Bound、Circle、Ellipse、Fitline、Rectangle。
Sinet.CV2.EdgeDetect("1.png")
(2)引入Sinet.CV2.ImageBlur(Image,Type:=”Mean Value”,Core:=5,Show:=1)用于图像光滑,返回值为光滑转化后图。
Type参数包括BilateralFilter、Gauss、Median、Mean Value。
Sinet.CV2.ImageBlur("1.png")
(3)引入Sinet.CV2.ImageThreshold(Image,Type:=”Simple”,Show:=1)用于二值图转换,返回值为转化后图。
Type参数包括Adaption、Otsu、Simple。
Sinet.CV2.ImageThreshold("1.png")
(4)引入Sinet.CV2.Morphology(Image,Type:=”Grandient”,Core:=5,Show:=1)用于进行图像形态学变化,返回值为变换后图像。
Type参数包括Blackhat、Close、Open、Tophat。
(5)引入两个算子Sobel和Laplacian(Image,Core:=5,Show:=1)用于导出图像梯度,返回值分别为
Object对象(.x表示纵向,.y表示横向)和变换后图像。
(6)引入Sinet.CV2.Canny(Image,Show:=1)用于检测图像边缘,返回值为边缘图。
(7)引入Sinet.CV2.Pyramid(Image,Type:=”Down”,Show:=1)用于放大缩小图像,返回值为处理后图像。
Type参数包括Down、LPyr、Up。
**以上Core取值只能在1,3,5,7中获取
v1.0.6.27
1.更新Sinet类
(1)引入Sinet.CV2.Sort(Contours,Type:=”contourArea”,Reverse:=False)用于Contours排序,目前仅支持面积排序。
Reverse若为False则表示从大到小排序。
(2)引入Sinet.CV2.OutlineSort(Image,Reverse:=False,Show:=1)用于对图边框排序,返回值为标号后图。
Reverse若为False则表示从大到小排序。
Sinet.CV2.OutlineSort("1.png")
(3)引入Sinet.CV2.IPLive(IP)函数,需要手机上安装IP摄像头软件,IP参数形如http://admin::admin@192.168.1.1:8081/。
注意关闭摄像头时需要多次点击关闭。
(4)引入Sinet.CV2.DynamicFace(Video:=0,Capture:=0,Crop:=1)函数,默认实时显示当前电脑前置摄像头的人脸情况。
(5)引入Sinet.CV2.DynamicColor(Video:=0,Colors:=-1,Values:=-1)函数,默认实现显示当前电脑前置摄像头蓝色与红色识别区块。
注意颜色要以二维数组形式写入,如
Colors:=[[90,186,0,179,255,255],[124,48,117,143,170,255]]
Values:=[[0,255,0],[255,0,255]]
(6)引入Sinet.CV2.DynamicLPlate(Video:=0,Capture:=0,Crop:=1)函数,默认实时显示当前电脑前置摄像头的车牌类似物情况。
(7)引入Sinet.Algorithm.PSNR(Image1,Image2)算法,返回值越大表示相似度越高,一般结果区间在[20, 40]。
注意不要放入相同的图片,会导致除0崩溃。
(8)引入Sinet.Algorithm.SSIM(Image1,Image2)算法,返回值越接近1表示相似度越高。
(9)引入Sinet.CV2.ImageCompare(Image1,Image2,Type:=”SSIM”)函数用于返回二者图片在不同算法下返回值。
Type参数包括PSNR、SSIM。
(10)引入Sinet.CV2.FileEdge(Image,Width:=-1,Height:=-1,Show:=1)函数用于文件标识,将文件及其上内容包裹。
返回值为标识后图,已知问题为当图片过大时会导致时间开销增大。
2.更新CV2类
(1)引入CV2.Crop(Image,Pos)注意Pos格式为[x,y,Width,Height],类型为List()或ComObjArray()
返回裁剪后图片。
v1.0.6.28
1.更新Sinet类
(1)引入Sinet.System.InputDevice(Number:=-1)函数,当Number为-1时返回所有输入设备。类型为Dict(Object())。
Obj_Device := Sinet.System.InputDevice(),Print Obj_Device[1].Name
(2)引入Sinet.CV2.DynamicPFace(Video:=0,Model:=-1)模型为文件列表。用于实时头像姓名匹配(效率低,不建议使用)
(3)引入CV2.(KNN、ML、StatModel、SVM、TermCriteria、BRISK。。原意名称)_Init()方法
(4)引入测试性算法Sinet.CV2.KnnPredict(Image,Model,Show:=1),不推荐使用。
(5)引入Sinet.CV2.CurvePoint(Image,Start:=-1,End:=-1,Show:=1)函数用于获取曲线图像中的纯粹的曲线坐标。
(6)引入Sinet.CV2.CurveCompare(Image1,Image2,Crop:=100,Type:=”Simple”)函数,目前仅提供连续曲线均值差的算法。
参数Crop代表图像向中收缩(Crop//2)个像素。
(7)引入Sinet.Algorithm.MeanShift(Image1,Image2,Pos)算法,返回值为加上框选后的两个图象。
(8)引入Sinet.Algorithm.CamShift(Image,Pos,Video:=0)算法,用于实时目标图追踪。无返回值。
(9)引入Sinet.CV2.FeaturePoints(Image,Type:=”FAST”,Show:=1)函数用于返回包含角点图像。
Type参数包括BRISK、FAST、Harris。其中还有特殊Type:PBRISK、PFAST用于返回角点集。
**注意:已为所有封装CV函数添加ESC键作为退出标识。
心语
我相信能看到这里的人都是对于技术有着足够追求的,也希望AHKv2真正能被发现价值。AHK这门语言,它的优势在于轻便易写,还有不需要配置环境上,这可以为大量其它语言开发的桌面软件提供后台服务。希望我做的这些可以让AHKv2变得更好。
下载链接
链接: https://pan.baidu.com/s/1PFRRhQGkb_N223XQOZvzDA?pwd=w4bt 提取码: w4bt 复制这段内容后打开百度网盘手机App,操作更方便哦
–来自百度网盘超级会员v5的分享
666666