How to draw a line through a set of points?
27 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
valerio auricchio
il 3 Nov 2020
Commentato: Rik
il 10 Giu 2021
Hi, I have an image and a set of points present in the image. These points are not aligned with each other and I would like to draw a line that intersects the points
3 Commenti
John D'Errico
il 3 Nov 2020
PLEASE DON'T ASK THE SAME QUESTION REPEATEDLY!
I've deleted my answer. since you already have answers to your last question.
Risposta accettata
Image Analyst
il 3 Nov 2020
You forgot to attach your points, which would have been helpful.
Since your definition of "through" is a regression rather than to have the line connect all the points, use polyfit()
coefficients = polyfit(x, y, 1);
%xFit = x; % Option 1 : same number of points as the training set.
xFit = linspace(min(x), max(x), 2000); % Option 2 : lots of points, and not just where the training points are.
yFit = polyval(coefficients, xFit);
plot(x, y, 'r+', 'LineWidth', 2, 'Markersize', 15)
hold on;
plot(xFit, yFit, 'm-', 'LineWidth', 2)
7 Commenti
Image Analyst
il 3 Nov 2020
Modificato: Image Analyst
il 3 Nov 2020
Please attach your original image without the cyan markers on it, so I can get the points via thresholding:
mask = grayImage >= 200;
[y, x] = find(mask);
hold on
plot(x, y, 'c.');
hold off;
or else, supply me with a list of the x,y points you want to use.
And tell me the definition of the other line so I can find the angles of both of them and the acute angle between them.
Più risposte (1)
Ameer Hamza
il 3 Nov 2020
If you have the coordinates then you can use plot()
img; % your image
x; % x-coordinates of points
y; % y-coordinates of points
imshow(img);
hold on
plot(x, y)
6 Commenti
Rik
il 10 Giu 2021
You can store a handle to the graphics object. Is that what you mean by storing the curve?
Vedere anche
Categorie
Scopri di più su Basic Display in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!