使用OpenCV精确比较两幅图像的差异

使用OpenCV精确比较两幅图像的差异,opencv,Opencv,我正在进行一个项目,通过网络摄像头在预定义的时间间隔内捕获图像,并不断将图像与模板(良好图像)进行比较,如果差异>容差设置,则给出一个错误 我使用OpenCV进行锻炼。想知道我应该如何做的建议,例如最佳方法等 如果有人能在这方面帮助我,我将不胜感激。谢谢。一个简单的方法是在图像对之间取L2范数: double l2_norm = cvNorm( img1, img2 ); 您必须尝试设置适当的阈值。当然,这种方法对光线变化、视点变化等不太可靠,但它简单而快速。您好,我利用通过鼠标拖动选择的RO

我正在进行一个项目,通过网络摄像头在预定义的时间间隔内捕获图像,并不断将图像与模板(良好图像)进行比较,如果差异>容差设置,则给出一个错误

我使用OpenCV进行锻炼。想知道我应该如何做的建议,例如最佳方法等


如果有人能在这方面帮助我,我将不胜感激。谢谢。

一个简单的方法是在图像对之间取L2范数:

double l2_norm = cvNorm( img1, img2 );

您必须尝试设置适当的阈值。当然,这种方法对光线变化、视点变化等不太可靠,但它简单而快速。

您好,我利用通过鼠标拖动选择的ROI作为模板来匹配连续运行的视频帧,成功地启动了我的项目。我想问一下,如何输出模板匹配结果,例如,如果找到模板-->function(),如果找不到模板-->functionB()。如果有人能在这件事上启发我,我将不胜感激。提前谢谢!您需要使用cvMatchTemplate()将模板与图像进行比较,然后在结果图像中查找最小或最大位置和值(取决于是否基于mse或相关性进行匹配)。您需要为此值设置一个阈值,以确定下一步的算法补丁。