Я пытаюсь импортировать и читать все изображения в папке. Однако, когда у меня более 5 изображений, cv2.imread не возвращает ничего для 6-го изображения. Я пробовал использовать разные имена файлов, разные файлы и т. д., но не могу заставить его работать.
import cv2
import numpy as np
import matplotlib.pyplot as plt
from tkinter import filedialog
import os
from mpl_toolkits.mplot3d import Axes3D
global scan_dir
scan_dir = filedialog.askdirectory()
print(scan_dir)
x=os.listdir(scan_dir)
img={}
print(x)
for i in range(0,len(x)):
print(i)
img[i] = cv2.imread(x[i], cv2.IMREAD_GRAYSCALE)
indices[i] = np.where(img[i]<100)
Я получаю следующую ошибку... (None
- это возврат print(img[i]
на 6-й итерации цикла)
None
Traceback (most recent call last):
File "C:\CodeRepository\US-3D\GettingCloser.py", line 55, in <module>
indices[i] = np.where(img[i]<100)
TypeError: '<' not supported between instances of 'NoneType' and 'int'
У меня такая же проблема, если я попробую это
global scan_dir
scan_dir = filedialog.askdirectory()
print(scan_dir)
x=os.listdir(scan_dir)
img = cv2.imread(x[5], cv2.IMREAD_GRAYSCALE)
Он вернет, что img
равно None
. Это верно для всего, кроме 5-го изображения.
print(x)
? - person HSK   schedule 04.12.2018'5.tif'
дает значениеNone
? Если это так, попробуйте прочитать это отдельно или удалить этот файл из `list. Мы должны прийти к выводу, есть ли проблема в коде или изображении. Затем мы движемся к ее решению. - person Hayat   schedule 04.12.2018None
. Кажется, что все, кроме 1, 2, 3, 4, 5, поскольку имя файла возвращаетNone
- person tbonts   schedule 04.12.2018