读取二值化后的图像 img_bw = imread6bmp; 计算连通分量 cc = bwconncompimg_bw; 删除分支 img_cleaned = bwmorphimg_bw spur Inf; 计算区域属性 props = regionpropsimg_cleaned Area Perimeter; 计算长度 lengths = propsPerimeter 4;
% 读取二值化后的图像 img_bw = imread('6.bmp');
% 将图像转为二值化矩阵 img_bw = im2bw(img_bw);
% 计算连通分量 cc = bwconncomp(img_bw);
% 删除分支 img_cleaned = bwmorph(img_bw, 'spur', Inf);
% 计算区域属性 props = regionprops(img_cleaned, 'Area', 'Perimeter');
% 计算长度 lengths = [props.Perimeter] ./ 4;
% 计算面积 areas = [props.Area];
% 计算长度大于 0.483 nm 的条纹 idx = find(lengths > 0.483);
% 存储符合条件的条纹 stripes = img_cleaned; stripes_idx = cc.PixelIdxList(idx); for i = 1:length(idx) stripes(stripes_idx{i}) = 0; end
% 显示原始图像和条纹图像 subplot(1,2,1), imshow(img_bw); title('Binary Image'); subplot(1,2,2), imshow(stripes); title('Stripes');
原文地址: https://www.cveoy.top/t/topic/bqks 著作权归作者所有。请勿转载和采集!