当前位置:网站首页>图片批处理|必备小技能
图片批处理|必备小技能
2022-07-28 07:17:00 【51CTO】
微信公众号:*AI算法与图像处理
关注可了解更多的编程小技巧和优质资源。问题或建议,请公众号留言;
如果你觉得对你有帮助,欢迎 好看和分享哈
内容目录
图片批处理 简介 具体事项 1)分析文件的存储情况 2)试着分析 好,现在很清晰了,是时候准备一些东西了 代码实现 输出结果: 此时已经获取图片的名字和地址——可以开始干活了 结果展示
图片批处理 简介
图片批处理操作或者说数据的批处理在这个数据爆炸的时代经常会用到,除了特殊的情况,否则我们不会想着靠人力去一个一个的完成数据的处理(土法炼钢?),因此交给我们的苦力——电脑。
明确目标:把时间拿来做有价值的事情
思路:
1.批量读取文件
2.批量处理文件
3.批量存储文件
简称——3P操作?粗鄙之语。。。
具体事项
1)分析文件的存储情况
看一下文件的存储是什么鬼样子的

0文件夹下在3个小文件夹(比较常见的情况)

在每个次级文件夹(例如1_1文件夹)下存储着图片

看完脑壳痛!

2)试着分析
说明:为了方便理解,我将文件夹命名的比较有规律,从0开始往下一级加1
(1)批量读取文件 转化为——三步走:
A)定位到第一级文件夹(0)位置
B)读取次级文件夹(1_1,1_2,1_3)名字
C)读取次级文件夹下的图片(或者数据)名字
好,现在很清晰了,是时候准备一些东西了
A)导入库
Os ——操作系统功能的接口
Tqdm ——加个进度条,方便装逼,不,是查看执行情况
cv2 ——对图片进行一些操作,读取存储和变化等
B)图片准备
这里在每个文件夹下放两张
(2)批量处理图片
这里你可以添加各种自己喜欢的扫操作,只要不违法,随便怎么搞,为了简单起见,我不搞花里胡哨的,在代码中用了灰度变化操作
(3)批量存储文件
理解了批量读取文件,实际上批量存储文件类似的
代码实现
输出结果:
100%|██████████| 3/3 [00:00<00:00, 5863.43it/s]
['1_1_1.jpg', '1_1_2.jpg']
['1_2_1.jpg', '1_2_2.jpg']
['1_3_1.jpg', '1_3_2.jpg']
此时已经获取图片的名字和地址——可以开始干活了
接下的工作都是相当于对单张图片进行操作了,因为我们循环到最底层(可能表述的不是很准确,大概意思是找到图片了,想怎么搞怎么搞了现在)
代码给你们了,注释的很清楚了哈!!!
结果展示

文件夹名字、图片名字以及图片都变了,说明,我曹,老子居然成功运行了。。。。
为了方便大家获取代码,代码已经加入肯德基豪华套餐了。what?
不,已经放在github上面了
https://github.com/SCUTPZW/AI_study/tree/master

边栏推荐
猜你喜欢

思迈特软件完成C轮融资,让BI真正实现“普惠化”

2022 Niuke multi school first problem solving Report

Shell编程规范与变量

5张图告诉你:同样是职场人,差距怎么这么大?

【软考软件评测师】2013综合知识历年真题

MySQL how to add users and set permissions?

【OpenCV】生成透明的PNG图像

When unity switches to another scene, he finds that the scene is dimmed

2022牛客多校第二场解题报告

Smartbi of smart smart smart software completed the c-round financing and accelerated the domestic Bi into the intelligent era
随机推荐
Unity中队列(Queue)的简单使用
2018年1月西邻雪山自驾游攻略
Simple use of unity queue
竞赛:糖尿病遗传风险检测挑战赛(科大讯飞)
postgresql查询【表字段类型】和库中【所有序列】
博客搭建九:hugo添加搜索功能
The current value of uniapp's swiper dynamic setting does not take effect solution
classLoader加载的class的回收
数字签名和CA证书
创建线程的3种方式
Three different numbers with 0 in leetcode/ array
uniapp---- 获取当前位置的经纬度等信息的详细步骤(包含小程序)
Export SQL server query results to excel table
Use of namespaces
Usage of qcombobox
Analysis and recurrence of network security vulnerabilities
PHPUnit在Window下如何配置
How can MySQL query judge whether multiple field values exist at the same time
Gbase 8A MPP and Galaxy Kirin (x86 version) complete deep adaptation
Can‘t connect to server on ‘IP‘ (60)