OpenCV: 三对点计算仿射变换
来源:互联网 发布:java电子书打包下载 编辑:程序博客网 时间:2024/04/28 10:06
// 仿射变换.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <cv.h>#include <highgui.h>#include<windows.h>#define affine #ifdef affineint main(int argc, char** argv){ CvPoint2D32f srcTri[3], dstTri[3]; CvMat* rot_mat = cvCreateMat(2,3,CV_32FC1); CvMat* warp_mat = cvCreateMat(2,3,CV_32FC1); IplImage *src, *dst; if( argc == 1 && ((src=cvLoadImage("lenagray.jpg",1)) != 0 ))//原文中是argc == 2,错误 { dst = cvCloneImage(src); dst->origin = src->origin; cvZero(dst); //COMPUTE WARP MATRIX srcTri[0].x = 0; //src Top left srcTri[0].y = 0; srcTri[1].x = src->width - 1; //src Top right srcTri[1].y = 0; srcTri[2].x = 0; //src Bottom left srcTri[2].y = src->height - 1; //- - - - - - - - - - - - - - -// dstTri[0].x = src->width*0.0; //dst Top left dstTri[0].y = src->height*0.33; dstTri[1].x = src->width*0.85; //dst Top right dstTri[1].y = src->height*0.25; dstTri[2].x = src->width*0.15; //dst Bottom left dstTri[2].y = src->height*0.7; cvGetAffineTransform(srcTri,dstTri,warp_mat);//由三对点计算仿射变换 cvWarpAffine(src,dst,warp_mat); cvCopy(dst,src); //COMPUTE ROTATION MATRIX CvPoint2D32f center = cvPoint2D32f(src->width/2, src->height/2); double angle = -50.0; double scale = 0.6; cv2DRotationMatrix(center,angle,scale,rot_mat); cvWarpAffine(src,dst,rot_mat); //DO THE TRANSFORM: cvNamedWindow( "Affine_Transform", 1 ); cvShowImage( "Affine_Transform", dst ); cvWaitKey(); } cvReleaseImage(&dst); cvReleaseMat(&rot_mat); cvReleaseMat(&warp_mat); system("pause"); return 0;}#endif
运行结果
- OpenCV: 三对点计算仿射变换
- opencv学习笔记:由三对点计算仿射变换
- OpenCV下三对点计算仿射变换实现图像的水平镜像(翻转)的详细说明和源程序
- opencv 图像仿射变换 计算仿射变换后对应特征点的新坐标 图像旋转、缩放、平移
- opencv 图像仿射变换 计算仿射变换后对应特征点的新坐标 图像旋转、缩放、平移
- OpenCV实现仿射变换--通过三个点进行变换
- opencv 仿射变换
- OpenCV仿射变换
- opencv仿射变换
- OpenCV 仿射变换 & SURF特征点描述合辑
- OpenCV仿射变换 & SURF特征点描述合辑
- OpenCV仿射变换 & SURF特征点描述
- opencv 仿射变换 计算旋转矩阵源码分析
- 【OpenCV】仿射变换:坐标计算 旋转 缩放
- opencv-图像仿射变换
- OpenCv图像仿射变换
- opencv之仿射变换
- OpenCV实现仿射变换
- 关于Spring3报org.aopalliance.intercept.MethodInterceptor错的问题解决方法
- CCCallFunc CCCallFuncN CCCallFuncND
- UVa 10161 Ant on a Chessboard (简单数学)
- android icon图标大小
- CXF+Spring+Tomcat
- OpenCV: 三对点计算仿射变换
- 腾讯TGW简介
- How to create custom navigation menu in SharePoint with XML data source 使用XML数据源在SharePoint创建自定义导航菜单
- ORACLE SQL 1 使用 SQL SELECT 语句检索数据
- 大话数据结构十四:二叉树的顺序存储结构(数组实现)
- OpenCV: 摄像机标定原理
- C++实现端口扫描
- 在数据准备区中允许使用的数据结构有哪些, 各有什么优点?
- 【数据挖掘概念与技术】学习笔记1-引论