Python: 检测指定目录下图片是否存在问题

当我们使用opencv读取图片或者使用Deep learning读取数据集时,如果图片有问题则会造成错误!

如何检测一个文件夹内所有图片是否都没有错误呢?这里总结以下代码。

参考链接:https://www.computationalimaging.cn/2020/01/python-detect-whether-there-is-problem.html

 

#! /usr/bin/env python3
# -*- coding:utf-8 -*- 
import cv2
import os

path = 'F://chaomo/'
filelist = os.listdir(path)
count = 0
sum_len = len(filelist)
for item in filelist:
    image = cv2.imread(path+item)
    # print(item)
    try:
        cv2.imshow('img',image)    # 若能show, 则表示无误;若图片有问题这里会有error
    except:
        print(item+''+'have problem!')
        pass
    count = count + 1
    if count % 1000 == 0:    # 显示进度
        print(str(count) + '' + 'images has been detected.')
cv2.destroyAllWindows()

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 您好,我可以回答您的问题。 要检测Windows系统的桌面是否存在指定图片,您可以使用Python的Pillow库和os库来实现。 下面是一个示例代码,您可以根据自己的需求进行修改: ``` python from PIL import Image import os # 定义指定图片的路径和文件名 img_path = "C:/Users/xxx/Desktop/example.png" # 获取桌面路径 desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop') # 遍历桌面上的所有文件 for filename in os.listdir(desktop_path): # 如果文件是图片并且文件名与指定图片相同,则返回True if filename.endswith('.jpg') or filename.endswith('.png'): if filename == os.path.basename(img_path): print("图片存在于桌面!") break else: print("图片存在于桌面。") ``` 此代码将检查桌面上的所有图片文件,如果找到指定图片,则输出“图片存在于桌面!”;否则,输出“图片存在于桌面。”。 希望对您有所帮助。 ### 回答2: 要检测Windows系统的桌面是否存在指定图片,我们可以使用Python和一些第三方库来实现。 首先,我们需要安装Pillow库,它是Python中用于图像处理的一种库。我们可以使用命令`pip install pillow`来安装。 接下来,我们可以使用以下代码来检测桌面是否存在指定图片: ```python from PIL import Image import os def check_desktop_image(image_path): desktop_path = os.path.expanduser("~") + "\\Desktop" try: image = Image.open(image_path) desktop_files = os.listdir(desktop_path) for file in desktop_files: file_path = os.path.join(desktop_path, file) if os.path.isfile(file_path): try: file_image = Image.open(file_path) if image.mode == file_image.mode and image.size == file_image.size and image.getcolors() == file_image.getcolors(): return True except: continue except: return False return False ``` 上述代码中,我们首先通过`os.path.expanduser("~") + "\\Desktop"`获取了桌面路径,并通过`os.listdir()`获取了桌面上的所有文件。然后,我们对每个文件进行循环遍历,并尝试使用Pillow库的`Image.open()`打开图片文件。如果打开成功,则将其与给定的指定图片进行比较。如果两个图片的模式、尺寸和颜色都相同,则说明桌面上存在指定图片,返回`True`。如果没有找到匹配的图片,则返回`False`。 使用时,我们可以传入指定图片的路径作为参数调用`check_desktop_image()`函数,例如`check_desktop_image("C:\\Users\\Username\\Desktop\\image.jpg")`。 这样,我们就可以使用Python检测Windows系统的桌面是否存在指定图片了。 ### 回答3: 利用Python可以很方便地检测Windows系统的桌面是否存在指定图片。首先,我们需要使用Python中的os模块来获取桌面路径。具体代码如下所示: ```python import os # 获取桌面路径 desktop_path = os.path.expanduser('~') + '\\Desktop' # 指定图片名 image_name = 'example.jpg' # 检测桌面是否存在指定图片 if os.path.exists(desktop_path + '\\' + image_name): print('桌面存在指定图片') else: print('桌面不存在指定图片') ``` 上述代码中,我们首先使用`os.path.expanduser('~')`来获取当前用户的根目录,然后通过字符串拼接得到桌面的完整路径。接下来,我们指定了要检测图片名为`example.jpg`,你可以根据自己的需要进行修改。 之后,我们使用`os.path.exists()`函数来检测图片是否存在于桌面上。如果存在,则输出"桌面存在指定图片";如果不存在,则输出"桌面不存在指定图片"。 在运行代码之前,确保已经安装好了Python,并且需要将指定图片放置在桌面上。然后将代码复制到Python环境中执行,即可得到检测结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

R.X. NLOS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值