Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当角度不同时,如何检测其他图像中的模板图像?_C#_Image Processing_Emgucv - Fatal编程技术网

C# 当角度不同时,如何检测其他图像中的模板图像?

C# 当角度不同时,如何检测其他图像中的模板图像?,c#,image-processing,emgucv,C#,Image Processing,Emgucv,我是图像处理新手,一直在匹配不同角度的图像。 我正在尝试在捕获的相机图像中检测选定的模板图像。若模板和图像的角度完全相同,一切都会顺利进行。当两个图像角度不同时,图像匹配失败。 我使用EmguCV匹配了两张图像。 当角度不同时,我需要使用什么来匹配两个图像 这两个图像的角度相同 这是两个不同角度的图像 Image source=新图像(grayMain);//摄像机图像 图像模板=新图像(帧图像);//模板图像 Image lastImage=source.Copy(); 使用(图像结果=sou

我是图像处理新手,一直在匹配不同角度的图像。 我正在尝试在捕获的相机图像中检测选定的模板图像。若模板和图像的角度完全相同,一切都会顺利进行。当两个图像角度不同时,图像匹配失败。 我使用EmguCV匹配了两张图像。 当角度不同时,我需要使用什么来匹配两个图像

这两个图像的角度相同

这是两个不同角度的图像

Image source=新图像(grayMain);//摄像机图像
图像模板=新图像(帧图像);//模板图像
Image lastImage=source.Copy();
使用(图像结果=source.MatchTemplate(template,TemplateMatchingType.CcoeffNormed))
{
双[]最小值,最大值;
系统图点[]最小位置,最大位置;
结果.MinMax(out minVal,out maxVal,out minLocations,out maxLocations);
如果(最大值[0]>0.75)
{
矩形匹配=新矩形(maxLocations[0],template.Size);
lastImage.Draw(匹配,新Bgr(颜色.红色),3);
}
}
pictureBox.Image=lastImage.Bitmap;

我解决了相机图像中的serch矩形的问题,并使用一种更大的四边形变换对检测到的矩形进行裁剪。然后使用最后的图像(模板和裁剪图像)进行匹配

这是裁剪后的图像->

在交叉红色矩形并进行图像匹配后,生成此图像->


希望这有帮助。

图像URL不起作用。已更改新的。