【发布时间】:2016-09-19 20:49:54
【问题描述】:
我有 2 个位于同一位置的图像,它们都以类似的方式创建,并且都具有 7,221 x 119 像素的大小。
我想写一个这样的逻辑:
如果图像 1 中某个像素(称为 x)的 R,G,B 值 = 0,0,0(黑色)并且图像 2 中像素 x 的 R,G,B 值 = 0,0 ,0(黑色)然后将图像 1 中像素 x 的 R,G,B 值更改为 255,255,255(白色),否则不变。
如何在 Matlab 或 Python 中做到这一点?
【问题讨论】:
-
如果图像是 png 格式,pypng 应该提供您需要的所有功能。
-
只有一个像素?
-
到底是什么问题?使用一个好的界面,它给你像素(例如使用 scikit-image)让这变得微不足道!别的东西:jpg 是这个任务可以想象的最糟糕的输入格式。您可能需要重新制定逻辑/比较以使其更加健壮。由于这些是有损压缩的,因此颜色会发生变化(未保存为 RGB)。这(也许)使您的逻辑错误。 (例如:由您设计的图片 A 和 B;压缩为 jpg;执行您的操作,您会看到一些像素未被识别(均为 0),尽管事实上它们应该被识别;由于 jpg 压缩导致的信息丢失)