已知一副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:
<script>
(function(){
function setArticleH(btnReadmore,posi){
var winH = $(window).height();
var articleBox = $("div.article_content");
var artH = articleBox.height();
if(artH > winH*posi){
articleBox.css({
'height':winH*posi+'px',
'overflow':'hidden'
})
btnReadmore.click(function(){
articleBox.removeAttr("style");
$(this).parent().remove();
})
}else{
btnReadmore.parent().remove();
}
}
var btnReadmore = $("#btn-readmore");
if(btnReadmore.length>0){
if(currentUserName){
setArticleH(btnReadmore,3);
}else{
setArticleH(btnReadmore,1.2);
}
}
})()
</script>
</article>