当前位置:   article > 正文

opencv-python读取路径下的所有文件夹和图片_cv2怎么读取整个文件夹的图片

cv2怎么读取整个文件夹的图片

背景说明

        在做图像处理任务或者是AI项目的时候,往往需要遍历某一目录下的所有图片,然后对读取到的图片进行单次处理,返回结果。

环境

  • Opencv-Python 库
  • os 库

代码

自己编写的实现代码如下:

  1. 导入必要的库文件
  2. import cv2
  3. import os
  4. # 设定开始标志
  5. x = 0
  6. # 循环中的路径可以根据自己实际图片的路径改写
  7. for root, dirs, files in os.walk('C:/Course/images'):
  8.     for d in dirs:
  9.         print('文件夹的个数:',d) #打印子资料夹的个数
  10.     for file in files:
  11.         print('当前处理的图像为:',file)
  12.         #讀入圖像
  13.         img_path = root+'/'+file
  14.         img = cv2.imread(img_path,1)
  15.         print(img_path,img.shape)
  16.         
  17.         #圖像處理~~~~~~~~~
  18. '''
  19. 在这里可以完成自己想要实现的图像处理各种功能
  20. '''
  21.         
  22.         #保存圖像
  23.         x = x+1
  24.         img_saving_path = img_path.replace('.png',str(x)+'.png')
  25.         print(img_saving_path)
  26.         cv2.imwrite(img_saving_path,img)

代码优化

        为了便于后期调用,对代码进行了优化,将功能部分封装成了函数,便于后期直接调用。

  1. import cv2
  2. import os
  3. def read_images_from_folder(folder):
  4. for filename in os.listdir(folder):
  5. if filename.endswith(".jpg") or filename.endswith(".png"):
  6. img = cv2.imread(os.path.join(folder, filename))
  7. if img is not None:
  8. # 在这里可以对图片进行处理,例如显示、保存等
  9. cv2.imshow('Image', img)
  10. cv2.waitKey(0)
  11. cv2.destroyAllWindows()
  12. # 指定图片所在的文件夹路径
  13. folder_path = "path/to/folder"
  14. # 调用函数读取文件夹下的所有图片
  15. read_images_from_folder(folder_path)

        在这个示例代码中,read_images_from_folder()函数用于读取指定文件夹下的所有图片文件。它遍历指定文件夹中的所有文件,如果文件的扩展名是".jpg"或".png",就使用OpenCV的imread()函数读取图片。然后可以对读取到的图片进行处理,例如显示、保存等。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/888143
推荐阅读
相关标签
  

闽ICP备14008679号