问题描述
我正在尝试使用OpenCV2来读取带有cv2.imread
的zip文件的图像,然后调整它们的大小并保存它们,但是我不知道如何读取zipfile中的那些图像。到目前为止,这是我的代码:-
import cv2
from zipfile import ZipFile
with ZipFile("sample_images.zip","r") as zipFile:
imgs = zipFile.namelist()
img = zipFile.open(imgs[0])
processedImg = cv2.imread(img)
这是我得到的错误:-
Traceback (most recent call last):
File "C:/Users/Yash/Desktop/Programming/opencv test/test.py",line 8,in <module>
processedImg = cv2.imread(img)
SystemError: <built-in function imread> returned NULL without setting an error
请提出解决此问题的方法。 预先感谢!
解决方法
尝试一下
from io import BytesIO
from zipfile import ZipFile
from PIL import Image
with ZipFile("sample_images.zip","r") as zipFile:
imgs = zipFile.namelist()
print(imgs[0])
img = zipFile.read(imgs[0])
processedImg = Image.open(BytesIO(img))
processedImg.show()