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

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

目录

  • libpng warning: iCCP: known incorrect sRGB profile 警告,问题解决
    • 问题现象
    • 问题原因
    • 解决方法
      • 针对单张图片(使用 skimage)
      • 针对这个文件夹的全部图片(这个文件夹只有图片)
    • 结束语

问题现象

遇到了这么一个警告,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
#import os
path = r"你的路径" #path后面记得加 /
#西瓜6的代码
fileList = os.listdir(path)
for i in tqdm(fileList):
    image = io.imread(path+i)  # image = io.imread(os.path.join(path, i))
    image = cv2.cvtColor(image, cv2.COLOR_RGBA2BGRA)
    cv2.imencode('.png',image)[1].tofile(path+i)

结束语

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

你可能感兴趣的:(python,opencv,python,opencv,bug)