您的位置:首页 > 编程语言 > MATLAB

利用matlab提取并分割RGB图像中的某一个已知像素值的图像

2014-05-29 23:16 651 查看
已知一副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:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐