对文件夹中的所有图片应用效果(python)

对文件夹中的所有图片应用效果(python),python,matplotlib,Python,Matplotlib,我有一个简单的代码,适用于我的一张图片的效果: from matplotlib import pyplot as plt import os import cv2 path_in=os.path.join("C:/Users/Desktop/Images","glass.jpg") img = cv2.imread(path_in, cv2.IMREAD_COLOR) img=cv2.cvtColor(img, cv2.COLOR_BGR2RGB) p

我有一个简单的代码,适用于我的一张图片的效果:

from matplotlib import pyplot as plt
import os
import cv2

path_in=os.path.join("C:/Users/Desktop/Images","glass.jpg")
img = cv2.imread(path_in, cv2.IMREAD_COLOR)
img=cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

plt.imshow(img)
plt.show()
但问题是,我想将其应用于我文件夹中的所有图像,但我不知道它们的名称

所以我知道我需要用文件夹中的图像列表创建循环,但我已经尝试过了,但没有成功

path_in=os.path.join("C:/Users/Desktop/Images")
list = os.listdir(path_in)
for img in list:
    img = cv2.imread(path_in, cv2.IMREAD_COLOR)
    img=cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
io.imsave("C:/Users/Desktop/Images_new", image_converted)
plt.imshow(img)
plt.show()

如果有人能告诉我,我做错了什么,我会非常高兴。谢谢你

你已经走上了正确的道路。您的代码中只有几个小问题:

首先,在循环中定义路径_,并将文件夹路径与图像名称连接起来。其次,永远不要使用python语言中的关键字作为变量名。名称列表是一个python关键字

我不知道函数imsave、imshow和show的详细信息,所以我不确定它们是否应该在循环中。我猜,但你可能需要测试一下。此外,对于imsave,可能需要为每个图像设置路径。在这种情况下,您可以像io.imsaveC:/Users/Desktop/Images\u new/{}.formatimg,image\u converted那样进行操作

没有100%的保证它可以正常工作。如果有错误,请告诉我

path_folder = "C:/Users/Desktop/Images" 
img_list = os.listdir(path_in) 
for img in img_list: 
    path_in=os.path.join("C:/Users/Desktop/Images",img)
    path_out = os.path.join("C:/Users/Desktop/Images_new", img) 
    img = cv2.imread(path_in, cv2.IMREAD_COLOR) 
    image_converted = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 
    io.imsave(path_out, image_converted, format = 'jpg') 
    plt.imshow(image_converted) 
    plt.show()
path_folder = "C:/Users/Desktop/Images" 
img_list = os.listdir(path_in) 
for img in img_list: 
    path_in=os.path.join("C:/Users/Desktop/Images",img)
    path_out = os.path.join("C:/Users/Desktop/Images_new", img) 
    img = cv2.imread(path_in, cv2.IMREAD_COLOR) 
    image_converted = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 
    io.imsave(path_out, image_converted, format = 'jpg') 
    plt.imshow(image_converted) 
    plt.show()