计算形状的径向

时间:2011-10-29 19:26:19

标签: c opencv shape radial

我正在使用径向来识别道路标志形状。 我有形状的中心点,我必须找到7个径向来识别图形。 要找到7个径向,我必须找到0º,30º,60º和90º的点,如下图所示(图像a):

https://lh4.googleusercontent.com/-sFsGXGD9VGI/TqxRjwIoSPI/AAAAAAAAAD0/yUOhN7RNUhU/s445/radiais.png

问题是,我不知道如何找到离我中心30º的点。

看,在我的第一次植入时,我正在计算5个径向(0º,45º和90º),如图像b: 为了找到0º点,我做了:

//fix the y coordinate and increment x coord
for(x = center.x to width)
    pixel(x, center.y)

要找到90º的点,我做了:

//fix the x coordinate and increment y coord
for(y = center.y to height)
    pixel(center.x, y)

为了找到45º的点,我做了:

//increment x and y coord in the same number
for(x = center.x, y = center.y to width, height)
    pixel(x, y)

所以,我想知道如何在30º和60º处接入点。

ps。抱歉,还不能发布图片了!没有声誉。

1 个答案:

答案 0 :(得分:2)

您可以使用极坐标系。这是一个伪代码:

theta = 30 * pi / 180                      // 30, 60, whatever
for r = 0 to length_of_line
    x = center.x + r * cos(theta)
    y = center.y + r * sin(theta)
    pixel(x, y)

通过这种方式,您可以绘制倾角为12,16,94.7362,......度

的径向