透视变换
来源:互联网 发布:淘宝手机卡实名流程 编辑:程序博客网 时间:2024/04/28 05:51
#ifdef _CH_
#pragma package<opencv>
#endif
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"cvcam.lib")
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"highgui.lib")
#include <cv.h>
#include <cvcam.h>
#include <cxcore.h>
#include <highgui.h>
void main()
{
//载入图像
IplImage *src_image=cvLoadImage("1.jpg");
assert(src_image!=NULL);
IplImage *dst_image=cvCloneImage(src_image);
assert(dst_image!=NULL);
//所需点元素
CvPoint2D32f srcQuad[4],dstQuad[4];
//矩阵地图
CvMat *warp_matrix=cvCreateMat(3,3,CV_32FC1);
assert(warp_matrix!=NULL);
dst_image->origin=src_image->origin;
cvSetZero(dst_image);
srcQuad[0].x = 0; //左上
srcQuad[0].y = 0;
srcQuad[1].x = src_image->width-1; //右上
srcQuad[1].y = 0;
srcQuad[2].x =0; //左下
srcQuad[2].y =src_image->height -1;
srcQuad[3].x = src_image->width -1; //右下
srcQuad[3].y = src_image->height -1;
dstQuad[0].x = src_image->width *0.05; //左上
dstQuad[0].y = src_image->height *0.33;
dstQuad[1].x = src_image->width* 0.9; //右上
dstQuad[1].y = src_image->height* 0.25;
dstQuad[2].x = src_image->width* 0.2; //左下
dstQuad[2].y = src_image->height* 0.7;
dstQuad[3].x = src_image->width* 0.8; //右下
dstQuad[3].y = src_image->height* 0.9;
//获得地图矩阵
cvGetPerspectiveTransform(srcQuad,
dstQuad,
warp_matrix
);
//执行透视变换
cvWarpPerspective(src_image,dst_image,warp_matrix);
//创建窗口
cvNamedWindow("Show_Src");
cvNamedWindow("Show_Dst");
//显示窗口
cvShowImage("Show_Src",src_image);
cvShowImage("Show_Dst",dst_image);
cvWaitKey();
//释放资源
cvReleaseImage(&src_image);
cvReleaseImage(&dst_image);
cvDestroyWindow("Show_Src");
cvDestroyWindow("Show_Dst");
}
- 透视变换
- 透视变换
- 透视变换
- 透视变换
- 透视变换
- OpenCVForUnity 透视校正,透视变换
- 透视变换---一点透视和两点透视
- 仿射变换&透视变换
- cvWarpPerspective:透视变换
- 透视变换实例
- silverlight 透视变换
- 三维透视变换
- emgu cv 透视变换
- 图像的透视变换
- opencv 透视变换
- OpenCV透视变换
- opencv 透视变换
- OpenCV 透视变换实例
- 仿射变换
- 十年IT生涯感情祭
- 拷贝卷积边界
- 拉普拉斯变换
- 模板匹配
- 透视变换
- 业务规则分类
- sudo与su
- JoleYe不同版本介绍
- 像素片段
- C++——STL所有算法介绍
- Magento 中执行SQL语句.
- VSTS 报表自定义之Bug重现频率报表
- 18道c++笔试题