Попробуйте этот код:
from skimage import io, color
import os
import imghdr
source = r'C:\Users\Images\RGB'
destination = r'C:\Users\Images\Greyscale'
image_files = [os.path.join(root, filename)
for root, dirs, files in os.walk(source)
for filename in files
if imghdr.what(os.path.join(root, filename))]
for fn in image_files:
rgb = io.imread(fn)
grey = color.rgb2gray(rgb)
head, tail = os.path.split(fn)
io.imsave(os.path.join(destination, tail), grey)
Обратите внимание, что image_files
- это список, содержащий полный путь ко всем файлам изображений, найденным в source
и его подкаталогах (рекурсивно).Полный список обнаруженных типов изображений можно найти в документации к модулю imghdr .