Diameter of a droplet using image processing

조회 수: 7 (최근 30일)
G.N.V.SUDEEPTA VAISHNAVI
G.N.V.SUDEEPTA VAISHNAVI 2021년 10월 29일
댓글: Deependra Kumar 2023년 8월 23일
I would like to know how to get the maximum diameter of a droplet using image processing toolbox.

채택된 답변

DGM
DGM 2021년 10월 29일
편집: DGM 2021년 10월 29일
A simple method that works at least for this image:
A = rgb2gray(imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/782708/image.jpeg'));
A = imfill(bwareafilt(A<50,1),'holes');
S = regionprops(A,'boundingbox');
blobwidth = S.BoundingBox(3) % in pixels
blobwidth = 622
% show the extents for reference
imshow(A); hold on
rectangle('position',S.BoundingBox,'edgecolor','y')
You'll have to convert that to mm.

추가 답변 (1개)

yanqi liu
yanqi liu 2021년 10월 29일
편집: yanqi liu 2021년 10월 29일
sir,please check the follow code to get some information
clc; clear all; close all;
im = imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/782708/image.jpeg');
im = rgb2gray(im);
bw = imbinarize(im,'adaptive','ForegroundPolarity','dark','Sensitivity',0.85);
bw = imclearborder(bw);
bw = bwareaopen(bw, 100);
[L,num] = bwlabel(bw);
stats = regionprops(L);
figure; imshow(im);
for i = 1 : num
recti = stats(i).BoundingBox;
ceni = stats(i).Centroid;
hold on; rectangle('position', recti, 'EdgeColor', 'g', 'LineWidth', 2)
text(ceni(1), ceni(2), sprintf('width=%.1f', recti(3)), 'Color', 'r');
end
figure; imshow(bw);
rects=cat(1,stats.BoundingBox);
disp(max(rects(:, 3)))
78

카테고리

Help CenterFile Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by