libpng warning: iCCP: known incorrect sRGB profile 警告,问题解决

libpng warning: iCCP: known incorrect sRGB profile 警告,问题解决

问题现象

遇到了这么一个警告,libpng warning: iCCP: known incorrect sRGB profile。从电脑上看图片没问题,但是如果用opencv去读取的话,就会出现这个警告。

问题原因

原因就是这个因为libpng 1.6,太敏感了,1.6及以上版本增强了ICC profiles检查,所以发出警告。
libpng 警告:iCCP:已知不正确的 sRGB 配置文件
您可以忽略该警告。要摆脱它,请从 PNG 图像中删除 iCCP profiles。一些应用程序将警告视为错误;如果您正在使用这样的应用程序,则必须删除该块。

解决方法

通过别的方法读取再保存下就行了。
而读取的的方法是使用 skimage。

针对单张图片(使用 skimage)

记得改path

import cv2
from skimage import io
#西瓜6的代码
image = io.imread(path)
image = cv2.cvtColor(image, cv2.COLOR_RGBA2BGRA)
cv2.imencode('.png',image)[1].tofile(path)

针对这个文件夹的全部图片(这个文件夹只有图片)

记得改path

import os
from tqdm import tqdm
import cv2
from skimage import io
path = r"你的路径"
#西瓜6的代码
fileList = os.listdir(path)
for i in tqdm(fileList):
    image = io.imread(path+i)
    image = cv2.cvtColor(image, cv2.COLOR_RGBA2BGRA)
    cv2.imencode('.png',image)[1].tofile(path+i)

结束语

有帮助就点个赞和关注咯。感谢各位。
西瓜6的啦啦啦

Guess you like

Origin blog.csdn.net/qq_37924224/article/details/119181028