图像分析之图像特征匹配
[TOC]
相似度
SSD (Sum of Squared Distance)
\[{D(I_A,I_B)}_{SSD} = \sum_{x,y}[{I_A}(x,y)-{I_B}(x,y)]^2\]
SAD (Sum of Absolute Difference)
\[{D(I_A,I_B)}_{SAD} = \sum_{x,y} | {I_A}(x,y)-{I_B}(x,y) |\]
NCC (Normalized Cross Correlation)
\[{D(I_A,I_B)}_{NCC} =
\frac
{ \sum_{x,y} {I_A}(x,y) {I_B}(x,y) }
{ \sqrt { \sum_{x,y} {I_A}(x,y)...
vSLAM位姿优化中雅克比矩阵的求解
[TOC]
概述
SLAM,即 同时定位与建图,视觉SLAM的 定位 即 求取相机位姿(旋转和平移 $[\mathbf{R} \quad \mathbf{t}]$);在SLAM中,我们一般使用 李代数 $\boldsymbol{\xi}$ 来表示 旋转和平移。
记 相机内参矩阵 $\mathbf{K}$,相机位姿 $\mathbf{T} = [\mathbf{R} \quad \mathbf{t}]$ (or $\boldsymbol{\xi}$)
记 $I_1$ 的图像坐标系下,一像素点 $\mathbf{p}(u,v)$;在 $O_1$ 相机坐标系下,其对应的 三维点 $\mathbf{P}(X,Y,Z)$
...
图像频率域分析之傅里叶变换
[TOC]
傅里叶变换基础
傅里叶级数
法国数学家傅里叶发现,任何周期函数都可以用正弦函数和余弦函数构成的无穷级数来表示(选择正弦函数与余弦函数作为基函数是因为它们是正交的),即 任何周期信号都可以表示成一系列正弦信号的叠加
三角形式
\[f(t) = \frac{a_0}{2} +
\sum_{k=1}^{+\infty} \big[ a_k cos (n \omega t) + b_k sin (n \omega t) \big],
\quad
\frac{a_0}{2} =
\frac{1}{T}
\int_{-\frac{T}{2}}^{\frac{T}{2}} f(t) dt\]
复指数形式
\[f(t)
= \frac{1}{T} \sum_{n...
图像空间域分析之图像统计特征
[TOC]
我们可以将一幅数字图像视为一个 二维函数$I(x,y)$ ,其中x和y是空间坐标,在x-y平面中的任意空间坐标 $(x,y)$ 上的 幅值 $I_{xy}$ 称为该点 图像的灰度、亮度或强度。
\[I_{x,y} = I(x,y);\]
下面以 $I_{xy}$ 作为随机变量,分析二维数字图像的 统计特征。
数学期望
数学期望(Expectation) 就是随机变量 以概率为权数的加权平均值,以 级数 的形式表示为
\[E(X) = \sum_{k=1}^{\infty} x_k p_k\]
一幅数字图像的数学期望为其 灰度平均值,即所有像元灰度值的算数平均值
\[\bar{I} = \frac{1}{M \cdot N} \sum_{x=1}^{M} \s...
3D欧式变换理论与实践
[TOC]
Overview
三维空间中的变换主要分为如下几种:
射影变换
仿射变换
相似变换
欧式变换
其性质如下图所示:
本文主要介绍欧式变换。
欧式变换
\[\mathbf{T} =
\begin{bmatrix} \mathbf{R} & \mathbf{t} \\ \mathbf{0}^T & 1 \end{bmatrix}
\in \mathbb{R}^{4 \times 4}\]
\[\mathbf{T}^{-1} =
\begin{bmatrix}
\mathbf{R}^T & -\mathbf{R}^T \cdot \mathbf{t} \\ \mathbf{0}^T & 1
\end{b...
YUV(NV21)图像数据到RGB颜色空间的转换
[TOC]
本文主要介绍YUV_NV21颜色空间到RGB(BGR in OpenCV)颜色空间的转换,并给出示例代码,另附YUV图像查看工具。
NV21(YUV420)介绍
NV12和NV21属于YUV420格式(每2x2四个Y,共用一组uv),是一种two-plane模式,即Y和UV分为两个Plane,但是UV(CbCr)为交错存储,而不是分为三个plane。先存储所有的Y,然后UV交错存储:NV12先U后V,NV21先V后U。
YUV420sp示例格式如下:
YUV_NV21转BGR代码
YUV_NV21颜色空间到RGB(BGR in OpenCV)颜色空间的转换示例代码如下:
const int width = 1280;
const int height = ...
Kalibr 之 Camera-IMU 标定 (总结)
[TOC]
Overview
ethz-asl/kalibr is a toolbox that solves the following calibration problems:
Multiple camera calibration: intrinsic and extrinsic calibration of a camera-systems with non-globally shared overlapping fields of view
Camera-IMU calibration: spatial and temporal calibration of an IMU w.r.t a camera-system
Rolling Shu...
Ubuntu 16.04 下 RGBDSLAM-v2 的安装和使用
简介
RGBD-SLAM-v2 is a state-of-the-art SLAM system for RGB-D cameras, e.g., the Microsoft Kinect. You can use it to create highly accurate 3D point clouds or OctoMaps.
RGBDSLAMv2 is based on the ROS project, OpenCV, PCL, OctoMap, SiftGPU and more.
rgbdslam_v2_cg
!!! Important
本人已建立了 RGBDSLAM-v2 的改版 cggos/rgbdslam_v2_cg,可直接跳转到该项目下,阅读 README.m...
100 post articles, 13 pages.