如何分离两个图像不常见的彩色像素?

时间:2015-07-05 19:24:10

标签: opencv image-processing image-comparison

这就是我想做的事情:

我有一张稻叶的图像。我有另一张稻叶的图像,叶子上有棕色斑点。我想要做的是使用opencv分离两个图像不常见的颜色像素。(斑点的颜色可以变化)

我尝试使用直方图交集来做到这一点。但只设法找到两个图像之间常见的像素数。

有没有办法用opencv做到这一点?请帮助我。

1 个答案:

答案 0 :(得分:0)

如果2张图片完美匹配

  • 如果匹配使用RhinoDevel方法:
  • 循环浏览第一张图片的所有像素
  • 并将每个像素与来自第二图像的对应像素进行比较
  • 如果差异高于阈值
  • 您发现不匹配Pixel并执行您需要执行的操作
  • 喜欢将像素添加到某些输出贴图或从第一张图像或其他任何
  • 重新着色(棕色)像素

如果2张图片不匹配

  • 因此您只获得了一些参考叶图像,处理后的图像可以有任何位置/旋转倾斜
  • 为每张图片创建颜色列表
  • 按颜色升序排序
  • 交叉比较展位列表
  • 如果任何颜色在list2中但不在list1
  • 然后从image2
  • 中重新着色/复制包含此类颜色的所有像素
  • 此方法较慢O(xs*ys*n)
  • xs,ys是图片2分辨率,n是非常见颜色的数量

<强> [注释]

  • RGB通常很好,但可能会有更好的HSV色彩空间结果
  • 在HSV中,您可以比较所有3个参数,或者只是忽略其中一些参数,例如忽略V value...