透视变换 (转)

摘要: //透视变换int WarpPerspective(IplImage *grey){ IplImage* Img_old = cvCloneImage( grey ); float fix = 4; float w = (float)Img_old->width + fix; float h = (float)Img_old->height + fix; CvPoint2D32f src_point[4]; CvPoint2D32f dst_point[4]; //设定源观察面,即指定四边形的四个顶点 src_point[0].x=4; src_point[0].y=105; sr 阅读全文
posted @ 2012-04-22 17:21 zhixing 阅读(970) 评论(0) 推荐(0) 编辑

透视变换

摘要: 摄像机斜视拍摄一物体后,形成的图像会发生变形,如果将图像映射到拍摄物体平面上,相当于将相机垂直于拍摄平面,这样就会得到图像的真是形状,由于这种映射相当于将原图重新透视到另一个平面,这种称之为“重投影”。图一,图像重投影现象源文档 <file:///D:\镜头畸变资料\红外摄像机几何校正研究方案报告(09.09.16-liyy).doc>这种将摄像机进行正投影,属于透视变化,而透视变换是中心投影的射影变换,用非齐次射影坐标表达时是平面的线性变换,具有公式:(2)源文文档 <file:///D:\镜头畸变资料\红外摄像机几何校正研究方案报告(09.09.16-liyy).doc& 阅读全文
posted @ 2012-04-22 17:19 zhixing 阅读(10390) 评论(2) 推荐(1) 编辑

不规则四边形贴图(转)

摘要: 用OpenCv可以搞定 两个函数:cvGetPerspectiveTransformcvWarpPerspective不多说了 给你段代码:C/C++ code CvPoint2D32f srcpoints[4]; CvPoint2D32f dstpoints[4]; srcpoints[0].x=o0x; //原图像当中四个点的位置 srcpoints[0].y=o0y; srcpoints[1].x=o1x; srcpoints[1].y=o1y; srcpoints[2].x=o2x; srcpoints[2].y=o2y; srcpoints[3].x=o3x; srcpoints[3 阅读全文
posted @ 2012-03-28 23:55 zhixing 阅读(1472) 评论(0) 推荐(0) 编辑

C++ 透明位图

摘要: 在开发界面及棋牌游戏过程中,需要很多镂空的图片,而且图片形式一般比较固定.所以封装了几种常见的镂空方法.1. 用于没有掩码图,只有指定透明色,不进行伸缩void DrawTransBitmap( HDC hdcDest, // 目标DC int nXOriginDest, // 目标X偏移 int nYOriginDest, // 目标Y偏移 int nWidthDest, // 目标宽度 int nHeightDest, // 目标高度 HDC hdcSrc, // 源DC int nXOriginSrc, // 源X起点 int nYOriginSrc, // 源Y起点 COLORREF 阅读全文
posted @ 2011-11-14 23:30 zhixing 阅读(2772) 评论(0) 推荐(0) 编辑

用MFC实现OpenGL编程

摘要: 用MFC实现OpenGL编程一、OpenGL简介 众所周知,OpenGL原先是Silicon Graphics Incorporated(SGI公司)在他们的图形工作站上开发高质量图像的接口。但最近几年它成为一个非常优秀的开放式三维图形接口。实际上它是图形软件和硬件的接口,它包括有120多个图形函数,"GL"是"GRAPHIC LIBRARY"的缩写,意思是“图形库”。OpenGL的出现使大多数的程序员能够在PC机上用C语言开发复杂的三维图形。微软在Visual C++ 7中已提供了三个OpenGL的函数库(glu32.lib, glau.lib,Ope 阅读全文
posted @ 2011-09-28 22:37 zhixing 阅读(4573) 评论(0) 推荐(0) 编辑

opengl 旋转三角形

摘要: // openglTestDlg.cpp : 实现文件//#include "stdafx.h"#include "openglTest.h"#include "openglTestDlg.h"#include "math.h"#pragma comment( lib, "glaux.lib")#ifdef _DEBUG#define new DEBUG_NEW#endif// 用于应用程序“关于”菜单项的 CAboutDlg 对话框class CAboutDlg : public CDialo 阅读全文
posted @ 2011-09-28 22:20 zhixing 阅读(2256) 评论(0) 推荐(0) 编辑

glMatrixMode

摘要: void glMatrixMode(GLenum mode)mode 指定哪一个矩阵堆栈是下一个矩阵操作的目标,可选值: GL_MODELVIEW、GL_PROJECTION、GL_TEXTURE.说明glMatrixMode设置当前矩阵模式:GL_MODELVIEW,对模型视景矩阵堆栈应用随后的矩阵操作.GL_PROJECTION,对投影矩阵应用随后的矩阵操作.GL_TEXTURE,对纹理矩阵堆栈应用随后的矩阵操作.与glLoadIdentity()一同使用glLoadIdentity():该函数的功能是重置当前指定的矩阵为单位矩阵。在glLoadIdentity()之后我们为场景设置了透视 阅读全文
posted @ 2011-05-16 22:28 zhixing 阅读(3339) 评论(0) 推荐(3) 编辑

gluPerspective(解释得很好)(转)

摘要: 函数原型gluPerspective(GLdouble fovy,GLdouble aspect,GLdouble zNear,GLdouble zFar)首先得设置gluPerspective,来看看它的参数都表示什么意思fovy,这个最难理解,我的理解是,眼睛睁开的角度,即,视角的大小,如果设置为0,相当你闭上眼睛了,所以什么也看不到,如果为180,那么可以认为你的视界很广阔,aspect,这个好理解,就是实际窗口的纵横比,即x/yzNear,这个呢,表示你近处,的裁面,zFar表示远处的裁面,如果还没有理解就继续看,我们知道,远处的东西看起来要小一些,近处的东西看起来会大一些,这就是透视 阅读全文
posted @ 2011-05-16 22:25 zhixing 阅读(511) 评论(0) 推荐(0) 编辑

win7和VS2010下配置OpenGL的方法

摘要: 刚装了win7和VS2010。看了下配置OpenGL的方法和以前不太一样这篇文章的内容如下:glut下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zipglut.h ---> C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\glglut.dll,glut32.dll ---> C:\Windows\SysWOW64 (windows7 64位操作系统) ---> C:\Windows\System32 (windows 阅读全文
posted @ 2011-05-12 22:30 zhixing 阅读(13072) 评论(3) 推荐(1) 编辑

vc 旋转点

摘要: CClientDC dc(this); double pi =3.1415926535; double r =50;//半径 CPoint temp;//终点 CPen penBound;//建立画笔 for(double i = 0 ;i < 360;i=i+8){ //时间差动画测试 for(int w = 0 ; w < 10000000 ; w++){ } dc.MoveTo(cpoint); temp.x = 400.0 + r*cos(i*pi/180.0) - r*sin(i*pi/180.0); temp.y = 250.0 + r*cos(i*pi/180.0) 阅读全文
posted @ 2011-03-30 00:10 zhixing 阅读(344) 评论(0) 推荐(0) 编辑