MATLAB Answers

0

Fitting the data so that one a single continuous line is achived

Asked by waqas on 4 Sep 2019
Latest activity Commented on by waqas on 4 Sep 2019
Hi,
I have following line that I want to smooth out so that only one point will be there in one column:
Annotation 2019-09-04 112619.png
mat file for the data is also attached. I tried to look for curve fitting and interpolation etc but could not comprehend how exactly tackle this.

  0 Comments

Sign in to comment.

1 Answer

Answer by KSSV
on 4 Sep 2019

I = imread('Annotation 2019-09-04 112619.png') ;
I1 = imcrop(I) ; % crop to remove white borders present around the image
I1 = rgb2gray(I1) ;
[y,x] = find(I1) ;
% Do fitting
p = polyfit(x,y,2) ;
xi = min(x):max(x) ;
yi = polyval(p,xi) ;
imshow(I1)
hold on
plot(xi,yi,'r')

  3 Comments

This is sacrifcing the shape too much which would later cause problems for me. Any other suggestions on how to remove same values column wise (unique function didnt work)?
Try using smooth
imshow(I1)
hold on
plot(x,smooth(y),'r')
It is still giving almost the same fit. I reckon if some sort of trignomatric fit can give better conservation of orginal randomness of line. Line is basically depicting a crack and showing it as a smooth curve would be a simplified case which would cause problems in later stages of analysis.

Sign in to comment.