700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python 操作ps_Python实现PS图像调整之对比度调整功能示例

python 操作ps_Python实现PS图像调整之对比度调整功能示例

时间:2022-11-08 22:22:54

相关推荐

python 操作ps_Python实现PS图像调整之对比度调整功能示例

本文实例讲述了Python实现PS图像调整之对比度调整功能。分享给大家供大家参考,具体如下:

这里用 Python 实现 PS 里的图像调整–对比度调整。具体的算法原理如下:

(1)、nRGB = RGB + (RGB - Threshold) * Contrast / 255

公式中,nRGB表示图像像素新的R、G、B分量,RGB表示图像像素R、G、B分量,Threshold为给定的阈值,Contrast为处理过的对比度增量。

Photoshop对于对比度增量,是按给定值的正负分别处理的:

当增量等于-255时,是图像对比度的下端极限,此时,图像RGB各分量都等于阈值,图像呈全灰色,灰度图上只有1条线,即阈值灰度;

当增量大于-255且小于0时,直接用上面的公式计算图像像素各分量;

当增量等于255时,是图像对比度的上端极限,实际等于设置图像阈值,图像由最多八种颜色组成,灰度图上最多8条线,即红、黄、绿、青、蓝、紫及黑与白;

当增量大于0且小于255时,则先按下面公式(2)处理增量,然后再按上面公式(1)计算对比度:

(2)、nContrast = 255 * 255 / (255 - Contrast) - 255公式中的nContrast为处理后的对比度增量,Contrast为给定的对比度增量。

# -*- coding: utf-8 -*-

#! python3

import matplotlib.pyplot as plt

from skimage import io

file_name='D:/Visual Effects/PS Algorithm/4.jpg';

img=io.imread(file_name)

img = img * 1.0

thre = img.mean()

# -100 - 100

contrast = -55.0

img_out = img * 1.0

if contrast <= -255.0:

img_out = (img_out >= 0) + thre -1

elif contrast > -255.0 and contrast < 0:

img_out = img + (img - thre) * contrast / 255.0

elif contrast < 255.0 and contrast > 0:

new_con = 255.0 *255.0 / (256.0-contrast) - 255.0

img_out = img + (img - thre) * new_con / 255.0

else:

mask_1 = img > thre

img_out = mask_1 * 255.0

img_out = img_out / 255.0

# 饱和处理

mask_1 = img_out < 0

mask_2 = img_out > 1

img_out = img_out * (1-mask_1)

img_out = img_out * (1-mask_2) + mask_2

plt.figure()

plt.title('')

plt.imshow(img/255.0)

plt.axis('off')

plt.figure(2)

plt.title('')

plt.imshow(img_out)

plt.axis('off')

plt.show()

运行效果图

希望本文所述对大家Python程序设计有所帮助。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。