![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AR
文章平均质量分 68
chuhang_zhqr
这个作者很懒,什么都没留下…
展开
-
ARToolKit安装指南—第一个程序
主机系统是ubuntu14.04 64位安装前的准备:需满足的软件包 安装指导 1.OpenGL and GLUT sudo apt-get install build-essential sudo apt-get install libgl1-mesa-dev sudo apt-get install libglu1-mesa-dev sudo apt-get install l原创 2015-11-10 00:41:14 · 2212 阅读 · 0 评论 -
Mastering Opencv ch3: markerless AR(二)
上一篇分析了特征点和匹配器的问题,使用模板图像得到了优化的匹配器,匹配器里有建立索引表的训练特征描述子,用于匹配。这一篇将详细分析测试图像的问题: 还是看main函数,接上一节的ARDrawingContext drawingCtx("Markerless AR", frameSize, calibration);//这个应该是OpenGL初始化的阶段。这个是OpenGL的初始化阶段,先不关注。原创 2015-12-05 14:36:34 · 3515 阅读 · 1 评论 -
Mastering Opencv ch3: markerless AR(三)
前面两篇求出了模板图像在相机坐标系的位姿变换矩阵,那么现在就有了透视矩阵(相机内参数,失真参数),和外参数(视景矩阵:位姿矩阵(旋转矩阵和平移矩阵)),这就基本把虚拟三维物体如何投射在显示屏幕上的变换矩阵基本确定了。 四要素: 1、 相机拍摄的最新的图像 2、 相机标定的矩阵 3、 3D的模式姿态(如果需要显示) 4、 与OpenGL相关的内部数据(纹理ID,等等) 下面分析下OpenG原创 2015-12-05 15:26:06 · 3856 阅读 · 2 评论 -
基于标识的AR的OpenCV实现(三)
我的程序是在linux终端模式下实现的,以下是我写的CMakeList.txt文件:cmake_minimum_required(VERSION 2.6)project(marker_AR)find_package(OpenCV REQUIRED )find_package(OpenGL REQUIRED )find_package(GLUT REQUIRED)include_director原创 2015-11-25 14:39:08 · 2784 阅读 · 0 评论 -
OpenGL函数分析
1:glEnableClientState publicvoid glEnableClientState(int array) 功能: 启用客户端的某项功能。 详细: glEnableClientState和glDisableClientState启用或禁用客户端的单个功能。默认的,所有客户端功能禁用。 array可以是下列符号常量:原创 2015-11-25 14:25:03 · 1778 阅读 · 0 评论 -
基于标记的AR的opencv实现(一)
最近学习AR,买了本Mastering OpenCV,这书上有两个AR的例子,这里先分析的是第二章基于标识的AR,书中是使用Xcode给iphone或者ipad写的,本文是在linux系统上vim实现的,终端模式。先推荐两个前辈的博客,本文参考了二者和书进行理解源码。http://blog.csdn.net/jinshengtao/article/details/48604435 taota原创 2015-11-25 11:33:23 · 27109 阅读 · 12 评论 -
基于标记的AR的OpenCV实现(二)
增强现实是将虚拟物体与真实物体融合。为了将三维模型放置在场景中,需要知道它关于摄像机的姿态。可在直角坐标系中使用欧式空间+变换来表示这个姿态。 三维世界中Marker的位置与其对应的二维投影,遵从以下公式: 其中, M表示三维世界中的点; [R|T]表示欧氏变换,是一个3*4矩阵 A表示相机参数矩阵,存放相机内部参数 P表示M在二维空间的投影,是一个二维点。在执行标记检测后,需要知道原创 2015-11-25 14:20:05 · 12166 阅读 · 6 评论 -
AR--摄像机标定
使用OpenCV进行摄像机标定,在OpenCV例程中有程序可以实现, /samples/cpp/tutorial_code/calib3d/camera_calibration里的程序就可以进行单目相机标定。接下来分析下摄像机标定的过程: 1:这个程序中把初始化参数放在了一个文件(in_VID5.xml)中,在程序的开始首先读入文件中的参数:const string inputSettingsF原创 2015-11-23 18:20:24 · 5375 阅读 · 0 评论 -
AR的坐标系统概述
在ARToolKit中,坐标系统是很重要的,需要详细了解下,才不会在错误的地方放置目标和渲染目标。 1: 使用arGetTransMat可以得到标识在相机坐标系中的位置,如果想知道相机在标识坐标系中的位置,要用arMatrixInverse()把上面得到的转换矩阵进行反转。2:当使用OpenGL对ARToolKit进行渲染时,注意OpenGL是一个右手坐标系,z轴指向你,相机面对的方向是-Z,原创 2015-11-17 22:30:03 · 4614 阅读 · 0 评论 -
多标识AR程序分析(一)
在ARToolKit例程中有一个是relation,这个就是标准的多标识AR; 以下是简单的程序分析: 这个程序是在simple.c的基础上进行的,所以这里只是分析不同的部分,对simple不理解的清参考前几篇文章; 1:在这个程序中自定义了一个结构体:typedef struct { char *patt_name; int patt_id; int mod原创 2015-11-17 21:28:32 · 2180 阅读 · 1 评论 -
多标识AR例程分析(二)
这是例程的结果: 1:例程多目标跟踪:一系列标识基于相对位置关系,当至少一个标识可见可以计算出其他标识在相机坐标系中的位置。 基于simple.c实现的程序: 1):在init函数中,导入多目标配置文件,这个标识文件包含一系列标识和他们在一个固定的坐标系统中确切的位置(包含标识的角点,一系列标识平面的中心,一个任意位置) 这个文件可以从一个全局位置计算出所有标识的转换矩阵。而arMult原创 2015-11-17 16:19:26 · 2277 阅读 · 0 评论 -
ARToolKit 的simpleLite程序分析
什么都不说了,直接上源码!!!!#include <stdio.h>#include <stdlib.h>#include <GL/glut.h>#include <AR/config.h>#include <AR/video.h>#include <AR/param.h> //显示参数arParamDisp()#include <AR/ar.h>#include <AR/gsub_li原创 2015-11-16 22:46:16 · 3766 阅读 · 0 评论 -
simple2的程序分析
这个程序与simple几乎是一样的,只是在键盘响应上多出一个c键,这个c键可以选择模式: 包括连续模式和单帧模式。两者在求转换矩阵时有区别,连续模式就是使用arGetTransMatCout函数,单帧模式使用arGetTransMat求转换矩阵。 if( key == 'c' ) { printf("*** %f (frame/sec)\n", (double)count/arUt原创 2015-11-11 21:31:25 · 1441 阅读 · 0 评论 -
AR simple第一个程序详细分析
这个分析是基于ARToolKit库的simpleTest程序进行分析的,可能有些错误,望高手看后能指点下。1:首先是头文件的问题:在windows下要添加windows.h,在linux下不添加这个;若是要用OpenGL做三维虚拟物体,要添加glut.h;要用ARToolKit库,就要添加原创 2015-11-11 11:34:36 · 3535 阅读 · 1 评论 -
Mastering Opencv ch3: markerless AR(一)
最近分析了下mastering OpenCV 第三章markerless AR的源码,这个例子是基于自然标志物的增强现实,在这个例子中,使用一个图片作为模板标识,这个图片应该有一定的特征,感觉像天空大海什么的,没有太多特征的图片,在这上面做增强现实,就很不好弄。 源码及编译文件下载地址:无标识的AR的OpenCV实现-Linux 好把,少扯淡,赶紧上源码分析。 我觉得能看到这个主题博客的,对原创 2015-12-05 11:47:54 · 6130 阅读 · 4 评论