OpenCV 读取不可见图像
OpenCV reads invisible image
我用 gimp 编辑了一个简单的 png 图像,但它使 t运行sparent 背景变黑。所以我尝试撤消它,但没有任何改变。然后我完全删除了所有像素(ctrl+A 和删除)——这使图像完全空白(白色)。但后来我用 OpenCV (python, ubuntu 16.04) 读了它,我仍然能看到那张旧照片!
这是我用来读取图像的简单代码。如您所见,它完全是空白的(白色)。
但是后来我运行代码,我仍然可以看到旧图片!
在这里你可以看到 - 它完全是空的。我用 Firefox、Gimp、默认 ubuntu 图片查看器、windows 照片查看器打开它——相同的空白图片。
所以我决定尝试一些东西,然后我在那张图片上用 Gimp 画了画:
我再次 运行 相同的代码:
撤消后问号图像恢复原状。我想 - 这可能是一些软件错误 - 我重新启动 - 同样。然后我把'nothing.png'复制到Win10。相同的代码 - 相同的结果。图片大小约为 449kB。这里是:
这到底是怎么回事?
GIMP 没有擦除 RGB 数据,它只是将 alpha 通道设置为 0。
这就够了...除非您忽略 alpha 通道。
OpenCV 忽略 alpha 通道...它只是另一个通道,一点也不特别。 OpenCV 可以读取和写入 RGBA 数据,您可以像使用任何其他通道一样使用 alpha 通道。只是 imshow
的显示会忽略 alpha 通道并显示 RGB 数据。
我用 gimp 编辑了一个简单的 png 图像,但它使 t运行sparent 背景变黑。所以我尝试撤消它,但没有任何改变。然后我完全删除了所有像素(ctrl+A 和删除)——这使图像完全空白(白色)。但后来我用 OpenCV (python, ubuntu 16.04) 读了它,我仍然能看到那张旧照片!
这是我用来读取图像的简单代码。如您所见,它完全是空白的(白色)。
但是后来我运行代码,我仍然可以看到旧图片!
在这里你可以看到 - 它完全是空的。我用 Firefox、Gimp、默认 ubuntu 图片查看器、windows 照片查看器打开它——相同的空白图片。
所以我决定尝试一些东西,然后我在那张图片上用 Gimp 画了画:
撤消后问号图像恢复原状。我想 - 这可能是一些软件错误 - 我重新启动 - 同样。然后我把'nothing.png'复制到Win10。相同的代码 - 相同的结果。图片大小约为 449kB。这里是:
这到底是怎么回事?
GIMP 没有擦除 RGB 数据,它只是将 alpha 通道设置为 0。
这就够了...除非您忽略 alpha 通道。
OpenCV 忽略 alpha 通道...它只是另一个通道,一点也不特别。 OpenCV 可以读取和写入 RGBA 数据,您可以像使用任何其他通道一样使用 alpha 通道。只是 imshow
的显示会忽略 alpha 通道并显示 RGB 数据。