摘要:
OpenMVG 的功能模块由若干核心库组成,本文主要介绍 image 和 numeric 两个库 1 图像库 图像库包含图像容器 Image<T>、图像IO读写函数 ReadImage() 和 WriteImage()、基本绘图操作 DrawLine()、DrawCircle() 和 DrawEll 阅读全文
摘要:
1 OpenMVG 简介 全称 Open Multiple View Geometry,是法国人 Pierre Moulon 读博期间开源的一个 C++ 库 最早版本 OpenMVG 0.1 是 2013年 2月 发布的,目前最新版本是 2021年 10月 发布的 OpenMVG 2.0 Linke 阅读全文
摘要:
产品机会,企业之大事,死生之地,存亡之道,不可不察也! 背景简介 这个产品的设想,主要源自老板的判断:仿照国外竞品,快速开发,配合销售推广,将来一定热卖。 之前的团队,为了赶展会演示,草草定义好产品后,便匆匆攒出了几套样机。 自己当时入职没几天,还没来及搞清状况,就“被负责”了这个产品的研发。 老板 阅读全文
摘要:
刚体就是 "刚性物体",它在运动过程中,内部各质点间的相对位置不会改变,也即 每两个质点间的距离 保持不变 假设刚体内任意两个质点,坐标分别为 $(x_1, y_1, z_1)$ 和 $(x_2, y_2, z_2)$,则在刚体运动过程中,它们满足如下条件: $\quad \left( (x_1 - 阅读全文
摘要:
上篇 OpenCV 之 图像几何变换 介绍了等距、相似和仿射变换,本篇侧重投影变换的平面单应性、OpenCV相关函数、应用实例等。 1 投影变换 投影变换 (Projective Transformation),是仿射变换的一般化,二者区别如下: 1.1 平面单应性 假定平面 $P^{2}$ 与 $ 阅读全文
摘要:
二维平面中,图像的几何变换有等距、相似、仿射、投影等,如下所示: 1 图像几何变换 1.1 等距变换 等距变换 (Isometric Transformation),是一种二维的刚体变换,可理解为旋转和平移的组合 $\quad \begin{bmatrix} x^{\prime} \\ y^{\pr 阅读全文
摘要:
角点 (corners) 的定义有两个版本:两条边缘的交点,或 邻域内具有两个主方向的特征点 从人眼来看,角点是图像亮度发生剧烈变化的点 或 边缘曲线上曲率为极大值的点。例如,下图 E 和 F 便是典型的角点 1 检测思路 在图像中定义一个局部小窗口,然后沿各个方向移动时,会出现 a) b) c) 阅读全文
摘要:
OpenCV 虽然是计算机视觉库,但也有一些计算机图形学的功能,本文将介绍几种常用绘图函数:直线、圆、椭圆、长方形、多边形等。 1 数据结构 1.1 二维向量 cv::Point 代表的是二维点 (int 型),可用来表示图像坐标 (x, y) // one way Point pt; pt.x = 阅读全文
摘要:
在上一篇 Qt 地址薄 (一) 界面设计 中,主要是实现了地址簿的界面,使用布局管理器进行元素的布局,并解释了 “子类化” 和 “所有权” 的概念。 本篇将在上面的基础上,在界面中新加三个 QPushButton 按钮,通过 “信号 - 槽函数” 机制,实现保存 Name 和 Address 内容的 阅读全文
摘要:
3D 视觉中有三个坐标系:图像坐标系、相机坐标系、世界坐标系。它们之间的关系,可通过三个变换来表示:仿射变换、投影变换、刚体变换 这三个变换,是三维重建几何框架的基础,通过它们,可以将 空间 中的 点 (Xw, Yw, Zw),与 图像 中的 像素 (u, v) 对应起来 1 图像坐标系 图像坐标系 阅读全文