返回顶部
首页 > 资讯 > 后端开发 > Python >Python怎么批量检查图像是否可用
  • 497
分享到

Python怎么批量检查图像是否可用

2023-07-02 00:07:02 497人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python怎么批量检查图像是否可用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么批量检查图像是否可用”吧!数据集中的图像,一般不可用在以下3个方面:图像过小无

本篇内容主要讲解“python怎么批量检查图像是否可用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python怎么批量检查图像是否可用”吧!

数据集中的图像,一般不可用在以下3个方面:

图像过小

无法打开

“Premature end of JPEG file”

这些图像可能会导致模型的学习异常,因此,使用多进程检查数据集中的每张图像,是很有必要的。

具体逻辑如下:

  • 遍历文件夹,多进程处理每一张图像

  • 判断图像是否可读,是否支持resize尺寸,边长是否满足

  • 判断JPG图像是否Premature end

  • 删除错误图像

脚本如下:

#!/usr/bin/env python# -- coding: utf-8 --"""Copyright (c) 2020. All rights reserved.Created by C. L. Wang on 10.11.20"""import argparseimport osfrom multiprocessing import Poolimport cv2def traverse_dir_files(root_dir, ext=None):    """    列出文件夹中的文件, 深度遍历    :param root_dir: 根目录    :param ext: 后缀名    :return: [文件路径列表, 文件名称列表]    """    names_list = []    paths_list = []    for parent, _, fileNames in os.walk(root_dir):        for name in fileNames:            if name.startswith('.'):  # 去除隐藏文件                continue            if ext:  # 根据后缀名搜索                if name.endswith(tuple(ext)):                    names_list.append(name)                    paths_list.append(os.path.join(parent, name))            else:                names_list.append(name)                paths_list.append(os.path.join(parent, name))    return paths_list, names_listdef check_img(path, size):    """    检查图像    """    is_Good = True    try:        img_bgr = cv2.imread(path)        h, w, _ = img_bgr.shape        if h < size or w < size:            is_good = False        _ = cv2.resize(img_bgr, (size, size))    except Exception as e:        is_good = False    if path.endswith("jpg"):        with open(path, 'rb') as f:            check_chars = f.read()[-2:]        if check_chars != b'\xff\xd9':            print('[Info] Not complete jpg image')            is_good = False    if not is_good:        print('[Info] error path: {}'.fORMat(path))        os.remove(path)def check_error(img_dir, n_prc, size):    """    检查错误图像的数量    """    print('[Info] 处理文件夹路径: {}'.format(img_dir))    paths_list, names_list = traverse_dir_files(img_dir)    print('[Info] 数据总量: {}'.format(len(paths_list)))    pool = Pool(processes=n_prc)  # 多线程下载    for idx, path in enumerate(paths_list):        pool.apply_async(check_img, (path, size))        if (idx+1) % 1000 == 0:            print('[Info] idx: {}'.format(idx+1))    pool.close()    pool.join()    print('[Info] 数据处理完成: {}'.format(img_dir))def parse_args():    """    处理脚本参数,支持相对路径    :return: in_folder 输入文件夹, size 尺寸, n_prc 进程数    """    parser = argparse.ArgumentParser(description='检查图片脚本')    parser.add_argument('-i', dest='in_folder', required=True, help='输入文件夹', type=str)    parser.add_argument('-p', dest='n_prc', required=False, default=100, help='进程数', type=str)    parser.add_argument('-s', dest='size', required=False, default=50, help='最小边长', type=str)    args = parser.parse_args()    in_folder = args.in_folder    size = int(args.size)    n_prc = int(args.n_prc)    print("[Info] 文件路径:{}".format(in_folder))    print("[Info] 进程数: {}".format(n_prc))    print("[Info] 边长: {}".format(size))    return in_folder, n_prc, sizedef main():    arg_in, n_prc, size = parse_args()    check_error(arg_in, n_prc, size)if __name__ == '__main__':    main()

到此,相信大家对“Python怎么批量检查图像是否可用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Python怎么批量检查图像是否可用

本文链接: https://lsjlt.com/news/338715.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python怎么批量检查图像是否可用
    本篇内容主要讲解“Python怎么批量检查图像是否可用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么批量检查图像是否可用”吧!数据集中的图像,一般不可用在以下3个方面:图像过小无...
    99+
    2023-07-02
  • 详解Python如何批量检查图像是否可用
    数据集中的图像,一般不可用在以下3个方面: 1.图像过小 2.无法打开 3.“Premature end of JPEG file” 这些图像可能会导致模型的...
    99+
    2024-04-02
  • PHP检查图像是否为真彩色图像
    这篇文章将为大家详细讲解有关PHP检查图像是否为真彩色图像,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何检查 PHP 中的图像是否为真彩色图像 真彩色图像是一种图像格式,它使用 24 位颜色深度,可以...
    99+
    2024-04-02
  • 利用python批量检查网站的可用性
    前言 随着站点的增多,管理复杂性也上来了,俗话说:人多了不好带,我发现站点多了也不好管,因为这些站点里有重要的也有不重要的,重要核心的站点当然就管理的多一些,像一些万年都不出一次问题的,慢慢就被自己都淡忘了...
    99+
    2022-06-04
    可用性 批量 网站
  • jQuery如何检查图像是否加载
    小编给大家分享一下jQuery如何检查图像是否加载,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!检查图像是否加载有时为了继续脚本...
    99+
    2024-04-02
  • php怎么检查文件是否可读、可写、可执行
    这篇文章主要讲解了“php怎么检查文件是否可读、可写、可执行”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php怎么检查文件是否可读、可写、可执行”吧!在进行文件读写等操作时,需要先检查一下...
    99+
    2023-06-20
  • python图像的批量处理怎么实现
    这篇文章主要介绍了python图像的批量处理怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python图像的批量处理怎么实现文章都会有所收获,下面我们一起来看看吧。图片集合函数skimage.io.Im...
    99+
    2023-07-02
  • redis怎么批量查询key是否存在
    在Redis中,可以使用EXISTS命令来批量查询多个key是否存在。通过向EXISTS命令传递多个key参数,可以查询这些key是...
    99+
    2024-03-14
    redis
  • 怎么用vbs实现自动检查代理是否可用
    本篇内容介绍了“怎么用vbs实现自动检查代理是否可用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!将下面代码中的地址改一下,存为ieprox...
    99+
    2023-06-08
  • laravel怎么检查一个变量是否为空
    这篇文章主要讲解了“laravel怎么检查一个变量是否为空”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“laravel怎么检查一个变量是否为空”吧!在 Laravel 中,我们使用“is_n...
    99+
    2023-07-05
  • 怎么用Python批量删除或移动指定图像
    这篇文章主要介绍了怎么用Python批量删除或移动指定图像的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Python批量删除或移动指定图像文章都会有所收获,下面我们一起来看看吧。一、批量删除指定名称的图像...
    99+
    2023-07-05
  • 使用python批量检查url的有效性
    因为工作需要,之前用python写了一些批量校验url有效性的小脚本,但并不全面,健壮性较差,现把之整理一下,代码如下: #!/usr/bin/python # -*- coding:utf-8 -*- import urllib2 f...
    99+
    2023-01-31
    批量 有效性 python
  • python批量压缩图像的完整步骤是什么
    这期内容当中小编将会给大家带来有关python批量压缩图像的完整步骤是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。背景今天在工作中,同事遇到一个上传图片的问题:系统要求的图片大小不能超过512KB。...
    99+
    2023-06-22
  • python批量telnet检测IP地址的端口是否开放
    目录需求代码示例需求 需要检查多个端口是否开放,没有找到第三方工具和服务来快速测通,就自己用python写了个脚本.原理是通过telnet来实现的,仅支持tcp协议的端口. 代码 #...
    99+
    2023-05-16
    python检测IP端口 python Telnet测试端口 telnet批量查看端口开放
  • php怎么检查一个变量是否被设置
    本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑php检查一个变量是否被设置使用isset()函数,该函数可以检测变量是否已设置并且非 NULL。语法bool isset ( mixed $var [, mixed ...
    99+
    2016-05-24
    php 变量
  • PHP中怎么检查一个变量是否为空
    小编给大家分享一下PHP中怎么检查一个变量是否为空,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在PHP的日常使用过程中经常需要判断变量是否为空,PHP为我们提供...
    99+
    2023-06-14
  • Python怎么批量更改图像尺寸统一大小
    本文小编为大家详细介绍“Python怎么批量更改图像尺寸统一大小”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么批量更改图像尺寸统一大小”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。批量更改图像尺...
    99+
    2023-07-05
  • 怎么用Python代码批量抠图
    这篇文章主要讲解了“怎么用Python代码批量抠图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Python代码批量抠图”吧!1.准备为了实现这个实验,Python是必不可少的,如果你...
    99+
    2023-06-16
  • Python怎么检查磁盘可用空间
    要检查磁盘的可用空间,可以使用Python的shutil模块来获取磁盘的总空间和可用空间。以下是一个简单的示例代码: import ...
    99+
    2024-02-29
    Python
  • 怎么使用python进行图像边缘检测
    本篇内容主要讲解“怎么使用python进行图像边缘检测”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用python进行图像边缘检测”吧!边缘检测图像边缘是指图像中表达物体的周围像素灰度发生...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作