标题中提到的警告在尝试使用python 2.7在OpenCV2中显示图像时不断出现。
如何摆脱这种警告?
答案 0 :(得分:2)
您可以使用pngcrush删除sBIT块:
pngcrush -rem sbit source.png fixed.png
事实上你甚至不需要说-rem sbit
,因为pngcrush会检测到sBIT块无效的事实,并会为你静默删除它。
你也可以试试ImageMagick或GraphicsMagick
magick source.png fixed.png
gm convert source.png fixed.png
我相信ImageMagick和GraphicMagick都不支持编写sBIT块,因此无论它是否有效都会被删除。
答案 1 :(得分:1)
尝试通过pngcheck
运行您的图片,看看它是否已损坏,或者它有什么问题。然后在任何地方修复源。
答案 2 :(得分:1)
sBIT 是指 重要位 。 块用于传达与特定图像相关的信息。
在您的情况下,您使用的图像深度主要存在问题。 sBIT 会针对每种类型的图片进行更改。按图像类型我的意思是:灰度,RGB,带alpha的灰度等。
访问THIS PAGE并向下滚动到 sBIT重要位部分以了解详情。