基于python代码批量处理图片resize


Posted in Python onJune 04, 2020

出差做PPT,要放一些图片上去,原图太大必须resize,十几张图片懒得一一处理了,最近正好在学python,最好的学习方式就是使用,于是写了一个批量处理图片resize的代码,在写的过程中,熟悉了python自己的os模块和opencv的cv2模块。

代码如下

// python code
import os
import cv2
''' 设置图片路径,该路径下包含了14张jpg格式的照片,名字依次为0.jpg, 1.jpg, 2.jpg,...,14.jpg'''
DATADIR="D:\Code\ToolBox"
'''设置目标像素大小,此处设为300'''
IMG_SIZE=300
'''使用os.path模块的join方法生成路径'''
path=os.path.join(DATADIR) 
'''使用os.listdir(path)函数,返回path路径下所有文件的名字,以及文件夹的名字,
例如,执行下行代码后,img_list是一个list,值为['0.jpg','1.jpg','10.jpg','11.jpg','12.jpg','13.jpg','14.jpg',
'2.jpg','3.jpg','4.jg', '5.jpg', '6.jpg', '7.jpg', 
'8.jpg', '9.jpg'],注意这个顺序并没有按照从小到大的顺序排列'''
img_list=os.listdir(path)
ind=0
for i in img_list:
'''调用cv2.imread读入图片,读入格式为IMREAD_COLOR'''
  img_array=cv2.imread(os.path.join(path,i),cv2.IMREAD_COLOR)
  '''调用cv2.resize函数resize图片'''
  new_array=cv2.resize(img_array,(IMG_SIZE,IMG_SIZE))
  img_name=str(ind)+'.jpg'
  '''生成图片存储的目标路径'''
  save_path='D:\\Code\\resized\\'+str(ind)+'.jpg'
  ind=ind+1
  '''调用cv.2的imwrite函数保存图片'''
  cv2.imwrite(save_path,new_array)

补充知识:python批量修改修改JPG为PNG(在充满图像的文件夹中)

发现网上批量jpg转png的代码在充满图像中的文件夹中,在rename的时候会有系统找不到指定文件的问题。

import os
 
'''要重命名的图片路径'''
file_path = "pngpairdataset/test"
files = os.listdir(file_path)
for file in files:
  if file.endswith('jpg'):
   #要指明重命名之后的路径
    src = os.path.join(file_path, file)
    r_name = file.split('.')[0] + '.png'
    dct = os.path.join(file_path, r_name)
    os.rename(src, dct)

以上这篇基于python代码批量处理图片resize就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python数组复制拷贝的实现方法
Jun 09 Python
python自动裁剪图像代码分享
Nov 25 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
用PyInstaller把Python代码打包成单个独立的exe可执行文件
May 26 Python
python五子棋游戏的设计与实现
Jun 18 Python
pytorch中如何使用DataLoader对数据集进行批处理的方法
Aug 06 Python
Django将默认的SQLite更换为MySQL的实现
Nov 18 Python
python实现用类读取文件数据并计算矩形面积
Jan 18 Python
django 实现手动存储文件到model的FileField
Mar 30 Python
python实现马丁策略的实例详解
Jan 15 Python
Python tkinter实现日期选择器
Feb 22 Python
Python面向对象之成员相关知识总结
Jun 24 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 #Python
Python爬虫谷歌Chrome F12抓包过程原理解析
Jun 04 #Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 #Python
解决python图像处理图像赋值后变为白色的问题
Jun 04 #Python
Python爬虫JSON及JSONPath运行原理详解
Jun 04 #Python
python 实现图像快速替换某种颜色
Jun 04 #Python
python下对hsv颜色空间进行量化操作
Jun 04 #Python
You might like
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
PHP实现提高SESSION响应速度的几种方法详解
2019/08/09 PHP
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
微信小程序实现多个按钮toggle功能的实例
2017/06/13 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
vue项目中常见问题及解决方案(推荐)
2019/10/21 Javascript
Element-UI+Vue模式使用总结
2020/01/02 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
Chrome插件开发系列一:弹窗终结者开发实战
2020/10/02 Javascript
[01:13]2014DOTA2西雅图邀请赛 舌尖上的TI4
2014/07/08 DOTA
详解Python中列表和元祖的使用方法
2015/04/25 Python
python 换位密码算法的实例详解
2017/07/19 Python
浅谈Python实现2种文件复制的方法
2018/01/19 Python
Numpy数组的保存与读取方法
2018/04/04 Python
Python双向循环链表实现方法分析
2018/07/30 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
python super()函数的基本使用
2020/09/10 Python
教师档案管理制度
2014/01/23 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
家长评语怎么写
2014/12/30 职场文书
承兑汇票延期证明
2015/06/23 职场文书
python - timeit 时间模块
2021/04/06 Python
HTML中实现音乐或视频自动播放案例详解
2022/05/30 HTML / CSS