首页 > 编程语言 >python-opencv批量处理图像文件(附代码)

python-opencv批量处理图像文件(附代码)

时间:2024-06-22 19:58:44浏览次数:26  
标签:python image filename opencv 文件夹 file 图像文件 save os

        这里以cifar100数据集为例。cifar100数据集保存在train文件夹中,其中一共有100类图片,每类图片被保存在不同的子文件夹中,每类图片500张,其具体文件夹如下。

        首先要引入cv2和os库,接着还要提前设置好图像保存路径和原图像文件路径。如果这里设置的不对的话程序会报错无法运行。比如这里我要调用的文件夹是train,处理后的图像保存到val文件夹中。

import os
import cv2

save_file = "val"   #保存文件夹路径
directory = '.\\train'   #原图像文件夹路径

       接着程序会使用os库对文件夹路径中的每一个子文件夹进行读取,并在处理后在保存路径文件夹中生成同名的子文件夹,并将处理后的图像保存在里面。

        如果要处理的文件没有分为子文件夹的话可以将单独的一个文件夹放在另一个文件夹中,相当于做一个子文件夹只有一个的文件夹。

        以下是处理后的图像文件命名,若需要修改保存的图片名称的话,从第三个'\\'后进行修改,即修改“ + filename + '_' + str(count) + '.jpg'”中的内容。

cv2.imwrite('.\\' + save_file + '\\' + filename + '\\' + filename + '_' + str(count) + '.jpg', image)   #保存图片

        完整代码: 

import os
import cv2

save_file = "val"   #保存文件夹路径
directory = '.\\train'   #原图像文件夹路径
filenames = os.listdir(directory)   #读取原图像文件夹中的文件夹名称

for filename in filenames:
    print(filename)   #打印正在处理的文件夹
    if(os.path.exists(".\\" + save_file + '\\' + filename) == False):   #判断子文件夹是否存在
        os.makedirs(r".\\" + save_file + '\\' + filename)   #创建子文件夹
    img_folder = ".\\train\\" + filename
    image_files = os.listdir(img_folder)
    for image_file in image_files:
        image = cv2.imread(os.path.join(img_folder, image_file))
        # 这里放对图像进行的处理
        cv2.imwrite('.\\' + save_file + '\\' + filename + '\\' + filename + '_' + str(count) + '.jpg', image)   #保存图片
        count = count + 1
    count = 0
print("done")


        这里我没有给出具体的图像处理代码,大家根据需要进行完形填空即可。

标签:python,image,filename,opencv,文件夹,file,图像文件,save,os
From: https://blog.csdn.net/qq_35675872/article/details/139885360

相关文章

  • python socket写客户端
    客户端开发流程1、创建客户端套接字对象2、和服务端套接字建立连接3、发送数据4、接收数据5、关闭客户端套接字注意:客户端是指运行在用户的设备上,服务端是指运行在服务器设备上的,专门为客户端提供数据服务socket类的使用1、导入socket模块importsocket2、使用s......
  • 538个代码示例!麻省理工教授的Python程序设计+人工智能案例实践
    Python简单易学,且提供了丰富的第三方库,可以用较少的代码完成较多的工作,使开发者能够专注于如何解决问题而只花较少的时间去考虑如何编程。此外,Python还具有免费开源、跨平台、面向对象、胶水语言等优点,在系统编程、图形界面开发、科学计算、Web开发、数据分析、人工智能等方面......
  • python学习笔记-10
    面向对象编程-下1.私有化属性语法:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。使用私有化属性的场景:1.把特定的一个属性隐藏起来,不让类的外部进行直接调用。2.不让属性的值随意改变。3.不让子类继承。classPerson():def__init__(self):......
  • 【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
    一、介绍球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集'美式足球','棒球','篮球','台球','保龄球','板球','足球','高尔夫球','曲棍球','冰球','橄榄球',&#......
  • 【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
    一、介绍球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集‘美式足球’,‘棒球’,‘篮球’,‘台球’,‘保龄球’,‘板球’,‘足球’,‘高尔夫球’,‘曲棍球’,‘冰球’,‘橄榄球’,‘羽毛球’,‘乒乓球......
  • python 快速排序
     快速排序快速排序是一种非常高效的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。 以下是一个使用Python实现的快速排序的示例代码: pythond......
  • AI生成Python之语句练习题
    对应文章:Python学习记录#2、语句涉及:条件语句(if-elif-else)、循环语句(while、for)。目录练习题1.猜数字游戏2. 斐波那契数列(难)3. 九九乘法表4.列表过滤5. 字符串反转练习题1.猜数字游戏        编写一个程序,让计算机随机选择一个1到100之间的整数,......
  • Python基础语法,非常值得新手小白学习!
    Python基础语法(一)Python的特点1. 简单Python是一种代表简单思想的语言。2. 易学Python有极其简单的语法。3. 免费、开源Python是FLOSS(自由/开放源码软件)之一。4. 高层语言使用Python编写程序时无需考虑如何管理......
  • python新手开发一个物联网应用
    开发一个物联网(IoT)应用涉及多个方面,包括硬件选择、网络连接、数据传输、数据处理和用户界面。下面是一个简单的物联网应用示例,它使用Python语言和MQTT协议进行数据传输。硬件要求:RaspberryPi(或其他兼容的微控制器)温度传感器(例如DHT11)软件要求:Python3paho-mqtt(Python的......
  • Python 全栈系列256 异步任务与队列消息控制(填坑)
    说明每个创新都会伴随着一系列的改变。在使用celery进行异步任务后,产生的一个问题恰好也是因为异步产生的。内容1问题描述我有一个队列stream1,对应的worker1需要周期性的获取数据,对输入的数据进行模式识别后分流。worker1我设施为10秒运行一次。然后我就发现输出......