opencv读取图片时报错libpng error的解决方法

最近遇到了在使用opencv读取图片的时候报错报错libpng error: Read Error

然后我将图片下载下来,直接双击打开发现该图片已经损坏,那么我尝试在我的代码中添加try...except进行异常的捕获,发现try...except不能捕获该错误

import cv2
try:
    x = cv2.imread("16594318572323.png", -1)
    print(x)
except Exception as e:
    print(e)

那么于是百度了下找找看有没有相关的,找到了一个这样的解法

from PIL import Image

try:
    Image.open("16594318572323.png").convert("RGB").save("t.png")
    img = cv2.imread("t.png")
    print(img)
except Exception as e:
    print(e)

这是使用pillow模块将图片另存了下,这样转行以后再使用imread读取图片就没有报错了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/871.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。