python实现批量转换图片为黑白
时间:2022-07-27
本文章向大家介绍python实现批量转换图片为黑白,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例为大家分享了python批量转换图片为黑白的具体代码,供大家参考,具体内容如下
用到的库:OpenCV、os
import cv2
import os
def re_name(path):
files = os.listdir(path)
for i, file in enumerate(files):
try:
new_file_name = os.path.join(path, str(i) + '.jpg')
old_file_name = os.path.join(path, file)
os.rename(old_file_name, new_file_name)
except:
continue
def gray_pic(path):
files = os.listdir(path)
for file in enumerate(files):
try:
pic = path + "" + str(file[1])
original_img = cv2.imread(pic)
gray = cv2.cvtColor(original_img, cv2.COLOR_BGR2GRAY)
cv2.imwrite(path + "" + str(file[1]), gray)
except:
continue
path = r'C:Users090Desktopgray'
#re_name(path)
gray_pic(path)
注意:
- 中文文件名的图片需要先改名
- 这里笔者用数字序号先进行了编号
小编再为大家分享一段很实用的代码:python批量处理图片颜色反转
#coding:utf-8
import os
from PIL import Image
import numpy as np
def resize(imgPath,savePath):
files = os.listdir(imgPath)
files.sort()
print('****************')
print('input :',imgPath)
print('start...')
for file in files:
fileType = os.path.splitext(file)
if fileType[1] == '.jpg':
new_png = Image.open(imgPath+'/'+file) #打开图片
#new_png = new_png.resize((20, 20),Image.ANTIALIAS) #改变图片大小
matrix = 255-np.asarray(new_png) #图像转矩阵 并反色
new_png = Image.fromarray(matrix) #矩阵转图像
new_png.save(savePath+'/'+file) #保存图片
print('down!')
print('****************')
if __name__ == '__main__':
# 待处理图片地址
dataPath = 'F:clean_imagesprofiles'
#保存图片的地址
savePath = 'F:clean_imagesnew_mask'
resize(dataPath,savePath)
以上就是本文的全部内容,希望对大家的学习有所帮助。
- HDUOJ--------1420Prepared for New Acmer
- PowerVM虚拟化环境下 CPU 利用率的监控与探究
- 虚函数中构造函数的调用顺序
- HDUOJ-----4512吉哥系列故事——完美队形I(LCIS)
- go语言mongdb管道使用(二)
- HDUOJ--4565 So Easy!
- Go 语言Map(集合)
- 简单的java实验,涉及到 类继承以及接口问题,方法体的重写(区别于重载)
- java 快速求素数
- 狄斯奎诺(dijkstra 模板)
- HDUOJ---汉洛塔IX
- 小错误系列
- HDUOJ-----4510 小Q系列故事——为什么时光不能倒流
- HDUOJ----4509湫湫系列故事——减肥记II
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android编程实现变化的双重选择框功能示例
- Java中使用json存储文件
- Android自定view画圆效果
- Android简洁的下拉放大刷新效果示例
- 自定义View | invalidate()源码分析
- Pagerslidingtabstrip菜单标题栏制作方法
- Flink SQL 自定义 Sink
- RollViewPager图片轮播效果开源框架使用方法详解
- Nacos配置中心动态获取数组配置
- android 二次打包完成apk多渠道打包的方法
- Spring的异步线程处理
- R语言做正态性检验的一个小例子
- Springboot整合Redis缓存机制
- 5000字!带你零距离接触websocket!
- 最小堆与索引堆