獨(dú)家|OpenCV 1.6 改變圖像的對(duì)比度和亮度!
翻譯:陳之炎 校對(duì):吳金迪
本文約2500字,建議閱讀5分鐘
本文為大家介紹了OpenCV改變圖像的對(duì)比度和亮度。
目標(biāo)
訪問(wèn)像素值;
用零初始化矩陣;
學(xué)習(xí)CV :: saturate_cast的作用及其有用的原因;
學(xué)習(xí)有關(guān)像素變換的很酷的知識(shí);
提高圖像亮度的實(shí)例。
理論
圖像處理
常用的圖像處理操作是一個(gè)函數(shù),它將一個(gè)或多個(gè)圖像作為輸入并生成輸出圖像。
圖像變可被視為:
點(diǎn)運(yùn)算符(像素變換);
鄰近(基于區(qū)域的)運(yùn)算符。
像素變換
在圖像處理中, 每個(gè)輸出像素的值僅取決于相應(yīng)的輸入像素值(可能還包括一些全局收集的信息或參數(shù));
此類操作實(shí)例包括亮度調(diào)整、對(duì)比度調(diào)整以及顏色的校正和轉(zhuǎn)換。
亮度和對(duì)比度調(diào)整

參數(shù)α > 0和β通常稱為增益參數(shù)和偏置參數(shù),通過(guò)這兩個(gè)參數(shù)分別來(lái)控制對(duì)比度和亮度。
F ( X )為源圖像的像素,G ( X )為輸出圖像的像素。可以方便地寫(xiě)出以下表達(dá)式:

其中i和j表示位于第i行,第j列的像素。
代碼
C ++
https://github.com/opencv/opencv/blob/master/samples/java/tutorial_code/ImgProc/changing_contrast_brightness_image/BasicLinearTransformsDemo.java
https://github.com/opencv/opencv/blob/master/samples/python/tutorial_code/imgProc/changing_contrast_brightness_image/BasicLinearTransforms.py)
原文可下載源代碼(地址在文末)
下面的代碼執(zhí)行g(shù)(i,j)=α?f(i,j)+β操作

代碼詳解
C ++

初始像素值為零;
與原始圖像相同的尺寸和數(shù)據(jù)類型。

我們現(xiàn)在要求用戶輸入α和β值:

為了執(zhí)行g(shù)(i,j)=α?f(i,j)+β操作,我們必須訪問(wèn)圖像的每個(gè)像素。由于是對(duì)BGR圖像進(jìn)行操作,所以每個(gè)像素包含(B,G和R)三個(gè)值,我們必須分別訪問(wèn)它們。具體代碼如下:

我們利用 image.at<Vec3b>(y,x)[c]來(lái)訪問(wèn)圖像的各個(gè)像素,其中?是行號(hào), X是列號(hào),C是B,G或R(0,1或2);
由于α?p(i,j)+β 操作的值可能溢出或?yàn)榉钦麛?shù)(如α是浮點(diǎn)數(shù)),我們用CV :: saturate_cast來(lái)確保該值的有效性;
最后,我們用以下方式創(chuàng)建窗口并顯示圖像。


結(jié)果
我們不運(yùn)行代碼,設(shè)置α = 2.2和β = 50。


實(shí)例
圖像亮度和對(duì)比度調(diào)整


伽瑪校正
伽瑪校正利用輸入值和輸出映射值之間的非線性變換,校正圖像的亮度:


糾正曝光不足的圖像

圖: Visem的作品 [CC BY-SA 3.0],來(lái)源:維基共享資源


代碼
C ++

更多資源
圖形渲染中的伽瑪校正
CRT監(jiān)視器的伽瑪校正和圖像顯示
數(shù)字曝光技術(shù)
https://docs.opencv.org/4.5.2/d3/dc1/tutorial_basic_linear_transform.html
下一小節(jié):1.7 離散傅里葉變換
獨(dú)家|OpenCV 1.2 如何用OpenCV掃描圖像、查找表和測(cè)量時(shí)間(附鏈接)
獨(dú)家|OpenCV 1.4 對(duì)圖像的操作
譯者簡(jiǎn)介
陳之炎,北京交通大學(xué)通信與控制工程專業(yè)畢業(yè),獲得工學(xué)碩士學(xué)位,歷任長(zhǎng)城計(jì)算機(jī)軟件與系統(tǒng)公司工程師,大唐微電子公司工程師,現(xiàn)任北京吾譯超群科技有限公司技術(shù)支持。目前從事智能化翻譯教學(xué)系統(tǒng)的運(yùn)營(yíng)和維護(hù),在人工智能深度學(xué)習(xí)和自然語(yǔ)言處理(NLP)方面積累有一定的經(jīng)驗(yàn)。業(yè)余時(shí)間喜愛(ài)翻譯創(chuàng)作,翻譯作品主要有:IEC-ISO 7816、伊拉克石油工程項(xiàng)目、新財(cái)稅主義宣言等等,其中中譯英作品“新財(cái)稅主義宣言”在GLOBAL TIMES正式發(fā)表。能夠利用業(yè)余時(shí)間加入到THU 數(shù)據(jù)派平臺(tái)的翻譯志愿者小組,希望能和大家一起交流分享,共同進(jìn)步
翻譯組招募信息
工作內(nèi)容:需要一顆細(xì)致的心,將選取好的外文文章翻譯成流暢的中文。如果你是數(shù)據(jù)科學(xué)/統(tǒng)計(jì)學(xué)/計(jì)算機(jī)類的留學(xué)生,或在海外從事相關(guān)工作,或?qū)ψ约和庹Z(yǔ)水平有信心的朋友歡迎加入翻譯小組。
你能得到:定期的翻譯培訓(xùn)提高志愿者的翻譯水平,提高對(duì)于數(shù)據(jù)科學(xué)前沿的認(rèn)知,海外的朋友可以和國(guó)內(nèi)技術(shù)應(yīng)用發(fā)展保持聯(lián)系,THU數(shù)據(jù)派產(chǎn)學(xué)研的背景為志愿者帶來(lái)好的發(fā)展機(jī)遇。
其他福利:來(lái)自于名企的數(shù)據(jù)科學(xué)工作者,北大清華以及海外等名校學(xué)生他們都將成為你在翻譯小組的伙伴。
點(diǎn)擊文末“閱讀原文”加入數(shù)據(jù)派團(tuán)隊(duì)~
轉(zhuǎn)載須知
如需轉(zhuǎn)載,請(qǐng)?jiān)陂_(kāi)篇顯著位置注明作者和出處(轉(zhuǎn)自:數(shù)據(jù)派ID:DatapiTHU),并在文章結(jié)尾放置數(shù)據(jù)派醒目二維碼。有原創(chuàng)標(biāo)識(shí)文章,請(qǐng)發(fā)送【文章名稱-待授權(quán)公眾號(hào)名稱及ID】至聯(lián)系郵箱,申請(qǐng)白名單授權(quán)并按要求編輯。
發(fā)布后請(qǐng)將鏈接反饋至聯(lián)系郵箱(見(jiàn)下方)。未經(jīng)許可的轉(zhuǎn)載以及改編者,我們將依法追究其法律責(zé)任。
點(diǎn)擊“閱讀原文”擁抱組織


