How can find area of the dent detected?

1 vue (au cours des 30 derniers jours)
vijendra sn
vijendra sn le 3 Sep 2014
Commenté : Image Analyst le 12 Oct 2021
Hi, i have already found the dent in the laminates but i need find the area of the dent
please help me on this
  2 commentaires
Samadhan Kshirsagar
Samadhan Kshirsagar le 12 Oct 2021
by which method you have found dent?
Image Analyst
Image Analyst le 12 Oct 2021

Connectez-vous pour commenter.

Réponse acceptée

Image Analyst
Image Analyst le 3 Sep 2014
You forgot to attach your image. All I can suggest then is to run my Image Segmentation Tutorial: http://www.mathworks.com/matlabcentral/fileexchange/25157-image-segmentation-tutorial---blobsdemo--
  12 commentaires
vijendra sn
vijendra sn le 15 Sep 2014
Modifié(e) : Image Analyst le 15 Sep 2014
My Matlab version is 7.10.0.499(2010a).
Image Analyst
Image Analyst le 15 Sep 2014
Please upgrade. What happens when you say "which bwconvhull"?

Connectez-vous pour commenter.

Plus de réponses (1)

vijendra sn
vijendra sn le 22 Sep 2014
Hi,
i used bwconvhull function...how to analyze this function but still i couldn't get how to find area of the these dent detected. There are 9 dent area detected.
How to find the area of the 1 pixel in image
close all;
clear all;
clc;
A = imread('DSC_0977.jpg');
B = rgb2gray(A);
hx = fspecial('sobel');
hy = hx';
Iy = imfilter(double(B), hy, 'circular');
Ix = imfilter(double(B), hx, 'circular');
gradmag = sqrt(Ix.^2 + Iy.^2);
k=figure(1),imshow(gradmag,[]);
set(k, 'visible','off');
filename = 'temp_file.jpg';
saveas(k, filename);
i1 = imread(filename);
delete(filename);
[x, y, rgb] = ind2sub([size(i1,1) size(i1,2) size(i1,3)], find(i1 ~= 255));
C = i1(min(x):max(x)-1,min(y):max(y)-1,:);
C = rgb2gray(C);
I = edge(C,'sobel');
I = imcrop(I,[10 7 920 725]);
I = imresize(I,[3250 3500]);
f=figure(3),imshow(I);
set(f, 'visible','off');
imwrite(I, filename);
bw = imread(filename);
delete(filename);
bw1 = bwareaopen(bw,750);
bwfill = imfill(bw1,'holes');
boundary = bwboundaries(bwfill);
figure(2),imshow(I),hold on;
[row1,dim]=size(boundary);
for k = 1:row1
x1= boundary{k};
h = plot(x1(:,2),x1(:,1),'c','LineWidth',1);
bw2 = bwconvhull(boundary{k});
[label,Total]=bwlabel(bw2);
measurements = regionprops(label,'Area');
allareas(k,1)= [measurements.Area];
end

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by