通过NuGet工具为工程添加OpenCvSharp3-AnyCPU:
先添加引用:using OpenCvSharp
;
static void Main(string[] args)
{
Mat src = new Mat("lenna.jpg", ImreadModes.Grayscale);//小写的scale,不然报错
Mat dst = new Mat();
Mat dst1 = new Mat();
Cv2.Canny(src, dst, 50, 200);
Cv2.Add(src, dst, dst1);
using (new Window("src image", src))
using (new Window("dst image", dst))
using (new Window("dst1 image", dst1))
{
Cv2.WaitKey();
}
}
测试成功之后进行函数理解和面向搜索引擎的编程
关于OpenCv的模板匹配函数matchTemplate,这些地方都讲得都比较清楚,但我第一天看,还没没看到在C#上实现的,所以只能一步步写,函数定义,模仿,解决报错。
友情链接:
static void Main(string[] args)
{
//模板图片
Mat temp = new Mat("temp.jpg",ImreadModes.AnyColor);
//被匹配图
Mat wafer = new Mat("wafer.jpg", ImreadModes.AnyColor);
//匹配结果
Mat result=new Mat();
//模板匹配
Cv2.MatchTemplate(wafer,temp,result,TemplateMatchModes.CCoeffNormed);//最好匹配为1,值越小匹配越差
//数组位置下x,y
Point minLoc =new Point(0,0);
Point maxLoc = new Point(0, 0);
Point matchLoc = new Point(0, 0);
Cv2.MinMaxLoc(result, out minLoc, out maxLoc);
matchLoc = maxLoc;
Mat mask = wafer.Clone();
//画框显示
Cv2.Rectangle(mask, matchLoc, new Point(matchLoc.X + temp.Cols, matchLoc.Y + temp.Rows),Scalar.Green, 2);
//新建窗体显示图片
using (new Window("temp image", temp))
using (new Window("wafer image", wafer
因篇幅问题不能全部显示,请点此查看更多更全内容