opencv2 python3 imread с NoneType - PullRequest
       9

opencv2 python3 imread с NoneType

0 голосов
/ 05 сентября 2018

Я программирую в системе Ubuntu с python3, opencv2. В папке есть несколько изображений, которые необходимо обработать. Когда я использую imread, print(img.shape) показывает AttributeError: 'NoneType' object has no attribute 'shape'. И я проверил размер созданных изображений 0 байт. Странно то, что некоторые изображения могут быть успешно прочитаны, но некоторые являются NoneType. Спасибо за вашу помощь.

import glob as gb
import cv2
import random
import os
import numpy as np

shared_path="/home/train_1/"
folder_list=["HTC-1-M7"]

for j in range(len(folder_list)):
    output_path=os.path.join("/home/test/",folder_list[j])

    camera_path= os.path.join(shared_path,folder_list[j])


    img_path = gb.glob(camera_path+"/*.jpg")
    counter=1
    for path in img_path:
        img = cv2.imread(path)
        print(img.shape)
        kernel = np.array([[-1,2,-2,2,-1],[2,-6,8,-6,2],[-2,8,-12,8,-2],[2,-6,8,-6,2],[-1,2,-2,2,-1]],np.float32)/12
        img = cv2.filter2D(img,-1,kernel)

1 Ответ

0 голосов
/ 05 сентября 2018

Это означает, что где-то функция, которая должна вернуть изображение, только что вернула None и, следовательно, не имеет атрибута shape.

Попробуйте print(img), чтобы проверить, является ли ваше изображение None или фактическим объектом numpy. Вы, вероятно, получаете эту ошибку, потому что путь к вашему изображению может быть неправильным. Убедитесь, что ваш путь полностью правильный.

...