image - 如何找到错误图像?

标签 image image-processing

我在图像处理方面遇到了问题,但我不知道如何解决。

我有2张图片:
- 图1:http://goo.gl/BBxVl
- 图2:http://goo.gl/X0VFW

图片 2 实际上表达了图片 1,但它被对象覆盖了。我正在使用 matlab 代码编写一个程序来定义:如果图片是完成的(完美的),我将“显示”它。但是如果图片有任何错误,程序会为用户显示公告板。

直到这个时候,我仍然无法解决它,因为我不知道从哪里开始;我对覆盖图片的物体的形状和颜色也没有任何定义。

最佳答案

我的想法也始于两个图像之间的绝对差异。这里的问题是,由于压缩和某些文件格式(如 jpg)的内部工作,您可能会得到很多根本没有修改的区域。例如,这里有两个示例图像和它们之间的二进制差异以突出显示每个修改点,尽管我只是手动修改了可见矩形。在非二进制差异中,您几乎不会注意到所有这些点,但它们确实存在。阈值解决了这里的问题,我使用了值 20:

enter image description here enter image description here enter image description here enter image description here

现在,为了确定哪张图像是“好”的,我使用了一种修复算法(你可以在 http://www.cc.gatech.edu/~sooraj/inpainting/ 找到一个这样的实现)。这样做的原因是,如果最终的修复图像不包含人工补丁,则它更有可能与修复前的图像相似。因此,“坏”图像是修复过程后差异较大的图像。为此,您再次计算两种情况下修复图像和原始图像之间的绝对差异。然后在绝对差 > 0 的区域中使用一些度量。在此示例中,灰度强度的虚拟总和为没有矩形的图像提供 424454,为另一个提供 758366。

这是用于修复的蒙版图像,修复的“好”图像,修复的“坏”图像以及各自的灰度绝对差异:

enter image description here enter image description here enter image description here enter image description here enter image description here

关于image - 如何找到错误图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13602499/

相关文章:

image - bwareafilt 在 MATLAB 中的奇怪行为及其使用的算法是什么?

Java,如何从x,y坐标列表中制作PNG

headless (headless)模式下的Android屏幕截图很难看

php - 从 PHP 写入图像文件时出错

php - 使用android和post方法将图像文件和字符串上传到php后端

Python OpenCV 转换平面 YUV 4 :2:0 image to RGB -- YUV array format

c++ - 将视频文件插入vector时vector内存不足?

javascript - 将图像保存到硬盘

javascript - Base64 图像未显示在图像中

cocoa - 在 cocoa 中显示图像