利用matlab提取並分割RGB影象中的某一個已知畫素值的影象
阿新 • • 發佈:2019-02-03
已知一副RGB影象中的的畫素值,利用matlab將其分割出來並以二進位制影象形式顯示:
%extract.m
clear all;
I=imread('new_original.png');
figure,imshow(I),title('Original Image');
bw=im2bw(I,0.3);
%figure,imshow(bw),title('Gray Image');
rgb=[252,2,4];
img=extract_rgb(I,rgb);
figure,imshow(im2bw(img)),title('Segmentation');
function out_img = extract_rgb(in_img,color_rgb ) %UNTITLED2 Summary of this function goes here % in_img 輸入影象 color_rgb 需要分割的rgb畫素值 % 提取RGB彩色影象中的某一個顏色到一個二值影象中為黑色 [rol, row,mut]=size(in_img); out_img=zeros([rol,row]); for x=1:(rol-1) for y=1:(row-1) R=in_img(x,y,1); G=in_img(x,y,2); B=in_img(x,y,3); if((R==color_rgb(1))&(G==color_rgb(2))&(B==color_rgb(3))); in_img(x,y,:) out_img(x,y)=255; end end end return; end
Original Image:
Segmentation Result: