OpenCV之图像匹配

2024-10-14 04:13:05

1、首先加载两幅需要进行匹配的图像,注意匹配函数cvMatchShapes()需要传入的是二值图,所以一开始需要先将图像二值化。为了进行一个明显的对比,第一次加载两幅图像是一样的,只是大小不一样。//加载图像一 IplImage * src1 = cvLoadImage("..\\TestPictureData\\BI3-1_1.bmp",CV_LOAD_IMAGE_UNCHANGED); //加载图像二 IplImage * src2 = cvLoadImage("..\\TestPictureData\\BI3-1_1.bmp",CV_LOAD_IMAGE_UNCHANGED);

OpenCV之图像匹配

2、调用函数cvMatchShapes(src1,src2,1,0)进行两幅兔脒巛钒图像的匹配,参数1参数2是需要匹配的两幅图像,参数3是匹配的方法,这里有三种方法,不同的方法其内在的实现方式有一定的区别,推荐使用第一二种方法,第三种方法具有不稳定性,第四个参数按默认0即可。显示打印出结果,可以看出HU矩距离非常小为0.000265。//通过计算HU矩,进行比较两幅图像的相似性 double result; result = cvMatchShapes(src1,src2,1,0);//返回的是两个图像或轮廓之间hu矩的相似度 //输出结果 printf("result is %f \n",result); cvShowImage("1",src1); cvShowImage("2",src2);

OpenCV之图像匹配OpenCV之图像匹配
猜你喜欢