使用Opencv自带的函数cvCartToPolar可以将坐标从普通坐标转化为极坐标,也可以利用cvPolarToCart转化回来,但在转化过程中我们可以发现,这函数是以y坐标中作为轴坐标的。具体代码如下:
#include "stdio.h"
#include "cv.h"
#include "highgui.h"
int main(int argc, char* argv[])
{
//建立两个分别存储x和y坐标的矩阵
CvMat *x=cvCreateMat(3,3,CV_32FC1);
CvMat *y=cvCreateMat(3,3,CV_32FC1);
printf("初始的坐标点为:\n");
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{ //分别对x和y进行赋值
cvmSet(x,i,j,(float)(i+j));
/*
x是要赋值的矩阵,i,j表示矩阵的下标,后面的是要赋得值才,类型与矩阵类型相同
*/
cvmSet(y,i,j,(float)(i+j+5));
printf("(%f,",(float)(i+j));
printf("%f) ",(float)(i+j+5));
}
printf("\n");
}
//定义极坐标的两个坐标值
CvMat *magnitude=cvCreateMat(3,3,CV_32FC1);
CvMat *angle=cvCreateMa