Matlab: Как вывести вершины (координаты) многоугольников на диаграмме вороного?

У меня есть созданный файл функции в руке, чтобы рисовать линии на изображении,[img]=drawline(point1,point2,color,img), Он используется для соединения любых двух точек, которые находятся внутри изображения. Меня просят создать диаграмму Вороного в изображении (без использования функции построения). На данный момент я пытаюсь показать линии на изображении, но я не знаю, как получить вершины ребер многоугольника.

Я использовал несколько тестовых кодов:

x=[50 70 70 30 40 ];% this is just some simple values for testing, 
y=[50 30 90 30 80 ];% in further stage, i plan to use `x=rand(n,1)*200`.
img=zeros(200,200,3);
color=[255 0 0];
[vx,vy]=voronoi(x,y); 

Я знаю только до выше, затем я думаю, что мне нужно использоватьfor loop выровнять вершины. Просто не знаю, с чего начать. И я также застрял в том, как решить негативные и бесконечные проблемы, если мне нужно отобразить их в изображении (координаты пикселей).

Ответы на вопрос(1)

Решение Вопроса

Если у вас есть этоdrawline Функция, которая рисует линии на изображениях, вот как вы зацикливаетесь на краях диаграммы Вороного набора точек:

%# set of points and voronoi diagram
X = rand(10,1)*200; Y = rand(10,1)*200;
[vx,vy] = voronoi(X,Y);

%# vertices connecting the edges
p1 = [vx(1,:);vy(1,:)];     % columns are "from" points
p2 = [vx(2,:);vy(2,:)];     % columns are "to" points

%# draw edges on top of image matrix
img = zeros(200,200,3);
clr = [255 0 0];
for i=1:size(vx,2)
    img = drawline(p1(:,i), p2(:,i), clr, img);
end
 Elsie19 окт. 2011 г., 15:13
Короткая и сильная петля. На самом деле, я был озадачен проблемой отрицательных значений. Как только я вороной (x, y), конечно, у меня есть некоторые отрицательные координаты и inf для [vx, vy], и то же самое относится и к эллипсу (функция «возбуждает вычисление), которая была предложена вами). Пункты, которые я получаю, чтобы составить эллипс, также включают nega valuse. Что касается моей работы, то мне нужно, наконец, заставить их отображаться в изображении. Хотя для изображения, он принимаетположительное число только. Есть ли у вас идеи по этому поводу?
 Amro20 окт. 2011 г., 06:44
@ Айви: может быть, вы могли бы использовать какой-тообрезка строки алгоритм. Что касается эллипсов, я уже предложил решение в моемпредыдущий ответ

Ваш ответ на вопрос