cvPerspectiveTransform
来源:互联网 发布:淘宝的宝贝尺寸是多少 编辑:程序博客网 时间:2024/06/11 14:56
今天在用到透视投影变换的时候,调用opencv中的cvPerspectiveTransform ,不知为何总是报错,后来仔细看了cvPerspectiveTransform 函数说明后才明白,
void cvPerspectiveTransform( const CvArr* src, CvArr* dst, const CvMat* mat );
参数src,dst必须是三通道的浮点数组,也就是一个值中包含有(x,y,z)坐标了。
以一个简单的例子说明
#include <cv.h>#include <highgui.h>using namespace cv;void main(){ float A[] = {1 , 0 , 0 , 0 , 0 , 2 , 0 , 10 , 0 , 0 , 1 , 20 , 0 , 0 , 0 , 1} ; CvMat *perMat = cvCreateMat(4 , 4 , CV_32FC1) ;//透视投影变换矩阵 cvInitMatHeader(perMat , 4 , 4, CV_32FC1 , A) ; float s[] = {10 , 20 , 30} ; CvMat *src = cvCreateMat(1 , 1 , CV_32FC3) ;//待变换点 cvInitMatHeader(src , 1 , 1 , CV_32FC3 , s) ; CvMat *dst = cvCreateMat(1 , 1 , CV_32FC3) ;//变换后点 cvPerspectiveTransform(src , dst , perMat) ; std::cout<<std::endl ; for (int i = 0 ; i < 1 ; i++) { float *pdata = (float*)(dst->data.ptr) ; std::cout<<*pdata<<"\t"<<*(pdata + 1)<<"\t"<<*(pdata + 2) ; } std::cout<<std::endl ;}
0 0
- cvPerspectiveTransform
- cvPerspectiveTransform
- Java 调用 shell 脚本详解
- Redis 配置文件详解
- android-adding animation
- SSH——Hibernate初学者之旅(一)
- php模块版本配对问题
- cvPerspectiveTransform
- 安装cocoapods
- 各种概念的龙头股
- Java——猜拳游戏
- Java设计模式_结构型_组合模式_树根树叶和树枝
- Java套接字Socket编程--TCP参数
- OPENCV人脸检测实现
- 模仿 QQ侧边栏 onClick 和 onTouch共存 问题
- Android开源框架ImageLoader的完美例子