Halcom 发表于 2017-5-4 22:17:58

二值化图像Solidity特征求解,重构RGB图像

MATLAB2014a下运行:
function = bwconn_Solidity(im, bw1, thre)
% 0<thre<1
cc = bwconncomp(bw1);                % 连通域操作
stats = regionprops(bw1,'all');      % 提取二值化块的所有特征
id = find( <thre );% 矩形度小于thre的,全部输出
for i=1:length(id)
    bw1(labelmatrix(cc)==id(i))=0;   % 剔除矩形度小于thre的所有二值化块
end
% figure('color',),
% imshow(bw1)

bw1 = bwareaopen(bw1,300);% 去掉面积小于300的小块

% 二值化区域边界分割
= bwboundaries(bw1,'noholes');
Label_rgb = label2rgb(Label,'jet',[.5 .5 .5]);

RGB1 = reconstruct_rgb(im, bw1);二值化图像,重构RGB图像
function RGB1 = reconstruct_rgb(I_rgb, A1)
% I_rgb:彩色图像
% A1:二值化图像

if size(I_rgb,3)==1
    msgbox('请输入一张彩色图像!!!');
    return;
end
R=I_rgb(:,:,1);
G=I_rgb(:,:,2);
B=I_rgb(:,:,3);
% 重构显示彩色图
R1 = immultiply(R, logical(A1));
G1 = immultiply(G, logical(A1));
B1 = immultiply(B, logical(A1));
RGB1 = cat(3,R1,G1,B1);





页: [1]
查看完整版本: 二值化图像Solidity特征求解,重构RGB图像