projection matrix(opengl坐标变换,求助,OPENGL中屏幕坐标到世界坐标的转换)

2024-07-23 01:04:42 42

projection matrix(opengl坐标变换,求助,OPENGL中屏幕坐标到世界坐标的转换)

本文目录

opengl坐标变换,求助,OPENGL中屏幕坐标到世界坐标的转换

GLint viewport;
GLdouble modelview;
GLdouble projection;
GLfloat winX, winY, winZ;
GLdouble posX, posY, posZ;

glPushMatrix();

// 变换要绘图函数里的顺序一样,否则坐标转换会产生错误
glScalef(m_srtMatrix); // 缩放、平移、旋转变换
glRotatef(m_srtMatrix, 1.0f, 0.0f, 0.0f);
glRotatef(m_srtMatrix, 0.0f, 1.0f, 0.0f);
glRotatef(m_srtMatrix, 0.0f, 0.0f, 1.0f);
glTranslatef(m_srtMatrix);
glGetIntegerv(GL_VIEWPORT, viewport); // 得到的是最后一个设置视口的参数
glGetDoublev(GL_MODELVIEW_MATRIX, modelview);
glGetDoublev(GL_PROJECTION_MATRIX, projection);

glPopMatrix();

winX = x;
winY = screenHeight - y;
glReadPixels((int)winX, (int)winY, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, &winZ);
gluUnProject(winX, winY, winZ, modelview, projection, viewport, &posX, &posY, &posZ);

orthogonal matrix是什么意思

orthogonal matrix

正交矩阵;

正交阵;

正交函数

For example, one can use QR decomposition to find the orthogonal matrix B, or use the orthogonal projection matrix of A as B. 

例如,人们经常使用的QR 分解方法找到正交矩阵B,更直接地,B可以取为矩阵A的正交投影矩阵。

很高兴第一时间为您解答,祝学习进步
如有问题请及时追问,谢谢~~O(∩_∩)O

openmvG要怎么安装啊,有没有教程呀

OpenMVG (open Multiple View Geometry):开源多视角立体几何库,这是一个cv届处理多视角立体几何的著名开源库,信奉逗简单,可维护地,提供了一套强大的接口,每个模块都被测试过,尽力提供一致可靠的体验。
地址:github
文档:documents
openMVG能够:
解决多视角立体几何的精准匹配问题;
提供一系列SfM需要用到的特征提取和匹配方法;
完整的SfM工具链(校正,参估,重建,表面处理等);
openMVG尽力提供可读性性强的代码,方便开发者二次开发,核心功能是尽量精简的,所以你可能需要其它库来完善你的系统。openMVG分成了几个大的模块:
核心库:各个功能的核心算法实现;
样例:教你怎么用;
工具链:也就是连起来用咯(乱序图像集的特征匹配,SfM,处理色彩和纹理);
#0. 安装(win10+VS2013)
第一步当然是从github clone代码,然后按照 BUILD 说明操作,需要注意的是:
template 《class T》 inline T operator|(T x, T y){
return static_cast《T》(static_cast《int》(x) | static_cast《int》(y));
};
建议和opencv一起编译,方法是在CMakeLists.txt文件中修改相应选项为 ON,然后在cmake的GUI中添加一个叫OpenCV_DIR的入口,值就是你已经安装好的opencv的路径。
openMVG写的非常不错,对Windows也提供了良好的支持,所以cmake之后用VS打开生成的openMVG.sln解决方案就可以进行编译了,编译的时间稍久。我用的VS2013不支持C++新特性:constexpr,所以建议你使用VS2015或更新版本,如果一定要用VS2013,可以这样做:在src/openMVG/cameras/Camera_Common.hpp文件中将有constexpr的地方直接去掉,或者改成模板函数也是可以的:
运行样例,这里遇到一个坑:DenseStoraage.h line 86报错:R6010 Assertion failed,这是一个断言错误,在release模式下不会出现,但在debug模式下几乎是必现。原因嘛,打开Eigen给出的网址可以明确:数据结构未对齐(unaligned arrays)。这个问题对于刚接触openMVG的人来说还是很烦人的,openMVG代码很优雅,很多数据类型都是从模板类或函数延伸,通过虚函数扩展各项具体方法,而且非常强烈的依赖Eigen这个库,所以给定位问题带来了阻碍。经过一天的攻坚,最后大概确认了原因:
regions.h这个文件中定义的Regions类包含了fixed-size vectorizable Eigen types的stl容器vector,按照Eigen提供的解决方法,需要做的是:
//原来
typedef std::vector《FeatureT》 FeatsT;
//改成
typedef std::vector《FeatureT, Eigen::aligned_allocator《FeatureT》》 FeatsT;
//其它类似的地方都要改,包括返回vector的函数,最好也加上 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
#1. 核心库
#1.1 图像
#Image Container
openMVG提供一个基本的类用作图像容器:Image《T》,T代表像素类型,这个类可以处理灰度,RGB,RGBA或者自定义类型的图像。用法很简单:
// A 8-bit gray image:
Image《unsigned char》 grayscale_image_8bit;
// Multichannel image: (use pre-defined pixel type)
// A 8-bit RGB image:
Image《RGBColor》 rgb_image_8bit;
// 8-bit RGBA image
Image《RGBAColor》 rgba_image_8bit;
Image《Rgba《unsigned char》 》 rgba_image2_8bit;
这里的 RGBColor,RGBAColor等是openMVG基于Eigen定义好的类型,具体是定义在pixel_types.hpp中。
#Image I/O
openMVG支持ppm/pgm,jpeg,png,tiff格式的图片文件,例子:
Image《RGBColor》 rgb_image_gray;
bool bRet = ReadImage(“Foo.imgExtension“, &rgb_image);
#Drawing operations
用于在图像上画圆,椭圆,直线等。
#1.2 数值
openMVG重新包装了Eigen的基本类型和算法,以便更简单的调用。比如 Vec2代表一个二维点(char型)。
#1.3 特征
这个模块主要是提供特征容器的封装,包括特征,特征描述,关键点集等,基本都是模板类,比如顶一个sift特征描述子可以这样做:
// SIFT like descriptor
typedef Descriptor《float, 128》 siftDescriptorData;
#1.4 相机
此模块提供不同的相机模型的抽象类,包括:
#小孔相机模型
最简单的相机模型,如图: 相机模型包括内参和外参,关键词也就是大家熟悉的几样:投影矩阵,旋转、平移矩阵,焦距、主点等,具体参见说明。 看一个例子:openMVG提供的PinholeCamera类:
/// Pinhole camera P = K, t = -RC
struct PinholeCamera
{
//构造函数
PinholeCamera(
const Mat3 & K = Mat3::Identity(),
const Mat3 & R = Mat3::Identity(),
const Vec3 & t = Vec3::Zero())
: _K(K), _R(R), _t(t)
{
_C = -R.transpose() * t;
P_From_KRt(_K, _R, _t, &_P);
}
PinholeCamera(const Mat34 & P)
{
_P = P;
KRt_From_P(_P, &_K, &_R, &_t);
_C = -_R.transpose() * _t;
}
/// Projection matrix P = K
Mat34 _P;
/// Intrinsic parameter (Focal, principal point)
Mat3 _K;
/// Extrinsic Rotation
Mat3 _R;
/// Extrinsic translation
Vec3 _t;
/// Camera center
Vec3 _C;
};
#1.5 多视角几何
这部分是比较基础和重要的模块之一,包括了:
多视角集几何中n(》=2)视角的求解算法;
将这些求解算法综合起来以便进行鲁棒估计的通用框架——Kernel;
文档中讲解了单应矩阵,本征矩阵,本质矩阵,位置矩阵等的概念,讲得非常好,建议仔细阅读文档。 简单的解释一下:
单应矩阵:描述两个投影平面之间的关系;
本征矩阵:同一个场景在两个相机成像下的关系,也就是物体上的点A在两个视角下成像位置的关系;
本质矩阵:基于本征矩阵和内参矩阵建立,描述相机和本征矩阵位置之间的相对关系;
位置矩阵:估计相机的绝对位置(被转化为一个最小化问题求解);
Kernel:一个将求解器、数据、度量方案等结合起来的类,这个类将用于鲁棒的估计以上的参数和矩阵;
#1.6 线性规划
一个用于求解多视角几何中线性优化(参数估计)的工具集,文档。
#1.7 鲁棒估计
提供一些列鲁棒估计方法,比如:Max-Consensus,Max-Consensus,AC-Ransac A Contrario Ransac等。
#1.7 匹配
提供的接口包括:NNS,K-NN,FLANN,KVLD,Cascade hashing Nearest Neighbor等。这些接口可用于在二维或三维点集,以及更高维的特征描述集中。
#1.8 追踪
多视几何里的追踪是指在一系列的图片中找到对应的特征点(同一点在不同视角下的位置)。
#1.9 sfm
openMVG提供的sfm模块包含了处理SfM问题的一系列方法个数据存储接口,例如相机位置估计,结构测量,BA等。 SfM_Data类包含了SfM所有的输入:
struct SfM_Data
{
/// Considered views
Views views; // 包含图像文件名,id_view,id_pose,id_intrinsic,image size。
/// Considered poses (indexed by view.id_pose)
Poses poses; // 相机的三维位置
/// Considered camera intrinsics (indexed by view.id_cam)
Intrinsics intrinsics; // 相机内参
/// Structure (3D points with their 2D observations)
Landmarks structure; // 二维视图特征关联的3D点
}
下面是例子:
#1. features_siftPutativeMatches
这个样例做了这么几件事(直接翻译官方):
分别提取两张图像的SIFT特征(使用非免费的vlsift)并形成特征描述;
根据特征描述子匹配两张图像上的特征点(BRUTE_FORCE_L2方法);
展示匹配结果;
刚开始的时候会遇到Assertion failed断言错误,处理办法见上一篇文章。运行成功项目目录下会生成三个文件:00_images.jpg,01_features.jpg,02_siftMatches.svg。
#2. features_affine_demo
这个例子是图像MSER(参考)和TBMR特征提取的样例,MSER(Maximally Stable Extremal Regions)最大极值稳定区域是一种对图像灰度具有仿射变换不变性,也许也是这个样例起名的原因。TBMR(tree-based Morse regions)这个算法不是特别了解,具体可以在google学术中搜索。
#3. features_image_matching
这个样例给出了利用Image_describer接口提取特征描述子,并匹配和显示结果的样例。示例中可以选择SIFT,AKAZE_MLDB或者AKAZE算法,AKAZE介绍可看这里,是一种比SIFT更稳定的特征检测算法。程序中关于解析输入参数的部分可以注释掉(如果你是用过VS2013 debug),直接修改sImage_describer_type这个值以测试。
#4. features_kvld_filter 和 features_repeatability
这两个也是关于特征提取和匹配的,kvld这个例子中由于之前更改了regions.h中的内容,所以有些函数接口也要做相应改变,具体也是在vector中增加对齐函数选项。
#5. multiview_robust_homography_guided 和 multiview_robust_fundamental_guided
这两个样例是估计单应矩阵和本征矩阵的,并且能够根据这些信息反过来确定匹配点。两个样例运行时间都很长(分辨率教大时),第一个在用另外的照片时还遇到报错,大概是在DoG时出错,具体也没有细究了·····
#6. exif_Parsing
提取EXIF信息,编译后通过命令行执行,给出的参数格式:--imafile 你的照片路径,路径中使用/斜杠。
另一篇:learn openMVG-安装和简介
#7. multiview_robust_essential
估计本质矩阵并计算3D结构。这个例子可以直接运行,生成的点云十分稀疏且不带颜色信息。

projection matrix是什么意思

你好
projection matrix


射影矩阵
The first one we ’ll talk about is the projection matrix.
我们将谈论的第一个矩阵是投影矩阵。

projection matrix(opengl坐标变换,求助,OPENGL中屏幕坐标到世界坐标的转换)

本文编辑:admin
projection matrix ,opengl ,p

更多文章:


苹果透明手机(怎么使用iPhone手机透明屏幕功能)

苹果透明手机(怎么使用iPhone手机透明屏幕功能)

本文目录怎么使用iPhone手机透明屏幕功能苹果手机屏幕透明怎么设置苹果手机透明屏幕怎么设置如何把苹果六设置透明手机苹果手机怎么设置透明屏幕苹果透明手机价是多少苹果12手机怎么设置透明屏幕苹果手机DOCK怎么变透明怎么使用iPhone手机透

2024年7月18日 03:53

天翼宽带客户端(天翼宽带客户端是干什么的)

天翼宽带客户端(天翼宽带客户端是干什么的)

这篇文章给大家聊聊关于天翼宽带客户端,以及天翼宽带客户端是干什么的对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录天翼宽带客户端是干什么的电脑用的天翼无线宽带客户端在哪里下载电信天翼网关客户端有哪些下载方式想安装天翼宽带,从哪

2024年8月29日 09:40

谁知道哪里有超级成长版冒险小虎队的免费在线阅读?有没有冒险小虎队的在线阅读

谁知道哪里有超级成长版冒险小虎队的免费在线阅读?有没有冒险小虎队的在线阅读

本文目录谁知道哪里有超级成长版冒险小虎队的免费在线阅读有没有冒险小虎队的在线阅读冒险小虎队在那里有免费看的 要全整片的超级成长版冒险小虎队免费阅读哪里有冒险小虎队升级版在线阅读网络图书谁知道哪里有超级成长版冒险小虎队的免费在线阅读小说阅读网

2024年6月6日 12:57

科目四模拟考试2015(2015驾校科目四考试共多少道题)

科目四模拟考试2015(2015驾校科目四考试共多少道题)

本篇文章给大家谈谈科目四模拟考试2015,以及2015驾校科目四考试共多少道题对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录2015驾校科

2024年9月18日 03:01

通道怎么抠图啊?通道抠图怎么抠

通道怎么抠图啊?通道抠图怎么抠

大家好,今天小编来为大家解答以下的问题,关于通道抠图,通道怎么抠图啊这个很多人还不知道,现在让我们一起来看看吧!本文目录通道怎么抠图啊通道抠图怎么抠如何利用通道抠图通道怎么抠图啊通道抠图的方法是:1、打开图片。2、依次查看RGB通道,选择最

2024年7月15日 17:01

谁打开了她的房门(我跟我女朋友吵架,她把门锁上了不让我进,我该怎么让她开门)

谁打开了她的房门(我跟我女朋友吵架,她把门锁上了不让我进,我该怎么让她开门)

本文目录我跟我女朋友吵架,她把门锁上了不让我进,我该怎么让她开门一名工作人员进入冷库后被困,最后把门给踢开了,他应该赔偿吗为什么开锁师傅把别人门打开以后尽量不往屋内看,有什么讲究吗对门总爱开着门怎么办杭州小两口在租的房间睡觉房门被陌生男打开

2023年11月10日 05:00

wow西部荒野在哪?西部荒野秋葵在哪

wow西部荒野在哪?西部荒野秋葵在哪

本文目录wow西部荒野在哪西部荒野秋葵在哪西部荒野燕麦在哪西部荒野的基本资料魔兽世界中西部荒野怎么去西部荒野在那里魔兽世界西部荒野的攻略魔兽世界部落如何去西部荒野西部荒野在哪,有多少级魔兽世界西部荒野体验生活任务怎么做wow西部荒野在哪1.

2024年7月5日 00:17

百度软件搜索(华为手机自带的百度搜索软件在哪里可以下载)

百度软件搜索(华为手机自带的百度搜索软件在哪里可以下载)

本文目录华为手机自带的百度搜索软件在哪里可以下载怎么在百度上搜索另一张情侣头像手机百度软件的搜索问题百度软件上搜索小说名字,在网页看的小说安全吗,会不会中病毒软件怎么加入百度软件搜索如何评价手机百度app手机百度APP怎么找到扫一扫为什么最

2024年6月5日 22:54

豌豆荚手机版(华为手机豌豆荚在哪里)

豌豆荚手机版(华为手机豌豆荚在哪里)

本文目录华为手机豌豆荚在哪里为什么豌豆荚还有手机版本的豌豆荚不是下载到电脑上的么在哪下载手机版豌豆荚那个软件有豌豆荚不要数据线怎么连接手机手机应用商店在哪找豌豆荚能安装在手机上吗如何使用啊华为手机豌豆荚在哪里1、打开华为应用市场2、搜索豌豆

2023年10月28日 18:20

原神拍照功能(pc原神拍照快捷键)

原神拍照功能(pc原神拍照快捷键)

本文目录pc原神拍照快捷键原神截图快捷键原神拍照活动怎么拍原神拍照任务怎么拍原神拍照功能在哪电脑原神拍照保存在哪作为资深摄影爱好者,你觉得相机的auto有什么用什么地方不合适拍照单反相机怎么把快门按钮的测光功能和对焦功能分开求指导非常时期,

2023年10月17日 18:40

vivo闪传是干嘛的有用吗?闪传是啥意思

vivo闪传是干嘛的有用吗?闪传是啥意思

本文目录vivo闪传是干嘛的有用吗闪传是啥意思闪传是什么用处闪传怎么提取文件vivo闪传是什么意思闪传是什么意思VIVO闪传如何使用请问如何使用闪传vivo闪传是干嘛的有用吗“闪传”,其目标是打通手机与手机之间的通信通道。“闪传”能让智能手

2023年4月11日 09:00

鄂州第一职业中学在那?鄂州第一网的简介

鄂州第一职业中学在那?鄂州第一网的简介

本文目录鄂州第一职业中学在那鄂州第一网的简介鄂州有什么好玩的地方鄂州论坛的网站简史鄂州今天封城了吗鄂州第一网的服务特点最近总看到鄂州的区划调整的新闻,你觉得鄂州未来会并入武汉吗武汉和鄂州通了地铁后你会选择在鄂州买房吗有人说鄂州要划给武汉,你

2024年7月18日 13:57

怎么激活腾讯极光盒子?腾讯极光盒子家用电视可以用吗

怎么激活腾讯极光盒子?腾讯极光盒子家用电视可以用吗

本文目录怎么激活腾讯极光盒子腾讯极光盒子家用电视可以用吗腾讯极光4Pro盒子值得买吗,都有哪些优缺点想选一款电视盒子,有很多人推荐腾讯极光盒子4C,真的好用吗腾讯极光盒子能直接看吗腾讯极光盒子使用方法腾讯极光盒子真的比普通的电视盒子好用腾讯

2024年7月18日 05:48

国外logo设计欣赏(正邦设计和东道做logo、vi哪个更厉害)

国外logo设计欣赏(正邦设计和东道做logo、vi哪个更厉害)

本文目录正邦设计和东道做logo、vi哪个更厉害有哪些好看的值得欣赏的城市形象Logo同样是Logo设计,淘宝50、100块的设计和几千上万的设计差在哪日本的设计究竟有多强中美日三国各大商业企业logo设计风格,你更喜欢哪一个,为什么有哪些

2023年6月9日 08:00

安信证券交易(安信证券的手续费是怎么算)

安信证券交易(安信证券的手续费是怎么算)

本文目录安信证券的手续费是怎么算安信证券好不好安信证券没有指定交易无法交易安信证券的交易手续费是多少安信证券交易的登录方式怎样开通在安信证券买卖st头股票安信证券软件下载,安信证券通达信版下载大神们帮帮忙为什么我的安信证券app涨跌颜色一样

2023年6月27日 00:00

object dll(怎么一进游戏就提示object.dll这个文件就是玩不了)

object dll(怎么一进游戏就提示object.dll这个文件就是玩不了)

这篇文章给大家聊聊关于object dll,以及怎么一进游戏就提示object.dll这个文件就是玩不了对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录怎么一进游戏就提示object.dll这个文件就是玩不了CF关于objec

2024年2月11日 23:00

sdkmanager exe(安装Android SDK时,点击SDK Manager.exe闪退,怎么办)

sdkmanager exe(安装Android SDK时,点击SDK Manager.exe闪退,怎么办)

本文目录安装Android SDK时,点击SDK Manager.exe闪退,怎么办如何安装android sdk manager“打开SDK Manager.exe 去网页下载什么SDKmanager突然无法启动安装AndroidSDK时

2024年7月18日 10:03

郭德纲的徒弟“烧饼”红吗为什么?浙江一大爷做烧饼被称为“烧饼一哥”,年薪35万,这事你怎么看

郭德纲的徒弟“烧饼”红吗为什么?浙江一大爷做烧饼被称为“烧饼一哥”,年薪35万,这事你怎么看

大家好,如果您还对烧饼大师不太了解,没有关系,今天就由本站为大家分享烧饼大师的知识,包括郭德纲的徒弟“烧饼”红吗为什么的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录郭德纲的徒弟“烧饼”红吗为什么浙江一大爷做烧饼被

2024年2月7日 11:00

高效能人士的七个习惯下载(高效能人士的七个习惯是什么)

高效能人士的七个习惯下载(高效能人士的七个习惯是什么)

本篇文章给大家谈谈高效能人士的七个习惯下载,以及高效能人士的七个习惯是什么对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录高效能人士的七个习

2024年7月19日 12:37

怎么下载优酷视频或电影(本人第一次下载)说详细点?优酷怎么下载保存视频

怎么下载优酷视频或电影(本人第一次下载)说详细点?优酷怎么下载保存视频

本文目录怎么下载优酷视频或电影(本人第一次下载)说详细点优酷怎么下载保存视频如何下载优酷视频详细下载优酷视频的方法优酷2.0版在哪里下载移动网络电视怎么下载优酷视频如何下载优酷视频及视频下载器iku的使用方法怎么下载优酷视频到手机一个可以下

2023年10月24日 13:40

近期文章

本站热文

4008827777转人工客服(4008827777饿了么怎么转人工电话)
2024-07-23 14:41:37 浏览:503
标签列表

热门搜索