У меня есть изображение, показанное ниже (изображение 1), и я хочу найти ближайшие пиксели рядом с моей линией.
На изображении 2, как вы можете видеть, красные крестики - это белые пиксели на моем изображении, а зеленые - это точки на моей линии. Линия отображается синим цветом.
Поэтому я хочу найти, какой красный пиксель ближе к зеленому.
И после этого я хочу создать новую линию, которая проходит через ближайшие точки.
Итак, у меня есть массив с координатами точек моей линии и еще один массив с координатами всех белых пикселей (красные крестики) моего изображения
Я написал код ниже, но он находит 100 случайных точек на моей линии (та, что с голубыми кругами), которые они не являются самыми близкими, например, в A2 A2.
lineCoord - это ячейка с массивами, скажем, 100x2 каждая:
(x1, y1) - начальные точки моей линии, (x2, y2) - конечные точки
x1 = lineCoord{1}(1,1);
x2 = lineCoord{1}(end,1);
y1 = lineCoord{1}(1,2);
y2 = lineCoord{1}(end,2);
n = 100;
x0 = linspace(x1,x2,n);
x0 = round(x0);
y0 = linspace(y1,y2,n);
y0 = round(y0);
for i=1:length(x0)
plot(x0(i),y0(i),'o','LineWidth',1.5,'Color','c');
end