
遇到了这么一个警告,libpng warning: iCCP: known incorrect sRGB profile。从电脑上看图片没问题,但是如果用opencv去读取的话,就会出现这个警告。
问题原因
原因就是这个因为libpng 1.6及以上版本增强了ICC profiles检查,所以发出警告。可以忽略该警告,不影响使用。但要摆脱它,请从 PNG 图像中删除 iCCP profiles。一些应用程序将警告视为错误;如果您正在使用这样的应用程序,则必须删除该块。
解决方法
原本由opencv读取的图片通过其他的方法来读取,再将读取到的数据交给opencv去处理,这样就避免了该问题的发生,而读取的的方法是使用 PIL。
//Python安装pillow的方法
#pip3 install pillow
---------------------
from PIL import Image
# 使用pil读入一张图片 就不会出现那个"libpng warning: iCCP: known incorrect sRGB profile"
pilimg = Image.open(img_path)
#将pil图片转为 openvc图片
img = cv2.cvtColor(np.array(pilimg),cv2.COLOR_RGB2BGR)
#最后发现是没用的🤣