如何cv2.imread一个zip文件中的图像?

问题描述

我正在尝试使用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()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...