Нарисуйте квадратичную дугу над IplImage - PullRequest
0 голосов
/ 22 октября 2011

В настоящее время у меня есть iplimage, который был изменен с помощью opencv.Мне нужно нарисовать дугу, подобную дуге параболы квадратного уравнения, и я не могу ее создать, используя основные функции рисования, встроенные в opencv.Я изучал OpenGL, но все, что я могу найти, это кривые Безье.Какую библиотеку лучше всего использовать для этого?

Ответы [ 3 ]

0 голосов
/ 25 октября 2011

Я нашел это на этой странице. Это работает, и я уверен, что, если я не могу понять, как преобразовать iplimage во что-то перенасыщенное, я могу применить этот алгоритм в opencv, поскольку он очень похож на то, что упоминается ниже выше.

0 голосов
/ 25 октября 2011

OpenCV cvEllipse - это все, что вам нужно для этого.Просто позаботьтесь о том, как использовать параметры.

cvEllipse (CvArr * img, центр CvPoint, оси CvSize, двойной угол, двойной startAngle, двойной endAngle, цвет CvScalar, int толщина = 1, int lineType = 8, intсдвиг = 0)

0 голосов
/ 24 октября 2011

Я бы не рекомендовал переходить на OpenGL (основываясь на том, что вы указали в посте).

Если вы хотите использовать простой подход, вы можете решить квадратное уравнение по точкам(т.е. предположим, что x - независимая переменная, а затем решим для y).Как только x и y известны, вы можете нарисовать цвет в указанной точке.Ниже приведен фрагмент кода, иллюстрирующий способ окраски пикселя в OpenCV.Возьмите этот код как есть: он работал для меня, но он не учитывает сглаживание, прозрачность, субпиксельную точность и т. П.Поддержка кривой Безье в OpenCV сторонние библиотеки для поддержки кривой Безье в OpenCV.Я экспериментировал с этим в прошлом.С небольшими вычислениями вы можете представить произвольные конические сечения, используя взвешенные кривые Безье.Взгляните на раздел «Кривые Безье» в нижней части страницы Википедии: Кривая Безье

...