读取图片时出现libpng warning: iCCP: known incorrect sRGB profile警告
有时候不影响使用,所以可以直接忽略,但是今天在处理数据时,使用了shutil 的copy,copy了报错的图片,复制出来的图片无法在界面中打开,也无法使用cv2去读取了。
这种情况下,在网上找了一下,都是说重新读取后再写即可,但是当前图片已经无法读取了,于是只能读取原始图片,即会发出警报的图片。
image = cv2.imread(source)
cv2.imwrite(dir, image, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])
保存时也出现了一个小插曲,由于这批图片是用来做label的,像素级别的标签,如果没有加上[int(cv2.IMWRITE_PNG_COMPRESSION), 0]
保存下来的图片经过压缩后,像素值可能会变成连续的,如下图
第二个参数可以是0-9,9为压缩力度最大,默认为3,默认值时,对像素值有影响。