matlab统计二值图多个白色像素连通区域面积和数量,并用直方图表示,写一段代码
时间: 2024-05-24 09:12:08 浏览: 141
二值图像连通区域的标记,二值图像分支点连接数,matlab
5星 · 资源好评率100%
clear;clc;
% 生成随机的二值图
binaryImage = randi([0 1], 200, 200);
% 将二值图转换为逻辑图像
binaryImage = logical(binaryImage);
% 利用bwlabel函数计算白色像素连通区域面积和数量
[labels, num] = bwlabel(binaryImage);
stats = regionprops(labels, 'Area');
% 计算所有白色像素连通区域的面积和
totalArea = sum([stats.Area]);
% 输出白色像素连通区域的数量和面积和
disp(['白色像素连通区域数量为:', num2str(num)]);
disp(['白色像素连通区域面积和为:', num2str(totalArea)]);
% 绘制直方图
areas = [stats.Area];
histogram(areas, 'BinWidth', 20);
xlabel('连通区域面积');
ylabel('数量');
title('白色像素连通区域面积分布直方图');
阅读全文