python实现图像增强_纯Python综合图像处理小工具(2)图像增强

这次分享的脚本是对图像进行增强处理,包含对图像像素的色彩增强、亮度增强、对比度增强、图像尖锐化等增强操作,主要基于PIL包的lambda和ImageEnhance模块。

使用方法和上一贴一样,本文脚本进行了多项功能的集成,一键完成所有处理,图像会即刻显示处理后的效果,并全部保存成特定名称jpeg。

下图是对处理后的图片的二维比较,为了更直观地比较,将处理项(亮度,颜色,对比度,锐度)作为横坐标,处理强度参数作为纵坐标(0,0.25,0.5,0.75,1)。当处理强度参数为1的时候,实际不对图像进行任何修改。

原图:

处理后:

lambda增强40%(0.4)

本文用到的是PIL的图像增强模块,即ImageEnhance 模块,这个模块可以快速对图像进行增强处理,包括色彩增强、亮度增强、对比度增强、图像尖锐化等等增强操作,所有操作都有相同形式的接口。通过相应类的enhance方法实现:色彩增强通过Color类的enhance方法实现;亮度增强通过Brightness类的enhance方法实现;对比度增强通过Contrast类的enhance方法实现;尖锐化通过Sharpness类的enhance方法实现。所有的操作都需要向类的构造函数传递一个Image对象作为参数,这个参数定义了增强作用的对象。同时所有的操作都返回一个新的Image对象。

如果传给enhance方法的参数是1.0,则不对原图像做任何改变,直接返回原图像的一个拷贝。

此外,lambda表达式可以(也仅限于)进行图像的亮度增强, imgbri=img.point(lambda i : i*1.4),代表对原图亮度增强40%。irange代表图像增强参数的调整范围;

istep代表图像按照等步长增强后输出的图片张数;

factor代表图像增强强度参数;

img_enhance_color.show("Color %f" %factor)显示图像增强效果;

img_enhance_color.save("Color_%.2f.jpg" %factor) 保存增强后的图像。

#start#-*- coding: cp936 -*-#阿瓦图像村出品,转载请注明出处#QQ:576916092import Image,ImageDraw

import ImageFilter,random,sys

import ImageEnhance

img = Image.open("1.jpg")

##图像处理##

#转换为RGB图像img = img.convert("RGB")

#PIL图像增强lambdaimgbri=img.point(lambda i : i*1.4) #对每一个像素点进行增强imgbri.save("1bri.jpg")

imgbri.show()

#PIL图像增强ImageEnhanceistep=4

irange=4.0

imgenhancer_Color=ImageEnhance.Color(img)

for i in range(istep):

factor=i/irange

img_enhance_color=imgenhancer_Color.enhance(factor)

img_enhance_color.show("Color %f" %factor)

img_enhance_color.save("Color_%.2f.jpg" %factor)

imgenhancer_Brightness=ImageEnhance.Brightness(img)

for i in range(istep):

factor=i/irange

img_enhance_Brightness=imgenhancer_Brightness.enhance(factor)

img_enhance_Brightness.show("Brightness %f" %factor)

img_enhance_Brightness.save("Brightness_%.2f.jpg" %factor)

imgenhancer_Contrast=ImageEnhance.Contrast(img)

for i in range(istep):

factor=i/irange

img_enhance_Contrast=imgenhancer_Contrast.enhance(factor)

img_enhance_Contrast.show("Contrast %f" %factor)

img_enhance_Contrast.save("Contrast_%.2f.jpg" %factor)

imgenhancer_Sharpness=ImageEnhance.Sharpness(img)

for i in range(istep):

factor=i/irange

img_enhance_Sharpness=imgenhancer_Sharpness.enhance(factor)

img_enhance_Sharpness.show("Sharpness %f" %factor)

img_enhance_Sharpness.save("Sharpness_%.2f.jpg" %factor)

#end

你可能感兴趣的:(python实现图像增强)