基于python代码批量处理图片resize
作者:暗夜精灵宝宝 发布时间:2022-03-18 23:06:58
标签:python,图片,resize
出差做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)
来源:https://blog.csdn.net/weixin_43196262/article/details/82807333


猜你喜欢
- 实现了在一个字段存储以逗号分隔的字符串,返回一个相应的列表from django import formsfrom django.db im
- 父组件处理:<template> <div class="wrap">
- 以前用Ubuntu的时候感觉很简单的事到ContOS上却变得很头痛,在执行以下命令安装python-pip居然什么也没执行。yum inst
- 今天弄了一天,总算把win2003下的问题给解决了, LoadModule php5_module E:\server\php528\php
- 前言:如果使用进到的日志文件方法:logging.FileHandler,会导致日志信息全部存放在一个日志文件中,不利于后面对日志文件的使用
- pLSA(probabilistic Latent Semantic Analysis),概率潜在语义分析模型,是1999年Hoffman提
- 一、configparser模块是什么可以用来操作后缀为 .ini 的配置文件;python标准库(就是python自带的意思,无需安装)二
- 近来实验室的师姐要 * 文,由于论文交稿时间临近,有一些杂活儿需要处理,作为实验室资历最浅的一批,我这个实习生也就责无旁贷地帮忙当个下手。今天
- 本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法。分享给大家供大家参考,具体如下:1. primary key 主键特点:主键是用
- 一、把一个字符串的内容提取出来,并放到字典中流程如下: 1、得到字符串s,通过分割提取得到s1(是个列表) s=”name=lyy&
- 很多小伙伴都会有这样的问题,说一个ip地址十分钟内之内注册一次,用来防止用户来重复注册带来不必要的麻烦逻辑:取ip,在数据库找ip是否存在,
- 一、检索当前目录下所有文件、文件夹from glob import globglob('./*')Output: ['
- 本文实例讲述了JS实现选择TextArea内文本的方法。分享给大家供大家参考。具体实现方法如下:<script type="
- 1. 如何停止任务?我们可以通过 asyncio.Task 对象上的 cancel() 方法取消任务。如果任务被取消,cancel() 方法
- 可以在Mac OS X 10.2.x(“Jaguar”)和以上版本上Mac OS X使用二进制安装软件包的PKG格式代替二进制分发版来安装M
- 进程什么是进程进程指的是一个程序的运行过程,或者说一个正在执行的程序所以说进程一种虚拟的概念,该虚拟概念起源操作系统一个CPU 同一时刻只能
- validator库参数校验若干实用技巧在web开发中一个不可避免的环节就是对请求参数进行校验,通常我们会在代码中定义与请求参数相对应的模型
- 关于js中的offsetWidth、clientWidth、scrollWidth等一系列属性及其方法一直都傻傻分不清,这里就来总结一下这些
- 1、先看最简单的场景,生产者生产消息,消费者接收消息,下面是生产者的简单代码。#!/usr/bin/env python# -*- codi
- aspjpeg组件官方下载地址:http://www.persits.com/说明: 1、aspjpeg能对图片水印进行透明度调整