Opencv学习笔记——普通坐标转化为极坐标
来源:互联网 发布:mac国际象棋在哪 编辑:程序博客网 时间:2024/05/14 04:32
使用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=cvCreateMat(3,3,CV_32FC1);cvCartToPolar(x,y,magnitude,angle,1);/*将普通坐标转化为极坐标x,y,magnitude,angle分别为矩阵而且相互对应,1是指角度用360度数表示,0是角度用弧度表示*/double s1,s2; printf("极坐标的值为:\n"); for( i=0;i<3;i++){for(int j=0;j<3;j++){printf("(%lf,",cvmGet(magnitude,i,j));//获取矩阵中的指定元素 printf("%lf) ",cvmGet(angle,i,j));}printf("\n");}return 0;}具体结果如下:
0 0
- Opencv学习笔记——普通坐标转化为极坐标
- OpenGl学习笔记3——屏幕坐标(2维)转化为世界坐标(3维)
- OpenCV学习——极坐标变换
- OpenCV学习笔记——点击显示鼠标坐标
- OpenCV学习笔记——点击显示鼠标坐标
- GDAL库学习笔记-坐标转化
- 笔记1:从普通坐标到齐次坐标
- opencv笛卡尔坐标转换为极坐标cvLogPolar的应用
- 原生地图获取坐标转化为真实坐标,火星坐标
- Maven学习笔记——坐标详解
- 坐标转化
- OSG学习笔记25——屏幕坐标——相机坐标——世界坐标之间的转换
- OpenCV——PS 滤镜算法之平面坐标到极坐标的变换
- OpenCV笛卡尔坐标转极坐标cartToPolar()
- 屏幕坐标转化为世界坐标(vc opengl)
- 屏幕坐标转化为三维物体的坐标
- 三维世界坐标转化为二维屏幕坐标
- OpenGL:屏幕二维坐标转化为三维模型坐标
- [C++对象模型][7]单继承与虚函数表
- ActiveReports 报表应用教程 (2)---清单类报表
- 从数据库中取数据vo接收后展示出现的问题
- Greedy and its implementation with python
- nodejs在centos下的安装
- Opencv学习笔记——普通坐标转化为极坐标
- MEID校验位算法
- C++ Unicode SBCS 函数对照表
- Thread.currentThread().getContextClassLoader()与Test.class.getClassLoader()区别
- 獲取當前日期往前推三個月(當前日期減去三個月)
- ActiveReports 报表应用教程 (3)---图表报表
- SSH三大框架一些异常的办法
- 【iOS越狱开发】如何将应用打包成.ipa文件
- 准备你的行囊----建立环境