I new to matlab and image analysis. I want to measure average width (also min and max width) and and area of this probe. can anyone help me how to do this? thanks.
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I want to measure this Image
0 comentarios
Respuestas (1)
yanqi liu
el 15 de Oct. de 2021
sir,please check the follow code to get some information
clc; clear all; close all;
img = imread('https://ww2.mathworks.cn/matlabcentral/answers/uploaded_files/767536/Diameter21.jpg');
im = rgb2gray(img);
bw = imbinarize(im,'adaptive','ForegroundPolarity','dark','Sensitivity',0.6);
bw = imclose(bw, strel('line', 19, 90));
bw = bwareaopen(bw, 2000);
[L,num]=bwlabel(bw);
stats = regionprops(L);
ar = cat(1, stats.Area);
[~,ind] = sort(ar);
bw = L==ind(1)|L==ind(2);
im1 = im; im2 = im; im3 = im;
im1(bw) = 255; im2(bw) = 0; im3(bw) = 0;
imt = cat(3,im1,im2,im3);
figure; imshow(bw);
figure; imshow(imt);
% width
wid = [];
for i = 1 : size(bw,1)
ri = bw(i,:);
indi = find(ri);
wid(i) = indi(end)-indi(1);
end
% max、min、average
max_width = max(wid)
min_width = min(wid)
average_width = mean(wid)
Ver también
Categorías
Más información sobre Read, Write, and Modify Image en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!