美文网首页
计算机视觉

计算机视觉

作者: 土豆哥小朋友 | 来源:发表于2019-06-19 23:36 被阅读0次

Gamma压缩

Gamma矫正一般用于平滑的扩展暗调的细节。

Y' = Y^{\frac{1}{γ}}

直方图均衡

步骤

  1. 对各亮度求PDF
  2. 对PDF求和得CDF,此CDF的离散化结果即为映射函数的查找表
  3. 取原图像第i行第j列的灰度为index,查找表中第index项的值为val,新图像第i行第j列的灰度即为val

数学证明

双线性插值

双线性插值

R_{1}=\frac{x_{2}-x}{x_{2}-x_{1}} \cdot Q_{11} + \frac{x-x_{1}}{x_{2}-x_{1}} \cdot Q_{21}
R_{2}=\frac{x_{2}-x}{x_{2}-x_{1}} \cdot Q_{12} + \frac{x-x_{1}}{x_{2}-x_{1}} \cdot Q_{22}
P=\frac{y_{2}-y}{y_{2}-y_{1}} \cdot R_{1} + \frac{y-y_{1}}{y_{2}-y_{1}} \cdot R_{2}

自适应局部直方图均衡化

将整幅图片分为多个区块,每个区块分别计算CDF建立查找表。对于每一个像素,以其四邻域的CDF分别计算映射结果,用双线性插值求得该像素最终的灰度值。

线性滤波器

卷积和相关

卷积和相关操作基本相同,但卷积需要先把滤波器核旋转180°后使用。

卷积:h[m,n]=\sum_{k,l}f[k,l]I[m-k,n-l]

相关:h[m,n]=\sum_{k,l}f[k,l]I[m+k,n+l]

常见滤波器核

高斯滤波器

用于模糊。

G_{σ}=\frac{1}{2\pi σ}e^{-\frac{x^{2}+y^{2}}{2σ^{2}}}

生成的滤波器核必须归一化。

\left[ \begin{matrix} 0.003 & 0.013 & 0.022 & 0.013 & 0.003 \\ 0.013 & 0.059 & 0.097 & 0.059 & 0.013 \\ 0.022 & 0.097 & 0.159 & 0.097 & 0.022 \\ 0.013 & 0.059 & 0.097 & 0.059 & 0.013 \\ 0.003 & 0.013 & 0.022 & 0.013 & 0.003 \end{matrix} \right] \tag {σ=1}

锐化滤波器

用于锐化图像。

\left[ \begin{matrix} -1 & -1 & -1 \\ -1 & 9 & -1 \\ -1 & -1 & -1 \end{matrix} \right] \

均值滤波器

用于模糊。

\frac{1}{9} \left[ \begin{matrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{matrix} \right]\

参考

非线性滤波器

中值滤波器

对像素所在窗口内所有像素排序,取中值替换当前像素。

双边滤波器

由高斯滤波与灰度距离的高斯函数的离散化结果点乘得到。它可以在降噪的同时保留边缘。

g(i,j)=\frac{\sum_{k,l}f(k,l)w(i,j,k,l)}{\sum_{k,l}w(i,j,k,l)}

w(i,j,k,l)=e^{-(\frac{(i-k)^{2}+(j-l)^{2}}{2σ_{d}^{2}}+\frac{||f(i,j)-f(k,l)||^{2}}{2σ_{r}^{2}})}

图像金字塔

高斯金字塔

对原始图像进行高斯卷积,卷积得到的结果降采样(分辨率缩小,实际是向上采样)得到向上一层;重复步骤形成一组图像,即为高斯金字塔。降采样的图像大小一般为该层的一半,可以通过删除所有偶数行和列得到。

拉普拉斯金字塔

对顶部图像进行上采样(分辨率扩大,实际是向下采样)得到向下一层,用这一层的原图像与上采样的结果相减得到预测残差,每一层的残差即为拉普拉斯金字塔。上采样时先将分辨率扩大为两倍(以0填充空行和列),之后进行特定的卷积。

高斯差分金字塔

在高斯金字塔的基础上,每层用多个不同的σ进行卷积形成多幅图像,同一层的不同图像之间的差分结果为高斯差分金字塔。

DOG金字塔参考

高斯金字塔和拉普拉斯金字塔参考

边缘检测

边缘检测算子

拉普拉斯算子

用于查找边缘。是通过二阶导数得到的算子。

\left[ \begin{matrix} 0 & 1 & 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \end{matrix} \right] \

Sobel算子

用于分别查找两个方向的边缘。基于Prewitt算子改进,有更好的降噪性能。

\left[ \begin{matrix} 1 & 2 & 1 \\ 0 & 0 & 0 \\ -1 & -2 & -1 \end{matrix} \right]\

\left[ \begin{matrix} 1 & 0 & -1 \\ 2 & 0 & -2 \\ 1 & 0 & -1 \end{matrix} \right]\

Prewitt算子

用于分别查找两个方向的边缘。

\left[ \begin{matrix} 1 & 1 & 1 \\ 0 & 0 & 0 \\ -1 & -1 & -1 \end{matrix} \right] \

\left[ \begin{matrix} 1 & 0 & -1 \\ 1 & 0 & -1 \\ 1 & 0 & -1 \end{matrix} \right]\

Roberts算子

用于分别查找两个方向的边缘。能产生较细的边缘。

\left[ \begin{matrix} -1 & 0 \\ 0 & 1 \end{matrix} \right] \

\left[ \begin{matrix} 0 & -1 \\ 1 & 0 \end{matrix} \right]\

使用拉普拉斯算子

使用拉普拉斯算子的思路是对图像求二阶导数,二阶导数过零点的地方即为边缘。

Δ=\nabla^{2}=[\frac{\partial}{\partial x}\frac{\partial}{\partial y}][\frac{\partial}{\partial x}\frac{\partial}{\partial y}]^{T}=\frac{\partial^{2}}{\partial x^{2}}\frac{\partial^{2}}{\partial y^{2}}

将其离散化得到:

Δf(x,y)=[(f(x+1,y)-f(x,y))-(f(x,y)-f(x-1,y))]+[(f(x,y+1)-f(x,y))-(f(x,y)-f(x,y-1))]

=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y)

也就是拉普拉斯算子:

\left[ \begin{matrix} 0 & 1 & 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \end{matrix} \right] \

高斯拉普拉斯方法

仅使用拉普拉斯算子处理,图像会对噪声敏感,因此先用高斯滤波对齐进行一遍卷积。由线性滤波的性质,可以先对高斯函数求二阶导再直接作用于原图,也即将高斯滤波用拉普拉斯算子卷积后再对原图像进行卷积。

相关文章

  • 计算机视觉资源库

    Python 计算机视觉 SimpleCV—开源的计算机视觉框架,可以访问如OpenCV等高性能计算机视觉库。使用...

  • 计算机视觉历史回顾与介绍-笔记

    计算机视觉从何而来 由于“眼睛”,推动了物种的进化。由生物视觉系统,从而开始做相关的计算机视觉的研究。 计算机视觉...

  • AI计算机视觉研究内容浅析

    一、什么是计算机视觉? 计算机视觉,英文Computer Vision,简称CV。计算机视觉是一门研究如何使机...

  • 浅谈计算机视觉与自然语言处理

    原创:杨其泓 1. 计算机视觉 1.1. 什么是计算机视觉 计算机视觉(Computer Vision)是一门研究...

  • “罪恶克星”张学友,AI人脸识别新职业

    “人脸识别”技术属于计算机视觉的应用。计算机视觉是指用计算机来模拟人的视觉系统,实现人的视觉功能,以适应、理解外界...

  • 【计算机视觉(五)】模板匹配

    前请提要 前三期(【计算机视觉(二)】常用颜色空间及其转换)、【计算机视觉(三)】形态学处理、【计算机视觉(四)】...

  • 人工智能的五大核心技术

    计算机视觉 计算机视觉是指计算机从图像中识别出物体、场景和活动的能力。计算机视觉技术运用由图像处理操作及其他技术所...

  • Python学习如何用10行代码完成目标检测

    导语 人工智能的一个重要领域是计算机视觉。计算机视觉是计算机和软件系统能够识别和理解图像和场景的科学。计算机视觉还...

  • [转]计算机视觉

    计算机视觉牛人博客和代码汇总(全) 国内外有名的计算机视觉团队汇总 和机器学习和计算机视觉相关的数学 (转载) 【...

  • SLAM入门资料整理

    计算机视觉、图像基础 数字图像处理 计算机视觉 Multiple View Geometry in Compute...

网友评论

      本文标题:计算机视觉

      本文链接:https://www.haomeiwen.com/subject/kislqctx.html