python增加图像对比度的方法
作者:qxq_sunshine 发布时间:2022-11-06 09:35:37
标签:python,图像,对比度
本代码实现的是,在旋转10度的基础上,再进行增加对比度的操作。
1 代码:
代码注释中的代码都是可以运行的. 但是不怎么靠谱,因为文件名被逐个编辑,有可能与原标签不对应,,更好的做法参考代码2
# -*- coding: UTF-8 -*-
from PIL import Image
from PIL import ImageEnhance
import PIL.Image as img
from PIL import ImageEnhance
import os
def rotationImage(filepath,destpath):
count = 0
filelist=os.listdir(filepath) #所有文件的文件名
total_num=len(filelist) #所有文件的个数
print(total_num) #输出文件个数
for i in range(total_num): #对每张图像进行操作
print(count)
im=img.open(filepath+str(i+21)+str("_training")+".gif")
for j in range(72):
im_rotate=im.rotate(j*10) #每张图像都10°旋转一次
#然后对其增加亮度对比度等操作
enh_con=ImageEnhance.Contrast(im_rotate) #增加对比度 得到1440张
image_contrasted=enh_con.enhance(1.5)
image_contrasted.save(destpath + str("cont_") + str((j + 1) * 10) + str("_") + str(i + 21) + str("_") + str("manual1") + '.gif')
count=count+1
# enh_sha=ImageEnhance.Sharpness(im_rotate) #增加锐度
# image_sharped=enh_sha.enhance(3.0)
# image_sharped.save(destpath + str("sharp_") + str((j + 1) * 10) + str("_") + str(i + 21) + str("_") + str("training") + '.tif')
# enh_bri=ImageEnhance.Brightness(im_rotate) #增加亮度 但是有问题
# image_bright=enh_bri.enhance(1.5)
# image_bright.save(destpath + str("bri_") + str((j + 1) * 10) + str("_") + str(i + 21) + str("_") + str("training") + '.tif')
# enh_col=ImageEnhance.Color(im_rotate) #增加色度 但是有问题,
# image_colored=enh_col.enhance(1.5)
# image_colored.save(destpath + str("col_") + str((j + 1) * 10) + str("_") + str(i + 21) + str("_") + str("training") + '.tif')
j=0
if __name__== '__main__':
filepath='/home/qxq/Desktop/eyedata_final/train/label/gif/orginal/'
destpath='/home/qxq/Desktop/eyedata_final/train/label/gif/brighten/'
rotationImage(filepath,destpath)
2 代码:
更加靠谱的做法如下:
# -*- coding: UTF-8 -*-
from PIL import Image
from PIL import ImageEnhance
import os
rootdir = r'/home/qxq/Desktop/eyedata_final/mask/original/' # 指明被遍历的文件夹
for parent, dirnames, filenames in os.walk(rootdir):
for filename in filenames:
currentPath = os.path.join(parent, filename)
im = Image.open(currentPath)
for j in range(72):
im_rotate = im.rotate(j * 10) # 每张图像都10°旋转一次
enh_con = ImageEnhance.Contrast(im_rotate) # 增加对比度 得到1440张(20*72=1440)
image_contrasted = enh_con.enhance(1.5)
newname1 = r"/home/qxq/Desktop/eyedata_final/mask/brighten/" + 'Cont_' + filename
image_contrasted.save(newname1)
enh_sha = ImageEnhance.Sharpness(im_rotate) # 增加锐度
image_sharped = enh_sha.enhance(3.0)
newname2 = r"/home/qxq/Desktop/eyedata_final/mask/brighten/" + 'sharp_' + filename
image_contrasted.save(newname2)
#
enh_bri = ImageEnhance.Brightness(im_rotate) # 增加亮度 但是有问题
image_bright = enh_bri.enhance(1.5)
newname3 = r"/home/qxq/Desktop/eyedata_final/mask/brighten/" + 'Bri_' + filename
image_contrasted.save(newname3)
#
enh_col = ImageEnhance.Color(im_rotate) # 增加色度 但是有问题,
image_colored = enh_col.enhance(1.5)
newname4 = r"/home/qxq/Desktop/eyedata_final/mask/brighten/" + 'Col_' + filename
image_contrasted.save(newname4)
j = 0
来源:https://blog.csdn.net/qxqsunshine/article/details/88315825


猜你喜欢
- 本文实例总结了Python常见的pandas用法。分享给大家供大家参考,具体如下:import numpy as npimport pand
- 前言Python 提供了很多截取字符串的方法,被称为“切片(slicing)”。模版如下:strin
- 我们在使用很多新闻系统的时候,都会发现一个问题,尤其是使用 HtmlEdit 从WORD文档中直接拷贝文章(尤其里面有复杂表格和文字)的时候
- 首先是数据源:#需要求加权平均值的数据列表elements = []#对应的权值列表weights = []使用numpy直接求:impor
- 本文实例讲述了Python 函数用法。分享给大家供大家参考,具体如下:demo.py(函数定义):# say_hello() # 不能在定义
- 案例package mainimport ( _ "github.com/go-sql-driver/mysql&q
- 用python3.x实现base64加密和解密,供大家参考,具体内容如下加密base64_encrypt.py#!/usr/bin/pyth
- 1.配置环境安装python3安装python3-pip通过pip安装Django**如果需要使用Jinja模板,需要通过pip安装djan
- 引言本篇是以python的视角介绍相关的函数还有自我使用中的一些问题,本想在这篇之前总结一下opencv编译的全过程,但遇到了太多坑,暂时不
- CONVERT将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同.现以下可在SQL Server中将日期格
- 0. 命令行参数通常,对于大型项目程序而言,执行程序的一个必要的步骤是正确处理命令行参数,这些命令行参数是提供给包含某种参数化信息的程序或脚
- 生活中有很多需要用到关联图的地方,至少我认为的是这样的图:https://www.echartsjs.com/examples/zh/edi
- 以前工作的时候由于Oracle8i数据库经常出现用户过多的错误,由于数据量大,经常出现ORA:12500错误,但主要原因是访问过多而引起的,
- GO实现内存数据库实现Redis的database层(核心层:处理命令并返回)https://github.com/csgopher/go-
- 在上篇文章给大家介绍了Bootstrap的基础知识,接下来通过本文给大家介绍我们可以在http://getbootstrap.com下载bo
- EXPLAIN 语句分析SQL索引使用,关键词EXPLAIN: SQL举例:CREATE TABLE `my_user` ( `
- 本文实例分析了Python作用域用法。分享给大家供大家参考,具体如下:每一个编程语言都有变量的作用域的概念,Python也不例外,以下是Py
- 前言Martin(Bob大叔)曾在《代码整洁之道》一书打趣地说:当你的代码在做 Code Review 时,审查者要是愤怒地吼道:“What
- flask中的sqlalchemy 相比于sqlalchemy封装的更加彻底一些 , 在一些方法上更简单首先import类库:在CODE上查
- python与C的区别如下:1、语言类型不同。Python是一种动态类型语言,又是强类型语言。它们确定一个变量的类型是在您第一次给它赋值的时