我想知道如何将一个二进制图像伪彩色图像基于封闭区域
2视图(30天)
显示旧的评论
接受的答案
图像分析
2021年10月25日
编辑:图像分析
2021年10月25日
试试这个:
%演示图像分析
clc;%清除命令窗口。
关闭所有;%关闭所有数据(除了imtool。)
清晰;%擦掉所有现有的变量。或者clearvars如果你想要的。
工作空间;%确定工作区面板显示。
格式长g;
格式紧凑的;
字形大小= 20;
markerSize = 40;
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%读入图像
文件名=“image.png”;
grayImage = imread(文件名);
%得到图像的尺寸。
% numberOfColorChannels应该为灰度图像,= 1和3的RGB彩色图像。
(行、列,numberOfColorChannels) =大小(grayImage)
如果numberOfColorChannels > 1
%这不是灰度像我们预期的颜色。
%提取红色通道(红色线会是白色)。
grayImage = grayImage (:: 1);
结束
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
%显示图像。
次要情节(2 2 1);
imshow (grayImage []);
impixelinfo;
轴(“上”,“图像”);
标题(的原始灰度图像,“字形大小”字形大小,“翻译”,“没有”);
持有在
drawnow;
%最大化窗口。
g = gcf;
g。WindowState =“最大化”
drawnow;
%得到一个面具:
binaryImage = grayImage < 128;
%显示图像。
次要情节(2,2,2);
imshow (binaryImage []);
impixelinfo;
轴(“上”,“图像”);
标题(“面具/二进制逻辑图像”,“字形大小”字形大小,“翻译”,“没有”);
持有在
drawnow;
%与8-connectivity标签每个团,所以我们可以测量它
[labeledImage, numberOfBlobs] = bwlabel (binaryImage 8);
%显示图像。
次要情节(2、2、3);
imshow (labeledImage []);
impixelinfo;
轴(“上”,“图像”);
标题(“标记图像”,“字形大小”字形大小,“翻译”,“没有”);
持有在
drawnow;
%应用各种各样的假彩色区域。
coloredLabelsImage = label2rgb (labeledImage,“喷气机”,(0,0,0。5));
%显示伪色彩图像。
次要情节(2、2、4);
imshow (coloredLabelsImage);
impixelinfo;
轴(“上”,“图像”);
标题(彩色的标记图像的,“字形大小”字形大小,“翻译”,“没有”);
持有在
drawnow;
[编辑]只是报告说,尽管这可能看起来漂亮,它是
不是很有用
因为你不能告诉如果附近blob相连,因为他们的颜色非常相似。你最好与洗牌的颜色是这样的:
coloredLabelsImage = label2rgb (labeledImage,“喷气机”,“k”,“洗牌”);
0评论
更多的答案(3)
焉耆刘
2021年10月26日
先生,请检查下代码来得到一些信息
clc;清晰的所有;关闭所有;
我= imread (“//www.tianjin-qmedu.com/matlabcentral/answers/uploaded_files/777933/image.png”);
J = im2bw(我);
J = ~;
[L, num] = bwlabel (J);
图;显示亮度图像(左);轴平等的;轴从;colormap飞机;