国外可以做推广的网站吗,直播软件开发公司,做柜子设计的网站设计,打开公众号要说跟AI扯上啥关系#xff0c;估计只有库本身了#xff0c;但是#xff0c;这个大图搜小图功能还是不错的#xff0c;有喜欢的可以试试。我主要用的场景是#xff0c;具体的某个界面为大图#xff0c;界面的某个图标为小图#xff0c;或者#xff0c;整个桌面为大图估计只有库本身了但是这个大图搜小图功能还是不错的有喜欢的可以试试。我主要用的场景是具体的某个界面为大图界面的某个图标为小图或者整个桌面为大图某个小图标为小图这样来确定某个插件或者功能的位置。之前也写了一下基于C#代码的找图但是感觉效率不高这次做个基于OpenCvSharp的找图功能有喜欢的可以尝试下。创建一个Winfrom项目因为项目示例简单但是又需要获取桌面大小得创建这样的项目。要添加Nuget包Install-Package OpenCvSharp4.Windows -Version 4.6.0.20220608查找主要业务代码public static Rectangle Find(Image sourceImage, Image matchImage, double threshold 0.8)
{var refMat Mat.FromImageData(ImageHelper.ImageToBytes(sourceImage), ImreadModes.AnyColor);//大图var tplMat Mat.FromImageData(ImageHelper.ImageToBytes(matchImage), ImreadModes.AnyColor);//小图using (Mat res new Mat(refMat.Rows - tplMat.Rows 1, refMat.Cols - tplMat.Cols 1, MatType.CV_32FC1)){Mat gref refMat.CvtColor(ColorConversionCodes.BGR2GRAY);Mat gtpl tplMat.CvtColor(ColorConversionCodes.BGR2GRAY);Cv2.MatchTemplate(gref, gtpl, res, TemplateMatchModes.CCoeffNormed);Cv2.Threshold(res, res, 0.8, 1.0, ThresholdTypes.Tozero);double minval, maxval;Point minloc, maxloc;Cv2.MinMaxLoc(res, out minval, out maxval, out minloc, out maxloc);if (maxval threshold){return new Rectangle(maxloc.X, maxloc.Y, tplMat.Width, tplMat.Height);}return Rectangle.Empty;}
}可以根据相似度来实现搜索其实如果直接屏幕截图的话相似度都是0.99还挺不错的。多图结果返回的话想研究的大佬可以研究研究。效果可以看到查找速度还是很快的当然第一次可能会稍微慢点近200毫秒了总结这个案例搞定就意味着往WEB 页面滑动图解锁验证 自动化又前进了一步后面想想如何做这个案例。代码地址https://github.com/kesshei/SearchImageDemo.githttps://gitee.com/kesshei/SearchImageDemo.git阅一键三连呦感谢大佬的支持您的支持就是我的动力!