skel_props = regionprops(cc, 'PixelIdxList', 'PixelList', 'Area'); % 计算条纹长度 skel_lengths = zeros(length(skel_props), 1); for i = 1:length(skel_props) skel_length = skel_props(i).Area * pixel_size; skel_lengths(i) = skel_length; end % 消除短条纹 long_skel_lengths = skel_lengths(skel_lengths >= 0.483); % 统计数据和图像展示 disp(['Total number of stripes: ', num2str(length(skel_props))]); disp(['Total length of stripes: ', num2str(sum(skel_lengths)), ' nm']); disp(['Number of long stripes: ', num2str(length(long_skel_lengths))]); disp(['Total length of long stripes: ', num2str(sum(long_skel_lengths)), ' nm']); figure; imshow(img); hold on; for i = 1:length(skel_props) plot(skel_props(i).PixelList(:, 1), skel_props(i).PixelList(:, 2), 'r'); end title('Skeletonized Stripes'); figure; histogram(long_skel_lengths, 'BinWidth', 1); xlabel('Stripe Length (nm)'); ylabel('Frequency'); title('Histogram of Long Stripes');

提示:无法将类型为 struct 的值用作索引。修改代码。

读入原始图像 img = imread7-1tif; 转换为灰度图像 gray_img = rgb2grayimg; 二值化图像 bw_img = imbinarizegray_img; 骨架化操作 skel_img = bwmorphbw_img skel Inf; 计算像素长度 pixel_size = 00595; 空间分辨率为00595纳米像素 skel_img_dia

原文地址: http://www.cveoy.top/t/topic/bxl5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录