Python實(shí)現(xiàn)PS圖像調(diào)整之對(duì)比度調(diào)整功能示例
本文實(shí)例講述了Python實(shí)現(xiàn)PS圖像調(diào)整之對(duì)比度調(diào)整功能。分享給大家供大家參考,具體如下:
這里用 Python 實(shí)現(xiàn) PS 里的圖像調(diào)整–對(duì)比度調(diào)整。具體的算法原理如下:
(1)、nRGB = RGB + (RGB - Threshold) * Contrast / 255
公式中,nRGB表示圖像像素新的R、G、B分量,RGB表示圖像像素R、G、B分量,Threshold為給定的閾值,Contrast為處理過(guò)的對(duì)比度增量。
Photoshop對(duì)于對(duì)比度增量,是按給定值的正負(fù)分別處理的:
當(dāng)增量等于-255時(shí),是圖像對(duì)比度的下端極限,此時(shí),圖像RGB各分量都等于閾值,圖像呈全灰色,灰度圖上只有1條線,即閾值灰度;
當(dāng)增量大于-255且小于0時(shí),直接用上面的公式計(jì)算圖像像素各分量;
當(dāng)增量等于255時(shí),是圖像對(duì)比度的上端極限,實(shí)際等于設(shè)置圖像閾值,圖像由最多八種顏色組成,灰度圖上最多8條線,即紅、黃、綠、青、藍(lán)、紫及黑與白;
當(dāng)增量大于0且小于255時(shí),則先按下面公式(2)處理增量,然后再按上面公式(1)計(jì)算對(duì)比度:
(2)、nContrast = 255 * 255 / (255 - Contrast) - 255
公式中的nContrast為處理后的對(duì)比度增量,Contrast為給定的對(duì)比度增量。
# -*- 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.dhdzp.com')
plt.imshow(img/255.0)
plt.axis('off')
plt.figure(2)
plt.title('www.dhdzp.com')
plt.imshow(img_out)
plt.axis('off')
plt.show()
運(yùn)行效果圖


更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門(mén)與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python中PS 圖像調(diào)整算法原理之亮度調(diào)整
- Python實(shí)現(xiàn) PS 圖像調(diào)整中的亮度調(diào)整
- Python實(shí)現(xiàn)PS圖像調(diào)整黑白效果示例
- Python實(shí)現(xiàn)PS圖像調(diào)整顏色梯度效果示例
- Python實(shí)現(xiàn)PS圖像明亮度調(diào)整效果示例
- python 設(shè)置輸出圖像的像素大小方法
- python隨機(jī)在一張圖像上截取任意大小圖片的方法
- Python繪制并保存指定大小圖像的方法
- 用python 批量更改圖像尺寸到統(tǒng)一大小的方法
- 如何使用Python調(diào)整圖像大小
相關(guān)文章
Python爬蟲(chóng)之Selenium中frame/iframe表單嵌套頁(yè)面
這篇文章主要介紹了Python爬蟲(chóng)之Selenium中frame/iframe表單嵌套頁(yè)面,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
caffe binaryproto 與 npy相互轉(zhuǎn)換的實(shí)例講解
今天小編就為大家分享一篇caffe binaryproto 與 npy相互轉(zhuǎn)換的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
PyQt5如何將.ui文件轉(zhuǎn)換為.py文件的實(shí)例代碼
這篇文章主要介紹了PyQt5之如何將.ui文件轉(zhuǎn)換為.py文件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5線程類QThread詳細(xì)使用方法
這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5線程QThread類詳細(xì)使用方法,需要的朋友可以參考下2020-02-02
python數(shù)據(jù)分析matplotlib的基礎(chǔ)繪圖使用
這篇文章主要為大家介紹了python數(shù)據(jù)分析matplotlib的基礎(chǔ)繪圖使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Python+tkinter實(shí)現(xiàn)一個(gè)繪圖風(fēng)格控件
這篇文章主要為大家詳細(xì)介紹了Python如何利用tkinter實(shí)現(xiàn)一個(gè)簡(jiǎn)單的繪圖風(fēng)格控件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下2023-09-09
解決plt.savefig()保存到本地的圖片上下左右會(huì)有白邊
這篇文章主要介紹了解決plt.savefig()保存到本地的圖片上下左右會(huì)有白邊的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
圖文講解選擇排序算法的原理及在Python中的實(shí)現(xiàn)
這篇文章主要介紹了選擇排序的原理及在Python中的實(shí)現(xiàn),選擇排序的時(shí)間復(fù)雜度為О(n²),需要的朋友可以參考下2016-05-05
快速進(jìn)修Python指南之面向?qū)ο筮M(jìn)階
這篇文章主要為大家介紹了Java開(kāi)發(fā)者快速進(jìn)修Python指南之面向?qū)ο筮M(jìn)階,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12

