利用单应矩阵与透视变换纠正照片中的文档

今天因为要申请一些东西,所以要扫描护照的信息页,但我在外出差身边没有扫描仪,只能用手机拍照,拍照就会有透视畸变,所以必须要想办法把这个畸变消除掉。如下图所示,是手机拍摄的一本书,有比较明显的透视变换,我们希望的是获得正视图。这正是这篇博客需要解决的问题。 要解决这个需求其实比较简单,只要...»

使用Matplotlab绘制散点图

现有一堆数据,是散点坐标形式,现在需要将它们绘制成散点图。数据格式如下图。 第一行为一个数字,表示当前文件共有多少行数据。 第二行开始为真正的数据,各数据间以一个Tab分隔。第一列是数据点ID名,第二列是X坐标,第三列是Y坐标,第四、五列暂时用不到,不用管它。第六列是垂轨误差,第七列是沿...»

使用OpenCV的FileStorage模块持久化存取数据(Python)

在之前的这篇博客中,提到了使用OpenCV的FileStorage模块来持久化保存数据,但那篇博客介绍的是C++的使用方法。但最近在用Python,所以需要在Python中实现相关功能。但不知道为什么,在网上找了挺久没找到多少介绍Python中FileStorage的使用方法的,C++的倒...»

SLAM环境搭建步骤

由于最近组里又有新人想要学习SLAM,为了让他们少走点坑,这里简单总结一下SLAM环境搭建的相关内容,包括一些常见的库。 也自己重新搭好了一个虚拟机环境,可以直接给他们用了。 本文介绍的SLAM系统环境是Ubuntu 16.04。 1.依赖环境简介 (1)Ubuntu Ubuntu是一个...»

Ubuntu中apt命令自动补全设置

在Ubuntu中安装软件和包,apt命令是必不可少的,虽然类似于Python的pip一样十分方便,但安装的包名却是一个比较烦人的问题。 需要安装的报名太长、单词记不住、版本号不对(对于有些依赖库而言,要求是版本号是完全对应的,低的高的都不行,不适用向下兼容原则)等等问题,所以如果可以有包名...»