Extracting coordinates values for the line.

8 vues (au cours des 30 derniers jours)
waqas
waqas le 3 Sep 2019
Commenté : waqas le 12 Oct 2019
Hi,
I want to extract the coordinates for the white points along the main line where I am getting bit of noise around with additional 1 or 2 points in some columns just around the central line. I extracted the data by applying sobel filter on a displacement field and then removed some extra noisy data using bwareopen but now I am stuck with these extra points and am unable to get rid of these. Any suggestions regarding this? I have attached the displacement field matrix in .mat file.
Annotation 2019-09-03 215357.png
  3 commentaires
Image Analyst
Image Analyst le 5 Sep 2019
If so, that's very easy, just threshold and scan across columns using find() on every column to find the first row with something in it.
Whoever told beginners that the first step to successful image analysis, and the easiest way to proceed, is to do edge detection, should be take out behind the woodshed and beaten. Is there a concerted effort by professors to spew this nonsense? It makes it unnecessarily hard for beginners.
waqas
waqas le 5 Sep 2019
@akira Yes! this is the area I am interested in to get just a single point in each column which would give me the original crack shape.
@Image Analyst. I tried to look for some solutions on the forum and read a comment somewhere which suggested to use edge detectors. Are you talking about multithresholding?

Connectez-vous pour commenter.

Réponse acceptée

Akira Agata
Akira Agata le 20 Sep 2019
How about the following?
% Load data and convert to gray-scale image
load('v.mat');
Igray = mat2gray(v);
% Apply multilevel (N = 2) image thresholds
th = multithresh(Igray,2);
Iseg = imquantize(Igray,th);
% Extract the edge between Iseg == 1 and Iseg == 2
se = strel('disk',1);
BW1 = bwperim(Iseg == 1);
BW1 = imdilate(BW1,se);
BW2 = bwperim(Iseg == 2);
BW2 = imdilate(BW2,se);
BWedge = BW1 & BW2;
BWedge = bwmorph(BWedge,'skel',Inf);
% Show the result
figure
imshow(BWedge)
edge.png
  1 commentaire
waqas
waqas le 12 Oct 2019
Hi Akira,
I am trying the code that you shared for another data set with almost the same configuration but somehow the technique is not robust. Any ideas on how to make it more versatile rather than just a particular case?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Processing and Computer Vision 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