OpenCV可以处理许多2D、3D的变换矩阵,包括但不局限于2D放射变换矩阵(2×3),二维点对的最优单映射变换矩阵H(3×3),四个二维点对之间的透射变换矩阵(3×3),多对三维点之间的旋转平移矩阵(3×4),计算多个点对之间的基矩阵和位姿变换矩阵等。这篇博客对这些变换函数进行了总结,可以通过该博客给出的名字搜索函数进行查询。
PengChao
C++Intel/VS编译器编译Boost库
在使用Intel编译器(icc)时,如果还想调用Boost库,那么icc会自动调用icc编译的boost库,于是这篇博客就介绍了如何使用icc编译Boost库,并且附带Boost库编译时的参数说明,你可以按照这份说明编译出你想要的库版本。(如果你使用默认编译器,此博客也可做参考,除了编译器选择部分不同之外,其它都一样)
PCL库的环境配置及调用(Windows8.1+VS2013/VS2015)
PCL库被广泛用于三维重建,其在三维世界中的地位正如OpenCV在二维世界中的地位。因为其调用了很多第三方库,所以配置极其复杂。官方也推出了简单安装版OneInAll包,这篇博客主要介绍官方简单安装版的方法。由于简单安装版没有CUDA等模块,如果你想用上CUDA就必须得自己重新编译了(博主在使用CUDA8.0,折腾了一个下午放弃了,不过CUDA7.5及以下都有教程)。另外就是,如果想自己编译,这里有一篇很好的博客。如果想快速入门,这里也有一篇很好的博客。
编译64位levmar库
LM算法在诸多领域有着重要应用,Levmar库可以直接用来做LM,这篇博客主要介绍levmar库的编译过程。库编译本身十分普通,但是由于依赖了其它库,所以这篇博客列出了一些关键步骤,详细步骤参见这篇博客。这篇博客主要介绍CMake编译64为levmar库。
CUDA学习笔记(一)VS/C++代码调用CUDA C/C++函数
最近入手了一块GPU,就迅速的开始了GPU编程的学习,这里强行安利几个中文博客(很不错的哦):CUDA开发环境配置教程、CUDA从入门到精通、CUDA官方手册,这份官方手册的pdf版就在安装文件夹NVIDA Corporation的doc里面。
CUDA齐全丰富的开发工具使得VS可以直接新建CUDA C/C++工程,但是,如果我们要在一个已经建立好的C++工程中调用CUDA应该怎么做呢?这篇博客为您详细解答。
C++类的成员函数指针
对于一般的函数指针我们都比较了解了,而类的成员函数指针以及调用方式都有所不同。博主在调Bug的过程中,将相关资料整理到这篇博客中,仅供参考。
信息检索(IR)的评价指标——Precision、Recall、F1、mAP、ROC、AUC
张正友标定工具箱中的Disable View问题和标定结果NAN问题
前面介绍过张正友标定的原理和张正友标定工具箱的使用,现在就实际使用中遇到Disable View 和 矩阵奇异导致的NAN问题 进行解释和说明。
张正友标定法(二)张正友Matlab工具箱的使用
有两份资料,一是加州理工大学开发的标定工具箱,其中实现了全套张正友标定,网站也同样也有详细的使用文档。另一份是OpenCV的标定工具箱,其中使用的也是张正友标定,只不过略有简化。如果你不是直接使用C++书写标定程序的话,强烈推荐加州理工大学的标定工具箱。
张正友Matlab工具箱使用手册,这份文档详细介绍了该工具箱的使用。这篇博客是对这份文档的补充,所以,如果你本着学习工具箱使用方法而来,请点击题头的链接。学习玩使用手册,这篇博客的内容可能会对你进一步了解工具箱有一定帮助。
再附上张正友1998年的Paper,我们开始学习吧。
张正友标定法(一)张正友标定法的数学推导
张正友标定法提出于1998年,自此相机标定只需要自行打印一张棋盘格就可以实现0.5pixel以上的精度,这样的精度已经可以满足绝大多数应用场合的要求。博主这一系列的博客分为三篇,本篇是第一篇,着重介绍数学推导,后面的博客会陆续介绍Matlab工具箱的使用及博主自己对代码的解释和修改。
C++在虚函数和纯虚函数、普通函数的区别
虚函数多态机制可以让成员函数操作一般化,用基类指针指向不同派生对象时,基类指针可以调用其派生对象的虚函数成员。
Socket网络通信,错误代码10093 的解决方法
在Socket编程中,Socket没有正常打开,通过GetLastError()得到错误代码10093,查找ErrorMessage有如下提示:应用程序没有调用WSAStartup,或者WSAStartup调用失败,本博客对可能的原因进行总结分析,并提供解决方法。
快速配置gflags/glog/protobuf
如果你已经配置好opencv,那么下载安装包,自解压到和opencv一样的目录,你在配置opencv时,这些库由于和opencv共享目录,所以也就顺便配置好了,然后就是需要手动链接库,lib列表已经在压缩包中存成txt文档,所以配置就是copy一遍就可以了,另外注意,博主只编译了MD的库,如果你习惯使用opencv静态库,可以下载源码自行编译,也可以参照博主原来写的博客,所以库都以MT方式编译了。另外,还需要安装Intel编译器。
Matlab解析pfm格式图像
关于pfm格式,从来没有官方权威的定义,但是常常在一些场合用到,如生物医学成像,红外成像等,尤其是其浮点方式的存储的位图使得其在科研和学习场合应用都很方便,Middlebury数据库中的视差图像就是以pfm格式进行存储的。
立体视觉BenchMark——Middlebury
立体视觉是计算机视觉中最为重要的方向之一,在视差检测方面KITTI、MiddleBury提供的数据集常被作为Benchmark。