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
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)
  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值