OpenCV多图像之目标识别

2025-10-23 00:33:55

1、加载目标图像,目标图像即其他图像与它匹配时的模板,注意目标图像和其他图像都应为二值图。

IplImage * src1 = cvLoadImage("..\\TestPictureData\\BI6-1.jpg",CV_LOAD_IMAGE_UNCHANGED);

OpenCV多图像之目标识别

2、加载其他待识别图像,这里通过数组存储加载的其他待识别图像,且这些图像的命名应具有一定的规律性,这里命名为BI9.jpg到BI20.jpg。

IplImage * pScr;

char filename[20];

char windowname[20];

for(int i=9;i<=20;i++)

    {

double result = 0.0;

double threshold = 0.001;

sprintf(filename,"..\\TestPictureData\\BI%d.jpg",i);

sprintf(windowname,"window%d.jpg",i);

pScr = cvLoadImage(filename,CV_LOAD_IMAGE_UNCHANGED);

result = cvMatchShapes(src1,pScr,1,0);

if(result < threshold)

{

cvShowImage("2",pScr);

printf("OpenCV图像匹配目标识别\n");

printf("\n");

printf("result is: %f \n",result);

printf("\n");

printf("道路指示线\n");

printf("\n");

}

}

OpenCV多图像之目标识别

3、运行打印出识别结果图,并释放图像内存空间,和释放显示窗口。

//输出结果

cvShowImage("1",src1);

cvShowImage("2",pScr);

cvWaitKey(0);

//释放图像内存空间

cvReleaseImage(&src1);

cvReleaseImage(&pScr);

OpenCV多图像之目标识别

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢