libpng 警告:不正确的 sBIT 块长度
libpng warning: Incorrect sBIT chunk length
尝试在 OpenCV2 中使用 python 2.7.
显示图像时,标题中提到的警告不断出现
如何消除这种警告?
通过 pngcheck
尝试 运行 您的图像,看看它是否已损坏,或者有什么问题。然后修复你从哪里得到的源。
sBIT指的是有效位。 chunk 用于传达与特定图像相关的信息。
在您的情况下,主要是您使用的图像的深度存在问题。 sBIT 会针对每种类型的图像进行更改。我所说的图像类型是指:灰度、RGB、带 alpha 的灰度等。
访问 THIS PAGE 并向下滚动到 sBIT 有效位 部分以了解更多信息。
您可以使用 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 块,因此无论它是否有效,它都会被删除。
尝试在 OpenCV2 中使用 python 2.7.
显示图像时,标题中提到的警告不断出现如何消除这种警告?
通过 pngcheck
尝试 运行 您的图像,看看它是否已损坏,或者有什么问题。然后修复你从哪里得到的源。
sBIT指的是有效位。 chunk 用于传达与特定图像相关的信息。
在您的情况下,主要是您使用的图像的深度存在问题。 sBIT 会针对每种类型的图像进行更改。我所说的图像类型是指:灰度、RGB、带 alpha 的灰度等。
访问 THIS PAGE 并向下滚动到 sBIT 有效位 部分以了解更多信息。
您可以使用 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 块,因此无论它是否有效,它都会被删除。