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
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"datasets/covid/CT_NonCOVID/"
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)

你可能感兴趣的:(环境配置,opencv,计算机视觉,深度学习)