用python制作黑白文件夹

2024-06-28 19:37:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个JPEG的文件夹。它们都是RGB。我想用scikit图像把它们都转换成灰度。在

import glob
from skimage.color import rgb2gray
from skimage.io import imread, imsave
from skimage.filters import threshold_otsu
from skimage import img_as_uint
import os
from PIL import Image


list = os.chdir("C:/Users/Images/RGB")
for file in list:
    image1 = Image.open(file)
    image_converted = color.rgb2gray(image1)
    io.imsave("C:/Users/Images/Greyscale", image_converted)

我收到错误消息:

^{pr2}$

我做错什么了?在


Tags: fromioimageimportosrgbuserslist
2条回答

看起来您没有在文件所在的目录中运行脚本。在

使用Image.open(file)os.chdir"C:/Users/Images/RGB"的完整文件路径。在

请尝试以下代码:

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模块的文档中找到。在

相关问题 更多 >