赞
踩
在做图像处理任务或者是AI项目的时候,往往需要遍历某一目录下的所有图片,然后对读取到的图片进行单次处理,返回结果。
自己编写的实现代码如下:
- 导入必要的库文件
- import cv2
- import os
- # 设定开始标志
- x = 0
- # 循环中的路径可以根据自己实际图片的路径改写
- for root, dirs, files in os.walk('C:/Course/images'):
- for d in dirs:
- print('文件夹的个数:',d) #打印子资料夹的个数
- for file in files:
- print('当前处理的图像为:',file)
- #讀入圖像
- img_path = root+'/'+file
- img = cv2.imread(img_path,1)
- print(img_path,img.shape)
-
- #圖像處理~~~~~~~~~
- '''
- 在这里可以完成自己想要实现的图像处理各种功能
- '''
-
- #保存圖像
- x = x+1
- img_saving_path = img_path.replace('.png',str(x)+'.png')
- print(img_saving_path)
- cv2.imwrite(img_saving_path,img)
为了便于后期调用,对代码进行了优化,将功能部分封装成了函数,便于后期直接调用。
- import cv2
- import os
-
- def read_images_from_folder(folder):
- for filename in os.listdir(folder):
- if filename.endswith(".jpg") or filename.endswith(".png"):
- img = cv2.imread(os.path.join(folder, filename))
- if img is not None:
- # 在这里可以对图片进行处理,例如显示、保存等
- cv2.imshow('Image', img)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
-
- # 指定图片所在的文件夹路径
- folder_path = "path/to/folder"
-
- # 调用函数读取文件夹下的所有图片
- read_images_from_folder(folder_path)
在这个示例代码中,read_images_from_folder()
函数用于读取指定文件夹下的所有图片文件。它遍历指定文件夹中的所有文件,如果文件的扩展名是".jpg"或".png",就使用OpenCV的imread()
函数读取图片。然后可以对读取到的图片进行处理,例如显示、保存等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。