Я использую scikit-image для загрузки случайного изображения из папки. OpenCV будет использоваться для операций позже ..

Код выглядит следующим образом (включены только соответствующие части)

import imageio
import cv2 as cv
import fileinput
from collections import Counter

from data.apple_dataset import AppleDataset
from torchvision.models.detection.faster_rcnn import FastRCNNPredictor
from torchvision.models.detection.mask_rcnn import MaskRCNNPredictor
from torchvision.transforms import functional as F

import utility.utils as utils
import utility.transforms as T

from PIL import Image
import skimage.io
from skimage.viewer import ImageViewer
from matplotlib import pyplot as plt
%matplotlib inline

 APPLE_IMAGE_PATH = r"__mypath__\samples\apples\images"

# Load a random image from the images folder
FILE_NAMES = next(os.walk(APPLE_IMAGE_PATH))[2]
random_apple_in_folder = os.path.join(APPLE_IMAGE_PATH, random.choice(FILE_NAMES))
apple_image = skimage.io.imread(random_apple_in_folder)
apple_image_cv = cv.imread(random_apple_in_folder)
apple_image_cv = cv.cvtColor(apple_image_cv, cv.COLOR_BGR2RGB)

Ошибка выглядит следующим образом

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-3-9575eed18f18> in <module>
     11 FILE_NAMES = next(os.walk(APPLE_IMAGE_PATH))[2]
     12 random_apple_in_folder = os.path.join(APPLE_IMAGE_PATH, random.choice(FILE_NAMES))
---> 13 apple_image = skimage.io.imread(random_apple_in_folder)
     14 apple_image_cv = cv.imread(random_apple_in_folder)

    AttributeError: 'PngImageFile' object has no attribute '_PngImageFile__frame'

Что мне делать дальше? Что мне поменять ???

0
cobalt 15 Апр 2020 в 06:44

1 ответ

Лучший ответ

Это ошибка в Pillow 7.1.0. Вы можете обновить подушку с помощью pip install -U pillow. См. Этот отчет об ошибке для получения дополнительной информации:

https://github.com/scikit-image/scikit-image/issues/4548

1
Juan 15 Апр 2020 в 12:15