Home

图像分析之图像特征匹配

[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)...

Read more

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)$ ...

Read more

图像频率域分析之傅里叶变换

[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...

Read more

图像空间域分析之图像统计特征

[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...

Read more

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...

Read more

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 = ...

Read more

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...

Read more