Matlab圖像處理-RGB色彩提取原理方法
本教程適合Matlab數字圖像處理的初學者。目前有一些手機相機軟件有“魔法色彩”功能,可以將彩色照片變爲只顯示某一種具體顏色的灰色照片。本文中所提到的RGB色彩提取純粹爲實現個人興趣而編寫,正規教材中可能並無相關資料。文中較爲全面直觀地給出在Matlab中對圖像進行RGB色彩提取的方法原理和Matlab源代碼,並配合必要的代碼註釋,希望能幫助Matlab和數字圖像處理的初學者入門。
操作方法
(01)打開圖像[FileName, FilePath]=uigetfile('*.jpg;*.png;*.tif;*.img;*.gif;','請選擇圖像數據');str=[FilePath FileName];Image=imread(str);% 以對話框的形式選擇打開一幅圖像
(02)設置參數Gray=rgb2gray(Image);R=Image(:,:,1); G=Image(:,:,2); B=Image(:,:,3);diff_R=0; diff_G=0; diff_B=0; % 設置紅、綠、藍三種顏色提取閾值(越大越嚴格)
(03)紅色提取Image_R=Image;RP_R=Image(:,:,1); RP_G=Image(:,:,2); RP_B=Image(:,:,3);XYR=~((R-G)>diff_R&(R-B)>diff_R); % 提取紅色條件是R分量與G、B分量差值大於設定Mask=Gray(XYR); % 灰照片掩膜RP_R(XYR)=Mask; RP_G(XYR)=Mask; RP_B(XYR)=Mask; % 使得非紅色區域變爲灰色Image_R(:,:,1)=RP_R; Image_R(:,:,2)=RP_G; Image_R(:,:,3)=RP_B;
(04)綠色提取Image_G=Image;GP_R=Image(:,:,1); GP_G=Image(:,:,2); GP_B=Image(:,:,3);XYG=~((G-R)>diff_G&(G-B)>diff_G); % 提取綠色條件是G分量與R、B分量差值大於設定Mask=Gray(XYG); % 灰照片掩膜GP_R(XYG)=Mask; GP_G(XYG)=Mask; GP_B(XYG)=Mask; % 使得非綠色區域變爲灰色Image_G(:,:,1)=GP_R; Image_G(:,:,2)=GP_G; Image_G(:,:,3)=GP_B;
(05)藍色提取Image_B=Image;BP_R=Image(:,:,1);BP_G=Image(:,:,2);BP_B=Image(:,:,3);XYB=~((B-R)>diff_B&(B-G)>diff_B); % 提取綠色條件是G分量與R、B分量差值大於設定Mask_B=Gray(XYB); % 灰照片掩膜BP_R(XYB)=Mask_B; BP_G(XYB)=Mask_B; BP_B(XYB)=Mask_B; % 使得非藍色區域變爲灰色Image_B(:,:,1)=BP_R; Image_B(:,:,2)=BP_G; Image_B(:,:,3)=BP_B;
(06)顯示結果subplot(2,2,1),imshow(Image); title('Image');subplot(2,2,2),imshow(Image_R); title('Red Pass');subplot(2,2,3),imshow(Image_G); title('Green Pass');subplot(2,2,4),imshow(Image_B); title('Blue Pass');% 顯示原圖與R/G/B三色提取結果對比圖並顯示標籤
(07)保存結果imwrite(Image_R,'Image_R.jpg','jpeg');imwrite(Image_G,'Image_G.jpg','jpeg');imwrite(Image_B,'Image_B.jpg','jpeg');% 將R/G/B三色提取結果寫成jpg文件保存到當前目錄
原理詳解
(01)本文中提到的RGB色彩提取方法最爲關鍵的也最爲難以嚴格界定的地方是對於R/G/B三種顏色的判別規則,本文中提到的判別規則是更具R/G/B中某一顏色分量明顯不小於其它分量時,即判別某像素點爲某種顏色,並通過設置判別閾值,來控制判別條件的顏色與否。爲了保持圖片的完整性(即三種色彩提取結果中彩色相加後能得到原圖),本例中默認設置閾值爲0,爲了得到更爲單純的顏色,可適當增大閾值。如下圖是將R/G/B三色提取閾值設置爲0的提取結果:
(02)如下圖是將R/G/B三色提取閾值設置爲128的提取結果,從圖中可看到,當閾值設置越大(判定條件愈加嚴格),提取結果更接近R/G/B純色。
特別提示
本文中提出的R/G/B三色判別規則爲個人想法,更好的顏色判別規則有待大家發現,歡迎大家對本文提出的方法進行互動討論。
-
微信網頁版登陸不了怎麼辦?
大家有沒有遇到微信電腦版登錄不了的情況,今天來幫大家解決這個小問題,還不知道怎麼處理的小夥伴們來學習一下吧。操作方法(01)在手機上打開微信,如圖所示。(02)點擊右下角的“我”。(03)再點擊“賬號與安全”,紅圈中的選項。(04)然後點擊“更多安全設置”。(05)把“賬號安全...
-
將pdf轉換成word後文檔全是圖片怎麼辦
MicrosoftWord是微軟公司的一個文字處理器應用程序。它最初是由RichardBrodie爲了運行DOS的IBM計算機而在1983年編寫的,很多人不知道將pdf轉換成word後文檔全是圖片怎麼辦,下面讓我們一起來學習一下吧操作方法(01)首先打開捷速OCR文字識別軟件(02)將PDF放入捷速OCR文...
-
word2016腳註和尾註怎麼設置 腳註尾註如何轉換
在我們日常工作中,編輯Word文檔時,需要對一些名詞、句子進行解釋說明,那麼我們需要用到腳註,或是尾註。那怎麼進行設置呢,下面就來進行簡單的說明。操作方法(01)雙擊打開word文檔,選中需要加腳註的文字,然後點擊菜單欄【引用】。(02)然後點擊【插入腳註】。(03)此時會在此頁...
-
百度地圖查看座標
操作方法(01)首先,電腦打開搜狗瀏覽器,進入百度官網。(02)在上邊我們點擊百度地圖的按鈕。(03)進入地圖上,可以看到當前自己所在城市。(04)點擊地圖下方的“地圖開發平臺”按鈕。(05)在地圖開放平臺頁面,點擊:開發文檔——座標拾取器。(06)然後在地圖中,隨意點擊一個位置,就可以查...