我正在尝试导入和读取文件夹中的所有图像。但是,当我有5张以上的图像时,cv2.imread不会为第6张图像返回任何图像。我尝试使用不同的文件名,不同的文件等,但是无法正常工作。
find_elements_by_css_selector('*[id_str]')
我收到以下错误信息...(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
在循环的第6次迭代中的返回)
print(img[i]
如果我尝试这个,我也会遇到同样的问题
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
。对于除第5张图片以外的所有图片,都是如此。
答案 0 :(得分:0)
文件一定有问题。 dict
是无序的数据结构。不应总是在5th
迭代中给出错误。但是,我进行了更改,不会引发错误。但是您需要调试该图像
for i in range(0,len(x)):
print(i)
img[i] = cv2.imread(x[i], cv2.IMREAD_GRAYSCALE)
if img[i]:
indices[i] = np.where(img[i]<100)