国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間

這篇具有很好參考價(jià)值的文章主要介紹了opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本專欄代碼地址https://github.com/xiawei20161308104/xv_opencv_tutorials
本節(jié)代碼路徑xv_opencv_tutorials/ImageProcessinginOpenCV/changing_colorspaces.py
參考 圖像工程第4版,張毓晉,清華大學(xué)出版社

0.本節(jié)涉及的opencv新函數(shù)

  • 顏色空間轉(zhuǎn)化函數(shù) cv.cvtColor()

1.彩色的形成

“Indeed rays,properly expressed,are not colored”——牛頓。

光線為不同頻率的電磁波,人的視覺能感受到光的刺激,并且將不同頻率的電磁波感知為不同顏色,所以,彩色僅存在于人的眼睛和大腦中,物理世界分布的是帶有不同輻射能量的光線。

2.彩色空間

彩色模型建立在彩色空間之上,彩色模型和彩色空間的概念不做分別。
根據(jù)原理可以分為4類,根據(jù)應(yīng)用可以分為2類

根據(jù)原理模型 原理 舉例
比色模型/色度模型 基于對(duì)光譜反射的物理測(cè)量 為顏色"id",顏色最精確的表達(dá)
生理學(xué)模型 基于人類視網(wǎng)膜中存在的3種基本顏色感知錐細(xì)胞 RGB
心理物理模型/精神物理學(xué)模型 基于人類對(duì)顏色的感知 HSI,HCV,L*a*b*
對(duì)立模型 基于感知實(shí)驗(yàn) HSB
根據(jù)應(yīng)用模型 應(yīng)用 舉例
面向硬設(shè)備 顯示器,打印機(jī) RGB,CMY,CMYK
面向視覺 動(dòng)畫,圖像處理 HSI,HSB,L*a*b*

3.為什么需要選擇合適的彩色空間

人對(duì)彩色的感知與刺激視網(wǎng)膜的電磁輻射的譜能量分布,人的神經(jīng)心里學(xué),人的生理行為等有關(guān),感知彩色是一個(gè)很復(fù)雜的過程,應(yīng)用也存在多樣性。CIE定義了若干彩色模型,每個(gè)模型都只有特定的適用情況,
沒有一種通用模型滿足所有情況,由彩色原理和彩色應(yīng)用等去選擇合適的彩色模型能統(tǒng)一處理問題的維度。

4.如何選擇合適的彩色空間

了解自己的需求并尋找對(duì)應(yīng)特性的彩色空間。例如,RGB模型特別適合在圖像采集輸入和圖像輸出顯示等場(chǎng)合應(yīng)用,但與人類視覺感知有一定區(qū)別,就是當(dāng)我們看到一幅圖像的時(shí)候并不能感知到他的紅綠藍(lán)各有多少分量,這個(gè)時(shí)候HSV模型就比較適配,H代表色調(diào),S代表飽和度,V代表強(qiáng)度,這樣建立的模型與人的感知高度適配。
在HSV模式下分析圖像,取到圖像的V值,并減小100個(gè)像素到v1,對(duì)比觀察,能發(fā)現(xiàn),人眼就能明顯感知到亮度的變化。

def main():  
    # 讀取圖像  
    src = cv.imread("../imgs/opencv.png")  
    # 轉(zhuǎn)換HSV空間  
    hsv = cv.cvtColor(src, cv.COLOR_BGR2HSV)  
    # 分離通道  
    h, s, v = cv.split(hsv)  
    cv.namedWindow("v", cv.WINDOW_NORMAL)  
    cv.imshow("v", v)  
    # 減小亮度  
    v1 = v - 30  
    cv.namedWindow("v1", cv.WINDOW_NORMAL)  
    cv.imshow("v1", v1)  
  
    cv.waitKey(0)  
    cv.destroyAllWindows()

opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間

5.常用的彩色空間

RGB

opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間
(出自圖像工程第4版,張毓晉,清華大學(xué)出版社)

  • 基于 人體錐細(xì)胞,為一種與人的視覺系統(tǒng)結(jié)構(gòu)密切相連的模型
  • 視網(wǎng)膜中三種不同的感受彩色的錐細(xì)胞的波長響應(yīng)曲線SML與三原色RGB基本對(duì)應(yīng)
  • RGB模型的建立在笛卡爾坐標(biāo)系統(tǒng)中
  • 原點(diǎn)為黑色,離原點(diǎn)最遠(yuǎn)的頂點(diǎn)為白色,這兩點(diǎn)連線上為深淺不同的灰色

CMY

  • 三色光兩兩疊加產(chǎn)生三補(bǔ)色CMY,C為藍(lán)綠(綠+藍(lán)),M為品紅(紅+藍(lán)),Y為黃(紅+綠)
  • 一般用于出版社打印,圖像處理不常用

HSI

opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間

  • HSI與人類感知相對(duì)應(yīng),被稱為面向用戶的彩色模型
  • 用色調(diào)(Hue)、色飽和度(Saturation)和亮度(Intensity)來描述色彩
  • 獨(dú)立于顯示設(shè)備
  • HSI的優(yōu)點(diǎn):
    1. 強(qiáng)度分量與圖像的彩色信息無關(guān),是獨(dú)立的, 也就是強(qiáng)度/亮度分量的變換并不改變圖像的色調(diào)和飽和度。
    2. H與S獨(dú)立并且適配人的感官,使得HSI模型非常適合基于人的視覺系統(tǒng)對(duì)彩色感知特性進(jìn)行處理分析的圖像算法。
  • HSI的缺點(diǎn):
    1. 并不是均勻彩色空間模型——人所感覺到的兩點(diǎn)的色彩區(qū)別程度與色彩空間兩點(diǎn)的歐氏距離相對(duì)應(yīng)。

為了更直觀的感受HSI彩色模型對(duì)人類感官的適配,代碼拆分了同一幅圖的RGB分量和HSV分量。
opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間顏色越深則該分量值的占比越大。可以看出,HSI的三幅圖看起來很不相同,表示,人眼能感覺到的HSI三個(gè)分量的區(qū)別要比RGB三個(gè)分量的區(qū)別要大

L*a*b*

  • 從人的直觀感受來看,彩色模型對(duì)彩色的描述應(yīng)該與人對(duì)彩色的感知越同步越好,L\*a\*b\*是一個(gè)均勻彩色空間,即,人所感覺到的兩點(diǎn)的色彩區(qū)別程度與此空間中兩點(diǎn)的歐氏距離相對(duì)應(yīng)
  • 也是一個(gè)面向人類視覺的彩色空間,與設(shè)備無關(guān),適合接近自然光照明的應(yīng)用場(chǎng)合

6.變換彩色空間數(shù)學(xué)公式

每個(gè)工具包工具定義的分量范圍不同,像色調(diào)H可以是0-180也可以是0-360,在數(shù)學(xué)上,可以互相轉(zhuǎn)換。所以opencv在處理時(shí),對(duì)于8位和16位圖像,R、 G 和 B 被轉(zhuǎn)換為浮點(diǎn)格式,并按比例縮放歸一化到0-1。
部分轉(zhuǎn)換公式如下:

  • RGB2Gray

opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間

  • RGB2CIE XYZ
    opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間

  • RGB2HSV
    opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間

7.opencv變換彩色空間代碼+注釋+效果

opencv的cvtColor函數(shù)實(shí)現(xiàn)色彩空間的轉(zhuǎn)換,提供了150種顏色空間的轉(zhuǎn)換方式,只需要在cvtColor函數(shù)的flag位填寫對(duì)應(yīng)的轉(zhuǎn)換標(biāo)識(shí)即可。轉(zhuǎn)換標(biāo)識(shí)獲取如下。

import cv2 as cv  
flags = [i for i in dir(cv) if i.startswith('COLOR_')]  
#這里會(huì)輸出150種flag,他們是opencv定義的彩色空間轉(zhuǎn)換flag,是cv.cvtColor(input_image, flag)的第二個(gè)參數(shù)值。
print( flags )

可以自己通過上面的代碼獲取,或者直接查詢官方文檔

這里介紹兩種轉(zhuǎn)換代碼和效果案例,分別是BGR2GrayBGR2HSV(opencv中沒提供HSI,但這兩個(gè)彩色空間差不多

#BGR2Gray
import cv2 as cv  
def main():   
	src = cv.imread("../imgs/opencv.png")
    cv.namedWindow("input", cv.WINDOW_AUTOSIZE)  
    cv.imshow("input", src)  
    gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)  
    cv.imwrite('gray.png', gray)  
    cv.imshow("gray", gray)  
    cv.waitKey(0)  
    cv.destroyAllWindows()  
if __name__ == "__main__":  
    main()

opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間

def main():  
    src = cv.imread("../imgs/opencv.png")  
    cv.namedWindow("input", cv.WINDOW_AUTOSIZE)  
    cv.imshow("input", src)  
  
    hsv = cv.cvtColor(src, cv.COLOR_BGR2HSV)  
    cv.imwrite('hsv.png', hsv)  
    cv.imshow("hsv", hsv)  
    # 分離通道  
    h, s, v = cv.split(hsv)  
    cv.namedWindow("h", cv.WINDOW_NORMAL)  
    cv.imshow("h", h)  
    cv.namedWindow("s", cv.WINDOW_NORMAL)  
    cv.imshow("s", s)  
    cv.namedWindow("v", cv.WINDOW_NORMAL)  
    cv.imshow("v", v)  
  
    cv.waitKey(0)  
    cv.destroyAllWindows()  

if __name__ == "__main__":  
    main()

opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間文章來源地址http://www.zghlxwxcb.cn/news/detail-438897.html

到了這里,關(guān)于opencv+圖像處理(Image Processing in OpenCV) 4-0改變顏色空間的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • OpenCV圖像處理-灰度處理

    OpenCV圖像處理-灰度處理

    灰度的線性變換將圖像中的所有像素點(diǎn)的值按 線性變換函數(shù) 進(jìn)行變換。 在曝光不足或過度的情況下,圖像的灰度值會(huì)局限在一個(gè)很小的范圍內(nèi),這時(shí)在顯示器上看到的將是一個(gè)模糊不清、似乎沒有層次的圖像。 針對(duì)這一情況,使用一個(gè)線性單值函數(shù)對(duì)圖像內(nèi)的每一個(gè)像素做

    2024年02月08日
    瀏覽(46)
  • OpenCV實(shí)戰(zhàn)(1)——OpenCV與圖像處理基礎(chǔ)

    OpenCV實(shí)戰(zhàn)(1)——OpenCV與圖像處理基礎(chǔ)

    OpenCV 是一個(gè)的跨平臺(tái)計(jì)算機(jī)視覺庫,包含了 500 多個(gè)用于圖像和視頻分析的高效算法。本節(jié)將介紹 OpenCV 的基礎(chǔ)知識(shí),以及如何編譯運(yùn)行 OpenCV 程序,并將學(xué)習(xí)如何完成最基本的圖像處理任務(wù)——讀取、顯示和保存圖像。除此之外,鼠標(biāo)事件和圖形繪制也是 OpenCV 計(jì)算機(jī)視覺項(xiàng)

    2024年02月05日
    瀏覽(31)
  • opencv 圖像基礎(chǔ)處理_灰度圖像

    opencv 圖像基礎(chǔ)處理_灰度圖像

    二值圖像表示起來簡單方便,但是因?yàn)槠鋬H有黑白兩種顏色,所表示的圖像不夠細(xì)膩。如果想要表現(xiàn)更多的細(xì)節(jié),就需要使用更多的顏色。例如,圖 2-3 中的 lena 圖像是一幅灰度圖像, 它采用了更多的數(shù)值以體現(xiàn)不同的顏色,因此該圖像的細(xì)節(jié)信息更豐富。 通常,計(jì)算機(jī)會(huì)將

    2024年02月15日
    瀏覽(36)
  • Python 基于 OpenCV 視覺圖像處理實(shí)戰(zhàn) 之 OpenCV 簡單實(shí)戰(zhàn)案例 之六 簡單圖像傾斜校正處理效果

    Python 基于 OpenCV 視覺圖像處理實(shí)戰(zhàn) 之 OpenCV 簡單實(shí)戰(zhàn)案例 之六 簡單圖像傾斜校正處理效果

    目錄 Python 基于 OpenCV 視覺圖像處理實(shí)戰(zhàn) 之 OpenCV 簡單實(shí)戰(zhàn)案例 之六 簡單圖像傾斜校正處理效果 一、簡單介紹 二、簡單圖像傾斜校正處理效果實(shí)現(xiàn)原理 三、簡單圖像傾斜校正處理效果案例實(shí)現(xiàn)簡單步驟 四、注意事項(xiàng) Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語言。是一種面向?qū)?/p>

    2024年04月13日
    瀏覽(28)
  • OpenCV圖像處理-圖像分割-MeanShift

    OpenCV圖像處理-圖像分割-MeanShift

    MeanShift嚴(yán)格說來并不是用來對(duì)圖像進(jìn)行分割的,而是在色彩層面的平滑濾波。它會(huì)中和色彩分布相近的顏色,平滑色彩細(xì)節(jié),侵蝕掉面積較小的的顏色區(qū)域,它以圖像上任意一點(diǎn)P為圓心,半徑為sp,色彩幅值為sr進(jìn)行不斷地迭代。 語法:pyrMeanShiftFiltering(img, double sp, double sr,

    2024年02月16日
    瀏覽(38)
  • opencv-圖像處理基礎(chǔ)-二值圖像

    opencv-圖像處理基礎(chǔ)-二值圖像

    1.二值圖像 二值圖像是指僅僅包含黑色和白色兩種顏色的圖像。 在計(jì)算機(jī)中,通過一個(gè)柵格狀排列的數(shù)據(jù)集(矩陣)來表示和處理圖像。例如,圖 2-1 是 一個(gè)字母 A 的圖像,計(jì)算機(jī)在處理該圖像時(shí),會(huì)首先將其劃分為一個(gè)個(gè)的小方塊,每一個(gè)小方 塊就是一個(gè)獨(dú)立的處理單位

    2024年02月15日
    瀏覽(26)
  • (3-1)OpenCV圖像視覺處理:OpenCV基礎(chǔ)

    OpenCV(Open Source Computer Vision Library)是一個(gè)開源的計(jì)算機(jī)視覺庫,它提供了很多函數(shù),這些函數(shù)非常高效地實(shí)現(xiàn)了計(jì)算機(jī)視覺算法(最基本的濾波到高級(jí)的物體檢測(cè)皆有涵蓋)。在本章的內(nèi)容中,將詳細(xì)講解在P ython程序中使用 OpenCV 實(shí)現(xiàn) 圖像視覺處理的 知識(shí),為讀者步入本書

    2024年02月21日
    瀏覽(97)
  • Opencv圖像處理(全)

    Opencv圖像處理(全)

    ???專欄:Pytorch項(xiàng)目實(shí)戰(zhàn) ???Opencv 圖像處理(全) ???Opencv C++圖像處理(全) ???Pillow 圖像處理(PIL.Image) ???Pytorch基礎(chǔ)(全) ???Python常用內(nèi)置函數(shù)(全) ???卷積神經(jīng)網(wǎng)絡(luò)CNN的經(jīng)典模型 ???卷積神經(jīng)網(wǎng)絡(luò)CNN的實(shí)戰(zhàn)知識(shí) ???三萬字硬核詳解:yolov1、yolov2、

    2024年02月04日
    瀏覽(21)
  • opencv-簡單圖像處理

    opencv-簡單圖像處理

    圖像像素存儲(chǔ)形式 對(duì)于只有黑白顏色的灰度圖,為單通道,一個(gè)像素塊對(duì)應(yīng)矩陣中一個(gè)數(shù)字,數(shù)值為0到255, 其中0表示最暗(黑色) ,255表示最亮(白色) 對(duì)于采用RGB模式的彩色圖片,為三通道圖,Red、Green、Blue三原色,按不同比例相加,一個(gè)像素塊對(duì)應(yīng)矩陣中的一個(gè)向量

    2024年02月05日
    瀏覽(24)
  • OpenCV圖像處理----圖像的二值化

    OpenCV圖像處理----圖像的二值化

    圖像二值化( Image Binarization) 就是將圖像上的像素點(diǎn)的灰度值設(shè)置為0或255,也就是將整個(gè)圖像呈現(xiàn)出明顯的黑白效果的過程。 二值化的原理 OpenCV提供的圖像二值化API threshold()方法參數(shù): 圖片矩陣 閾值 圖片中的最大值 二值化的方式 二值化的方式: THRESH_BINARY 高于閾值改為

    2024年02月12日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包