如何检查圣诞树图像是否已编辑

2024-10-05 10:38:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我们三个朋友之间开始了一个有趣的比赛谁会找到最好的方法来检查图像圣诞树玩具是编辑还是不编辑。在

我决定更独特,经过长时间的搜索,我选择了Error Level Analysis。这种方法将显示编辑过的地方更明亮,人眼更容易识别异常,但要通过编程方式识别它,我有一个任务:)

我决定使用Python和OpenCV,我对它很陌生,但我认为它可以实现我的目标。在

我仍然不确定在错误级别分析之后,用什么方法来发现图像中的异常。我的观点是在图像中找到最亮的物体的最简单的方法,但实际上我发现它并不适用于所有情况,有时它会在原始的、未编辑的图像中找到其他更亮的区域,或者找到最亮的区域,并返回图像被编辑。在

在大多数情况下,图像中的物体经过编辑后会变得更加明亮,但在某些情况下,它会变得只是特定的颜色,噪声更大,更容易被人眼识别。在

我有什么想法:

  1. 首先,我需要找到圣诞树玩具作为图像中最大的,主要的对象,我正在考虑添加阈值,找到最大的白色对象,希望它将是我的圣诞树玩具。在
  2. 1.1)将图像转换为像素块,使用公式(.299 * red) + (.587 * green) + (.114 * blue)计算每个块的亮度平均值,选择最亮的块并检查它们是否在我的圣诞玩具区。如果他们是返回圣诞树玩具编辑。在
  3. 1.2)用同样的公式计算整个图像像素亮度平均值,计算圣诞树玩具区域像素亮度平均值。如果编辑返回图像时玩具区域更亮,则比较整个图像的亮度和圣诞树的亮度。在

但我真的很担心这种方法不会像我期望的那样奏效。在某些情况下,整个图像亮度或其他图像区域可能比编辑区域更亮。我没有任何专家帮助我欣赏的想法。在

原始图像(玩具角度可以多种多样,但它始终是图像中最大的对象):

enter image description here

错误级别分析后的原始图像:

enter image description here

第一次编辑的图像(更改了颜色,添加了一些噪声):

enter image description here

错误级别分析后的首次编辑图像:

enter image description here

第二次编辑图像(改变颜色,添加一些高斯模糊和文字“圣诞快乐!”)公司名称:

enter image description here

错误级别分析后的第二次编辑图像:

enter image description here


Tags: 对象方法图像区域编辑颜色错误情况

热门问题