python下面用OpenCV, cv 报错libpng error: Read Error

在深度学习训练的时候经常需要读取图片。但是有的图片尤其是png.(虽然后缀是jpg)格式的图片会出现,无法转换为np.array.
一旦你用如下方法会报错

>>> import cv2
>>> cv2.imread("4.jpg")
libpng error: Read Error

因此这种的根本原因是解决格式的问题:

import cv2, random
import os
import numpy as np
from PIL import Image
from PIL import ImageFile
import imghdr

ImageFile.LOAD_TRUNCATED_IMAGES = True
if imghdr.what(name) == "png":
    Image.open(name).convert("RGB").save(name)
img = cv2.imread(name)
img = np.array(Image.open(name))

猜你喜欢

转载自blog.csdn.net/cq361106306/article/details/53292712