立体视觉中的内参矩阵、基础矩阵、本质矩阵

        立体视觉中的矩阵变换比较多。总的来说,内参矩阵 K是针对单相机的,通过焦距和主点位置直接表示了相机坐标系和图像坐标系之间的关系,如果考虑镜头的畸变,还需要有畸变系数,如果图像传感器有倾斜,还需要有倾斜因子。基础矩阵和本质矩阵是针对双目的,其中基础矩阵 E根据左右相机的RT关系,表示了对极线关系,基础矩阵是左右摄像机坐标系之间的关系,求解基础矩阵的核心是求左右相机的RT。本质矩阵 F是图像坐标系下的,结合了基础矩阵和内参矩阵,直接反应左右图像坐标系下对应点像素坐标的关系。

阅读更多

OpenCV进行各种矩阵变换及变换参数求解

        OpenCV可以处理许多2D、3D的变换矩阵,包括但不局限于2D放射变换矩阵(2×3),二维点对的最优单映射变换矩阵H(3×3),四个二维点对之间的透射变换矩阵(3×3),多对三维点之间的旋转平移矩阵(3×4),计算多个点对之间的基矩阵和位姿变换矩阵等。这篇博客对这些变换函数进行了总结,可以通过该博客给出的名字搜索函数进行查询。

阅读更多

C++Intel/VS编译器编译Boost库

        在使用Intel编译器(icc)时,如果还想调用Boost库,那么icc会自动调用icc编译的boost库,于是这篇博客就介绍了如何使用icc编译Boost库,并且附带Boost库编译时的参数说明,你可以按照这份说明编译出你想要的库版本。(如果你使用默认编译器,此博客也可做参考,除了编译器选择部分不同之外,其它都一样)

阅读更多

PCL库的环境配置及调用(Windows8.1+VS2013/VS2015)

pcl26        PCL库被广泛用于三维重建,其在三维世界中的地位正如OpenCV在二维世界中的地位。因为其调用了很多第三方库,所以配置极其复杂。官方也推出了简单安装版OneInAll包,这篇博客主要介绍官方简单安装版的方法。由于简单安装版没有CUDA等模块,如果你想用上CUDA就必须得自己重新编译了(博主在使用CUDA8.0,折腾了一个下午放弃了,不过CUDA7.5及以下都有教程)。另外就是,如果想自己编译,这里有一篇很好的博客。如果想快速入门,这里也有一篇很好的博客

阅读更多

CUDA学习笔记(一)VS/C++代码调用CUDA C/C++函数

cu3

        最近入手了一块GPU,就迅速的开始了GPU编程的学习,这里强行安利几个中文博客(很不错的哦):CUDA开发环境配置教程CUDA从入门到精通CUDA官方手册,这份官方手册的pdf版就在安装文件夹NVIDA Corporation的doc里面。

        CUDA齐全丰富的开发工具使得VS可以直接新建CUDA C/C++工程,但是,如果我们要在一个已经建立好的C++工程中调用CUDA应该怎么做呢?这篇博客为您详细解答。

阅读更多

信息检索(IR)的评价指标——Precision、Recall、F1、mAP、ROC、AUC

0_1309960406ypy4        在信息检索、分类体系中,有一系列的指标,在学术研究和工程应用上经常出现。以上名词的中文名分别是:准确率、找回率、F1、平均正确率、ROC、AUC(ROC曲线下的面积)。

        在信息检索中,常用Precision、Recall、F1、mAP指标进行评价系统性能,左图就是一份可以计算mAP的曲线图。

        在分类和识别中,常用ROC和AUC来衡量体系性能,这也和我们常常认识的正例分对,错例分错相对应。这些指标常常在论文中出现,了解这些指标非常重要。下面的博客将详细介绍这些指标。

阅读更多

张正友标定法(二)张正友Matlab工具箱的使用

zzy1        有两份资料,一是加州理工大学开发的标定工具箱,其中实现了全套张正友标定,网站也同样也有详细的使用文档。另一份是OpenCV的标定工具箱,其中使用的也是张正友标定,只不过略有简化。如果你不是直接使用C++书写标定程序的话,强烈推荐加州理工大学的标定工具箱。

        张正友Matlab工具箱使用手册,这份文档详细介绍了该工具箱的使用。这篇博客是对这份文档的补充,所以,如果你本着学习工具箱使用方法而来,请点击题头的链接。学习玩使用手册,这篇博客的内容可能会对你进一步了解工具箱有一定帮助。

        再附上张正友1998年的Paper,我们开始学习吧。

阅读更多

旋转向量与旋转矩阵——罗德里格斯(Rodrigues)变换Matlab

        Matlab计算旋转矩阵有两种方法,一种是通过欧拉角,计算yaw,pitch和row轴的旋转角。这里要介绍的是另一种是直接绕一个向量旋转theta角的方法,就是Rodrigues变换,其中的向量就是旋转向量,其得到的矩阵就是旋转矩阵,这个矩阵和欧拉角的方法计算出来是一样的。

阅读更多

张正友标定法(一)张正友标定法的数学推导

        张正友标定法提出于1998年,自此相机标定只需要自行打印一张棋盘格就可以实现0.5pixel以上的精度,这样的精度已经可以满足绝大多数应用场合的要求。博主这一系列的博客分为三篇,本篇是第一篇,着重介绍数学推导,后面的博客会陆续介绍Matlab工具箱的使用及博主自己对代码的解释和修改。

阅读更多

快速配置gflags/glog/protobuf

        如果你已经配置好opencv,那么下载安装包,自解压到和opencv一样的目录,你在配置opencv时,这些库由于和opencv共享目录,所以也就顺便配置好了,然后就是需要手动链接库,lib列表已经在压缩包中存成txt文档,所以配置就是copy一遍就可以了,另外注意,博主只编译了MD的库,如果你习惯使用opencv静态库,可以下载源码自行编译,也可以参照博主原来写的博客,所以库都以MT方式编译了。另外,还需要安装Intel编译器。

阅读更多

Matlab解析pfm格式图像

        关于pfm格式,从来没有官方权威的定义,但是常常在一些场合用到,如生物医学成像,红外成像等,尤其是其浮点方式的存储的位图使得其在科研和学习场合应用都很方便,Middlebury数据库中的视差图像就是以pfm格式进行存储的。

阅读更多