
Extracting coordinates values for the line.
9 views (last 30 days)
Show older comments
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.

Accepted Answer
Akira Agata
on 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)

More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!