<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          圖像色彩空間與應(yīng)用轉(zhuǎn)換

          共 3652字,需瀏覽 8分鐘

           ·

          2021-10-22 07:15

          點擊上方小白學視覺”,選擇加"星標"或“置頂

          重磅干貨,第一時間送達

          引言


          重新寫了一下圖像色彩空間相關(guān)的知識,希望給大家多一點背景多點了解,不說別的,看完了肯定會漲知識。

          RGB色彩空間


          圖像處理最基礎(chǔ)的知識點之一就是圖像色彩跟顏色模型,對計算機來說表示一張圖

          像,只是一些零壹的二進制值,但是對人眼來說看到的都是一些可見光,而且人眼只對三種可見光比較敏感,分別是紅色(red)、綠色(green)、藍色(blue)。這個就是最基本的RGB顏色模型,三種顏色的波長范圍表示如下:

          Blue: 450–495 nmGreen: 495–570 nmYellow: 570–590 nm

          針對人眼對顏色這個物理現(xiàn)象的生物感知表達模型,國際照明協(xié)會在1931年發(fā)布了一個顏色模型/色彩空間,表示如下:

          因此就出現(xiàn)了對應(yīng)顏色模型的色彩空間CIE XYZ模型,對于的表示色度跟亮度表示,圖示如下:

          從這個上面看不到Z,其實Z是表示顏色得亮度,或者深度,所以CIE XYZ顏色模型的這個圖又被稱為CIE 色度圖。CIE XYZ顏色模型表示的范圍比較大,所以后來微軟跟惠普就提出了一個它的子集的顏色模型sRGB色彩空間,其中S是英文單詞標準的首字母,sRGB色彩空間的表示如下:

          上面的黑色三角形區(qū)域就稱為sRGB色彩空間,被廣泛應(yīng)用在個人電腦顯示器、打印機、數(shù)碼相機中,占據(jù)了大量市場份額、到了90年代的時候Adobe公司提出了一個新RGB色彩空間模型Adobe RGB色彩空間,它比sRGB色彩空間有更大的取值范圍,因此色彩更加細膩更加豐富,它的色彩空間圖示如下:

          從圖中可以看成Adobe RGB色彩空間是比sRGB色彩空間大的,但是這個也有缺陷,就是不同色彩空間生成的彩色圖像,在不同的設(shè)備上顯示或者瀏覽會出現(xiàn)色差,為了解決這個問題,需要對不同色彩空間之間建立轉(zhuǎn)換模型,實現(xiàn)不同色彩空間模型的轉(zhuǎn)。后來RGB色彩空間就被大家玩壞了,現(xiàn)在常用的RGB色彩空間如下:

          其中值得關(guān)注的部分是sRGB跟CMYK之間的相互轉(zhuǎn)換,這個轉(zhuǎn)換之后會導致很明顯的色彩差異,原因在于CMYK色彩空間又一部分不在sRGB內(nèi)部,所以這種情況下,需要對RGB色彩空間進行非線性變換,獲得顏色補償。原因在于多數(shù)商業(yè)打印機都是基于四色(Cyan, Yellow, Magenta and Black),無法打印一些sRGB范圍的顏色,所以必須進行非線性變換跟補償。這個其中最常見的就是Gamma校正。


          非RGB色彩


          RGB色彩空間比較豐富,但是它也是有缺點的,最大的缺點就是無法直觀的區(qū)分圖像顏色、亮度、飽和度等值。所以我們需要一些更加直觀的圖像色彩空間,排在第一位的就是HSV色彩空間,它直觀,容易理解,因此在圖像處理非常有用。


          HSV色彩空間

          RGB立方圖色彩空間無法很好區(qū)分顏色與亮度的關(guān)系,要單獨調(diào)整顏色或者亮度不是很方便,這個時候HSV色彩空間是一個很好的選擇,它對顏色與亮度有著很好的區(qū)分度,HSV色彩空間圖示如下:

          解釋如下:

          • H(Hue) 表示顏色通道,不同的值表示不同的顏色范圍

          • S表示飽和度通道,表示色澤

          • V表示亮度通道,代表圖像亮度高低級別

          在H、S、V通道上對圖像亮度跟顏色或者飽和度的調(diào)整就非常方便了,另外對一些特定的顏色值進行分離也比較方便了。


          YCrCb色彩空間

          YCrCb色彩空間被開發(fā)作為當時的數(shù)字分量視頻的標準,它跟YUV色彩空間有著一定相似性,它的三個通道的取值范圍分別被定義為:

          • Y通道:16~235

          • Cr通道:16~240

          • Cb通道:16~240

          需要特別注意的是,RGB到Y(jié)CrCb的色彩空間轉(zhuǎn)換時候,不同的YCrCb色彩空間標準會有不同,下面標清電視跟高清電視上YCrCb的色彩差異:

          很顯然它們的轉(zhuǎn)換公式也會有所不同,所以千萬不用看到不同轉(zhuǎn)換公式就大驚小怪的!


          LAB色彩空間

          LAB色彩空間又名CIE Lab / LAB,它的圖示如下:

          其中:

          • L通道表示亮度值

          • A通道表示紅色/綠色值

          • B通道表示藍色/黃色值

          在LAB色彩空間,L表示亮度分量、AB表示顏色通道,所以有時候LAB色彩空間處理圖像也會必RGB色彩空間好用,會有意想不到的好結(jié)果。


          OpenCV實現(xiàn)


          OpenCV色彩空間相互轉(zhuǎn)換與操作的函數(shù)主要有兩個,其中支持色彩空間轉(zhuǎn)換的函數(shù)為:

          void cv::cvtColor(InputArray src,OutputArray dst,int   code,int   dstCn = 0)

          參數(shù)解釋如下

          • src 表示輸入圖像

          • dst 表示輸出圖像

          • code 表示空間轉(zhuǎn)換代碼,支持常見的各種色彩空間轉(zhuǎn)換


          從色彩空間中提取不同色顏色值函數(shù):

          void cv::inRange(InputArray src,InputArray      lowerb,InputArray      upperb,OutputArray   dst)

          參數(shù)解釋如下:

          • src是輸入圖像

          • lowerb是取值范圍最小值

          • upperb是取值范圍最大值

          • dst是輸出的mask圖像,二值的

          一個例子,綠色背景對象上前景對象提取,先看一下效果:

          相關(guān)代碼如下:

           1#include?
          2#include?
          3
          4using?namespace?cv;
          5using?namespace?std;
          6
          7int?main(int?argc,?const?char?*argv[])
          8
          {
          9????Mat?src?=?imread("D:/vcprojects/images/cat.jpg");
          10????if?(src.empty())?{
          11????????printf("could?not?load?image...\n");
          12????????return?-1;
          13????}
          14????namedWindow("input",?WINDOW_AUTOSIZE);
          15????imshow("input",?src);
          16
          17????//?RGB?to?HSV
          18????Mat?hsv;
          19????cvtColor(src,?hsv,?COLOR_BGR2HSV);
          20????imshow("hsv",?hsv);
          21
          22????//?RGB?to?YUV
          23????Mat?yuv;
          24????cvtColor(src,?yuv,?COLOR_BGR2YUV);
          25????imshow("yuv",?yuv);
          26
          27????//?RGB?to?YUV
          28????Mat?ycrcb;
          29????cvtColor(src,?ycrcb,?COLOR_BGR2YCrCb);
          30????imshow("ycrcb",?ycrcb);
          31
          32????Mat?src2?=?imread("D:/javaopencv/tinygreen.png");
          33????imshow("src2",?src2);
          34????cvtColor(src2,?hsv,?COLOR_BGR2HSV);
          35????Mat?mask;
          36????inRange(hsv,?Scalar(35,?43,?46),?Scalar(99,?255,?255),?mask);
          37????imshow("mask",?mask);
          38
          39????waitKey(0);
          40????return?0;
          41}


          下載1:OpenCV-Contrib擴展模塊中文版教程
          在「小白學視覺」公眾號后臺回復(fù):擴展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實戰(zhàn)項目52講
          小白學視覺公眾號后臺回復(fù):Python視覺實戰(zhàn)項目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學校計算機視覺。

          下載3:OpenCV實戰(zhàn)項目20講
          小白學視覺公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學習進階。

          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學影像、GAN、算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


          瀏覽 41
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操屄黄色视频 | AV91在线| 优希麻琴无码一区二区三区 | 国产无码在线诱惑视频 | 日韩高清欧美 |