convert line to pixel coordinate

7 Ansichten (letzte 30 Tage)
mohammed alany
mohammed alany am 3 Aug. 2019
Bearbeitet: Image Analyst am 4 Aug. 2019
Hi,
if i have a path consist of six points , and i have obstacle, what i want is to put nodes in all the path to count the minimum distance between
the obstacle and the path
example.jpg
  4 Kommentare
darova
darova am 3 Aug. 2019
What about pdist2()?
mohammed alany
mohammed alany am 3 Aug. 2019
the problem i wanted all the coordinate of midpoints between each two nodes

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 4 Aug. 2019
What if you just take the average of the initial, known points?
x = sort(rand(9, 1));
y = sort(rand(9, 1));
plot(x, y, '.-', 'Color', [247, 148, 20]/255, 'MarkerSize', 40);
grid on;
xlabel('X');
ylabel('Y');
xAve = (x(1:end-1) + x(2:end))/2;
yAve = (y(1:end-1) + y(2:end))/2;
hold on;
plot(xAve, yAve, '.', 'Color', [206, 24, 18]/255, 'MarkerSize', 40);
legend('Original Points', 'Mid Points', 'Location', 'north');
0001 Screenshot.png
  3 Kommentare
Image Analyst
Image Analyst am 4 Aug. 2019
Bearbeitet: Image Analyst am 4 Aug. 2019
You could use linspace() instead of just averaging. Try this:
x = sort(rand(9, 1));
y = sort(rand(9, 1));
% Now we have sample data and can begin.
numPoints = 2; % # points in between, not including the knot endpoints.
xAve = x(1);
yAve = y(1);
for k = 2 : length(y)
inBetweenPoints = linspace(x(k-1), x(k), numPoints + 2); % 2 more to include the knots.
xAve = [xAve, inBetweenPoints(2:end)];
inBetweenPoints = linspace(y(k-1), y(k), numPoints + 2);
yAve = [yAve, inBetweenPoints(2:end)];
end
plot(xAve, yAve, '.', 'Color', [206, 24, 18]/255, 'MarkerSize', 40);
hold on;
plot(x, y, '.-', 'Color', [247, 148, 20]/255, 'MarkerSize', 40);
grid on;
xlabel('X');
ylabel('Y');
legend('Mid Points', 'Original Points', 'Location', 'north');
0001 Screenshot.png
You could also use interparc (File Exchange), or use splines (demo attached).
mohammed alany
mohammed alany am 4 Aug. 2019
many thanks Image Analyst

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 3 Aug. 2019
Use bwdist().
  9 Kommentare
mohammed alany
mohammed alany am 3 Aug. 2019
dear Image Analyst,
i have list of (x,y) coordinates, which is six orange spots as in figure,
i would like to finde midpoints along the path in order to calculate
the minimum distance between the all path with obstacles,
in my case if i have just 6 nodes, i will find just the distance between the orange spots and obstacles and this is dosn't mean the minimum distance between the obstacle and the path
darova
darova am 4 Aug. 2019
What about interparc()?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Images finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by