本文实例讲述了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('www.jb51.net')

plt.imshow(img/255.0)

plt.axis('off')

plt.figure(2)

plt.title('www.jb51.net')

plt.imshow(img_out)

plt.axis('off')

plt.show()

运行效果图

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

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

本文标题: Python实现PS图像调整之对比度调整功能示例

本文地址: http://www.cppcns.com/jiaoben/python/218683.html

python 调整灰度图像对比度_Python实现PS图像调整之对比度调整功能示例相关推荐

  1. python 输入文件名查找_Python实现的根据文件名查找数据文件功能示例

    本文实例讲述了Python实现的根据文件名查找数据文件功能.分享给大家供大家参考,具体如下: #-*- coding: UTF-8 -*- import os import shutil AllFil ...

  2. python绘制立体扇形_Python实现PS滤镜特效之扇形变换效果示例

    本文实例讲述了Python实现PS滤镜特效之扇形变换效果.分享给大家供大家参考,具体如下: 这里用 Python 实现 PS 滤镜中的一种几何变换特效,称为扇形变换,将图像扭曲成一个扇形,具体的算法原 ...

  3. python线程同步锁_Python实现的多线程同步与互斥锁功能示例

    本文实例讲述了Python实现的多线程同步与互斥锁功能.分享给大家供大家参考,具体如下: #! /usr/bin/env python #coding=utf-8 import threading i ...

  4. python客户端与服务器端_Python实现的FTP通信客户端与服务器端功能示例

    本文实例讲述了Python实现的FTP通信客户端与服务器端功能.分享给大家供大家参考,具体如下: 一 代码 1.服务端代码 import socket import threading import ...

  5. python黑的调白的_Python实现PS图像调整黑白效果示例

    本文实例讲述了Python实现PS图像调整黑白效果.分享给大家供大家参考,具体如下: 这里用Python 实现 PS 里的图像调整–黑白,PS 里的黑白并不是简单粗暴的将图像转为灰度图,而是做了非常精 ...

  6. python散点图解_python 画三维图像 曲面图和散点图的示例

    用python画图很多是根据z=f(x,y)来画图的,本博文将三个对应的坐标点输入画图: 散点图: import matplotlib.pyplot as plt from mpl_toolkits. ...

  7. python更改图片中物体的颜色_Python实现去除图片中指定颜色的像素功能示例

    Python实现去除图片中指定颜色的像素功能示例 本文实例讲述了Python实现去除图片中指定颜色的像素功能.分享给大家供大家参考,具体如下: 这里用python去除图片白色像素 需要python和p ...

  8. python 获取键盘输入、同时有超时的功能_python 获取键盘输入,同时有超时的功能示例...

    如下所示: ''' ###get keyboard input and timeout =5 import sys, time, msvcrt def readInput( caption, defa ...

  9. python查找文件名_Python实现的根据文件名查找数据文件功能示例

    这篇文章主要介绍了Python实现的根据文件名查找数据文件功能,涉及Python针对文件与目录的遍历.查询等相关操作技巧,需要的朋友可以参考下 本文实例讲述了Python实现的根据文件名查找数据文件功 ...

最新文章

  1. 美国科学院学报:如何在竞争激烈的环境下维持稳定的群体
  2. Arduino编程之Serial.println()和Serial.print()
  3. 如何限制并发的 异步IO 请求数量?
  4. [SpringBoot2]文件上传_单文件与多文件上传的使用
  5. 微信小程序销毁某一注册函数_微信小程序云开发API 删除一条记录
  6. 主成分分析(PCA)原理详解 2016/12/17 · IT技术 · 主成分分析, 数学 分享到: 21 原文出处: 中科春哥 一、PCA简介 1. 相关背景 主成分分析(Principa
  7. listView当中有嵌套了有onClickListener的控件时ListView自身的onItemClick无响应的解决方案...
  8. 手写“2021”新年春节艺术字,好素材会说话!
  9. bug-AttributeError: ‘NoneType‘ object has no attribute ‘append‘
  10. Reportlab生成图文并茂的pdf报告
  11. NS3:FlowMonitor设计讲解
  12. 北京交通大学2020计算机考研科目,2020北京交通大学软件工程考研初试科目.pdf
  13. hudi系列-文件压缩(compaction)
  14. ubuntu固定内网ip_Ubuntu 设置固定ip地址
  15. 微软蓝牙鼠标3600拆解
  16. 【印刷行业】RICOH MH5422和MH5442喷头(G6+)
  17. 导出虚拟机的OVF 模板
  18. 微信小程序数据统计和错误统计的实现
  19. java class dex_class文件与dex文件分析
  20. Mysql导出数据的几种方式

热门文章

  1. 计算机考研自我介绍大概多少字,1分钟自我介绍多少字
  2. 【JZOJ4597】现世斩
  3. 利用模型算法部署图像识别_利用这些技巧增强您的图像识别模型
  4. 韩顺平 uml视频教程 笔记
  5. mvc5 ajax post json,mvc5 webap2 前台如何使用 ajax 请求后台API
  6. 游戏微服务架构设计:棋牌游戏
  7. AndroidSDK的目录详解
  8. 可过滤多种广告的“ADM(阿呆喵)广告拦截工具
  9. 耳机四根线的图解_耳机线材编法汇总
  10. redis跟memcached有啥子区别