matlab 圓形模板ROI


今天幫同學寫個算法,要用到圓形模板,處理圓形ROI里的圖像,查了下資料stackoverflow上有個好的解法記錄下啦,以免以后用到的時候還需要查。

img = imread('r_lena.png');
grayimg = rgb2gray(img);
[imgW,imgH] = size(grayimg);
t = linspace(0, 2*pi, 50);   %# approximate circle with 50 points
r = 100;                      %半徑
c = [250 250];               %圓心坐標
%get circular mask
BW = poly2mask(r*cos(t)+c(1), r*sin(t)+c(2), imgW, imgH);
rgbmask(:,:,1) = BW;
rgbmask(:,:,2) = BW;
rgbmask(:,:,3) = BW;
rgbROI = immultiply(img,rgbmask);%
grayROI = immultiply(grayimg,BW);
figure,imshow(BW);
figure,imshow(rgbROI);
figure,imshow(grayROI);
原圖:

r_lena

mask

BW

灰度圖mask結果

grayROI

rgb圖mask結果

rgbroi


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM