Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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#_Opencv_Image Processing_Emgucv - Fatal编程技术网

C# 两幅图像之间的差异

C# 两幅图像之间的差异,c#,opencv,image-processing,emgucv,C#,Opencv,Image Processing,Emgucv,使用图像作为参考,我想找到图像底部的脏点 我能够将第二张图像转换为相同的比例和方向,现在我尝试使用,但由于图像不是完全匹配的,所以我在图像上有边缘 我在想,我需要在像n×n像素这样的区域中找到最小的差异,而不是具有相同坐标的像素之间的差异。因此,问题是:OpenCV是否为此构建了一些东西,或者是否有更好的解决方案 编辑:使用和的解决方案: 公共静态图像DiffImage image1, 图2, int=2 { 返回Diffimage1、image2、新Bgr50、50、50、50; } 公共静态

使用图像作为参考,我想找到图像底部的脏点

我能够将第二张图像转换为相同的比例和方向,现在我尝试使用,但由于图像不是完全匹配的,所以我在图像上有边缘

我在想,我需要在像n×n像素这样的区域中找到最小的差异,而不是具有相同坐标的像素之间的差异。因此,问题是:OpenCV是否为此构建了一些东西,或者是否有更好的解决方案

编辑:使用和的解决方案:

公共静态图像DiffImage image1, 图2, int=2 { 返回Diffimage1、image2、新Bgr50、50、50、50; } 公共静态图像DiffImage image1, 图2, Bgr阈值颜色, 整数迭代 { var diff=image1.AbsDiffimage2; diff=diff.ThresholdToZerothresholdColor; diff=不同的迭代次数; 返回差; }
不确定OpenCV,但解决这个问题应该不难。将两个图像对齐,然后找到差异图像,就像您已经做的那样。在差异图像上使用NxN滑动窗口,并计算窗口内显著不同的像素数,即忽略多达10个灰度级的差异。找到整个图像中这些总和的最大值,这应该突出显示您需要的内容。

不确定OpenCV,但解决这个问题应该不难。将两个图像对齐,然后找到差异图像,就像您已经做的那样。在差异图像上使用NxN滑动窗口,并计算窗口内显著不同的像素数,即忽略多达10个灰度级的差异。找出整个图像上这些和的最大值,这将突出显示您需要的内容。

您可以创建一个相似性图,其中每个像素将被分配在聚焦于每个像素的n×b区域上计算的直方图比较值。

您可以创建一个相似性图,其中每个像素将被分配在n×b区域上计算的直方图比较值聚焦在每个像素上。

是否有内置的功能?是否有内置的功能?问题是,图像可能永远不会完美对齐,因为用于透视变换的单应矩阵中总是存在一些错误。没错,但有小的错位,对于图像应该匹配的区域,应该只在差异图像中获取边缘。在有可见噪声的地方,你会在差分图像中看到一整块高强度的区域。在您的代码中,您正在查找区域中的最小差异。我建议您更改此项以计算显著不同像素的数量,然后找到最大值。>建议您更改此项以计算显著不同像素的数量,然后找到基本上在absdiff上侵蚀的最大值。工作得很好。谢谢问题是,图像可能永远不会完全对齐,因为用于透视变换的单应矩阵中总是存在一些错误。是的,但对于较小的未对齐,您应该只在差异图像中获取图像应该匹配的区域的边缘。在有可见噪声的地方,你会在差分图像中看到一整块高强度的区域。在您的代码中,您正在查找区域中的最小差异。我建议您更改此项以计算显著不同像素的数量,然后找到最大值。>建议您更改此项以计算显著不同像素的数量,然后找到基本上在absdiff上侵蚀的最大值。工作得很好。谢谢