2013-04-16 232 views
1

enter image description hereMATLAB中RGB圖像的強度

我有容器的RGB圖像。爲了區分兩種血管類型(動脈和靜脈),我需要計算循環ROI中RGB圖像的強度。靜脈(V)顏色呈深紅色,而動脈呈淺紅色。不是計算不同通道(R,G和B)中的強度,是否可以計算RGB圖像中的強度?

我在只有一個通道(比如綠色通道)以下的方式進行強度計算:

image=imread('vesselAV.jpg'); 
t = 0:pi/20:2*pi; 

xi = R0*cos(t)+x; % where x , y are coordinate of centre of circular roi 
         % (marked in image) 
yi = R0*sin(t)+y; 

g=image(:,:,2); 

roimask = poly2mask(double(xi),double(yi), size(g,1),size(g,2)); 

pr_gc = find(roimask); 

Intensity_green_roi_V =(g(pr_gc)); % intensity in roi for vein 

在投資回報率同樣動脈我已經計算出的強度....

但我怎麼能計算RGB圖像中的亮度值... ?????

感謝

+1

轉換到HSV,然後只看V頻道嗎? – Dan

回答

3

本質上講,你想要的像素的灰度值轉換爲得到一個單一的強度。有幾種不同的方式,並且this blog lists three of them所以我建議你閱讀它。但是,如果你只是想要快速,我會傾向於簡單地轉換整個圖像灰度並使用該值:

grayIm = rgb2gray(image); 

rgb2gray功能使用圖像的亮度(在HSV的V),這是博客文章中的第三個例子。

1

我可能誤解了這個問題。所以請原諒我,如果這個答案是關閉的。在像素i,j處,圖像(i,j,:)是三個元素的矢量,其具有三個通道R,G和B的強度值。如果你不想處理3個元素的矢量,則I會建議使用R強度,因爲在那裏會出現最大的偏差。即使用圖像(:,:,1)。

如果您正在尋找3維「典型」強度,那麼一般來說,您會計算感興趣像素的平均值。

說,mask是你的表示爲1和0的二維矩陣感興趣的區域,那麼這將計算平均3D強度您感興趣的區域:

sum(sum(double(image).*repmat(mask,[1 1 3]),2),1)/sum(reshape(mask,[],1))) 

現在,你可以用這意味着強度和一些歐氏距離度量來確定所需像素是否包含在「靜脈」定義中。

還有很多其他的方法來解決這個分割問題,但這似乎是你問的那個問題。

相關問題