无法通过openCV打开多个图像

2024-06-06 23:58:27 发布

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

我正在为我的项目学习图像处理,我想从一个文件夹打开多个图像,但问题是图像文件被加载,但当我试图通过matplot lib显示它时,只有一个图像被加载显示。代码是

      img_dir=r"D:\UCP\Machine Learning A-Z\facialExp\images"
      valid_image_extensions = [".jpg", ".jpeg", ".png", ".tif", ".tiff"] 
      #specify your vald extensions here
      valid_image_extensions = [item.lower() for item in 
      valid_image_extensions]
      image_path_list=[]

      for file in os.listdir(img_dir):
        extension = os.path.splitext(file)[1]
        if extension.lower() not in valid_image_extensions:
         continue
        image_path_list.append(os.path.join(img_dir, file))



      for image_file in image_path_list:
         image=cv2.imread(image_file)

        if image is not None:
          plt.imshow(image, cmap='gray')
        elif image is None:
          print ("Error loading: " + image_file)
          #end this loop iteration and move on to next image
          continue

在第一个循环中,所有图像的目录都保存在image\u path\u列表中,但是当我想在第二个循环中打印时,只打印一个。 好心的建议我失踪或做错事。。你知道吗


Tags: pathin图像imageimgforosdir
1条回答
网友
1楼 · 发布于 2024-06-06 23:58:27

您多次加载image变量,因为您处于for循环中。所以你基本上是把一张图片放在另一张上面,只显示最后一张图片。你知道吗

要使代码正常工作,每次加载图像时都需要绘制。你知道吗

您的代码可能只是错误地缩进了,如果您缩进了if语句中的一个制表符来进行绘图,它应该可以工作

相关问题 更多 >