Ich versuche, verschiedene Bilddateien in einem Verzeichnis zu durchlaufen. Ich verwende Jupyter, um auch meinen Python-Code auszuführen. Allerdings bekomme ich diesen Fehler immer wieder. Unten ist mein Code und der Fehler, den ich erhalte.JPG-Dateien in einem Verzeichnis lesen?
Code:
import os
import os.path
for img in os.listdir('test_images'):
if img.endswith("jpg"):
scriptpath = os.path.dirname(img)
print(os.path.join('test_images', img))
# Read in the image
image = os.path.join(scriptpath, img)
image = mpimg.imread(image)
# Grab the x and y size and make a copy of the image
ysize = image.shape[0]
xsize = image.shape[1]
color_select = np.copy(image)
# Define color selection criteria
red_threshold = 200
green_threshold = 200
blue_threshold = 200
rgb_threshold = [red_threshold, green_threshold, blue_threshold]
# Do a boolean or with the "|" character to identify
# pixels below the thresholds
thresholds = (image[:,:,0] < rgb_threshold[0]) \
| (image[:,:,1] < rgb_threshold[1]) \
| (image[:,:,2] < rgb_threshold[2])
color_select[thresholds] = [red_threshold,green_threshold,blue_threshold]
plt.imshow(color_select)
# Display the image
plt.imshow(color_select)
continue
else:
continue
OUTPUT:
test_images/solidWhiteCurve.jpg
ERROR:
FileNotFoundError Traceback (most recent call last)
<ipython-input-3-6edf7c0860b7> in <module>()
7 # Read in the image
8 image = os.path.join(scriptpath, img)
----> 9 image = mpimg.imread(image)
10 # Grab the x and y size and make a copy of the image
11 ysize = image.shape[0]
/Users/steveburgos/anaconda/envs/carnd-term1/lib/python3.5/site-packages/matplotlib/image.py in imread(fname, format)
1225
1226 if ext not in handlers:
-> 1227 im = pilread(fname)
1228 if im is None:
1229 raise ValueError('Only know how to handle extensions: %s; '
/Users/steveburgos/anaconda/envs/carnd-term1/lib/python3.5/site-packages/matplotlib/image.py in pilread(fname)
1203 except ImportError:
1204 return None
-> 1205 with Image.open(fname) as image:
1206 return pil_to_array(image)
1207
/Users/steveburgos/anaconda/envs/carnd-term1/lib/python3.5/site-packages/PIL/Image.py in open(fp, mode)
2310
2311 if filename:
-> 2312 fp = builtins.open(filename, "rb")
2313
2314 try:
FileNotFoundError: [Errno 2] No such file or directory: 'solidWhiteCurve.jpg'
'scriptpath' wird immer eine leere Zeichenfolge sein, da' os.listdir' blanke Dateinamen zurückgibt. Versuchen Sie, 'os.path.join (scriptpath, img)' (den Pfad, den Sie öffnen) anstelle von 'os.path.join ('test_images', img)' zu drucken. – unutbu
@unutbu Du bist großartig! Das hat perfekt funktioniert! Ich danke dir sehr! –
Ich würde vorschlagen, ['glob.glob'] (https://docs.python.org/3/library/glob.html#glob.glob) mit einem Argument _pathname_ zu verwenden, das mit' * .jpg' endet. – martineau