16 saltriver

尚未进行身份认证

You're On Your Own.

等级
TA的排名 4k+

Hough直线检测的理解

我们在前面的《图像的颜色选择》、《图像的感兴趣区域》中提到了对车道线的检测。通过对原始行车图像进行颜色选择和感兴趣区域的提取,得到了如下的车道线:我们的车道线当然是一左一右两条线。那怎样从这个车道线图像中提取出这2条线呢?这就要谈到“霍夫变换(HoughTransfrom)”。霍夫变换是1972年提出来的,最开始就是用来在图像中过检测直线,后来扩展能检测圆、曲线等。我...

2018-06-02 13:35:51

Canny边缘检测

Canny边缘检测是一种非常流行的边缘检测算法,是JohnCanny在1986年提出的。它是一个多阶段的算法,即由多个步骤构成。1.图像降噪2.计算图像梯度3.非极大值抑制4.阈值筛选我们就事后诸葛亮,分析下这个步骤的缘由。首先,图像降噪。我们知道梯度算子可以用于增强图像,本质上是通过增强边缘轮廓来实现的,也就是说是可以检测到边缘的。但是,它们受噪声的影响都很大。那么,我...

2018-06-02 10:08:37

图像的边缘检测

我们先看几幅简单的图像:这3幅图像,都只有极其简单的线条,组成了物体的轮廓,我们人一看就知道是什么物体。也就是说,我们人类视觉通过物体边缘就能够做到识别物体。因此,物体边缘是图像中最基本也是最重要的特征,图像分析、识别、理解的第一步就是边缘检测。那么,什么是边缘呢?很遗憾,尽管边缘在图像处理中有着极其重要的作用,但好像并没有严格精确的定义。一般认为:两个具有不同灰度的均匀图像区域的边界...

2018-06-02 09:54:01

图像的颜色是什么

我们都知道图像是有颜色的,最常见的颜色表达方式就是RGB,Red(红)、Green(绿)、蓝(Blue),也就是常说的三通道(channel)或者三分量。那么到底什么是颜色呢?有人会说我们看到的物体呈现的红、橙、黄、绿、蓝、紫就是颜色啊。那我们进一步问?为什么晚上在房间里什么颜色都看不见,桌子上的水果盘中,苹果没有呈现出红色,桔子也没有呈现出橙色啊?答案得从物理世界中找,那就是电磁波,更精...

2018-03-24 20:00:17

选择图像的“感兴趣区域”

我们在前面的文章《图像的颜色选择》中提到,如下的行车图像,要提取黄色和白色的车道线,通过颜色选择,分别得到了黄颜色的区域和白颜色的区域。下图分别是原始行车图像,白颜色位置图像,黄颜色位置图像:我们可以用前面提到的《图像位操作》将白颜色位置和黄颜色位置叠加起来。这里就用到了bitwise_or的位操作。importcv2white=cv2.imread("whi...

2018-03-24 19:54:40

图像“位操作”有什么用?

我们在看优酷视频时,经常会发现视频右上角上有“优酷”的字样。例如:实际上我们可以把视频看作一幅幅的图像,在每幅图像中,我们把“优酷”这个图标加上去。于是一个很自然的想法就是图像相加。由于图像相加需要2幅图像有相同的大小,因为图像就是矩阵,同维度的矩阵才能相加。于是先生成一副有“优酷”字样的黑色背景的图像,让其与每幅图像进行相加。importcv2car=cv2.i...

2018-03-24 19:47:02

图像“颜色选择”怎么用?

我们来看一个简单的需求,比如说下面这幅图像:这是一幅公路上的行车图像,假如我们想把车道线提取出来,该怎么办呢?我们观察,发现车道线是黄色的或者白色的。那么我们想到的是可以把行车图像中的黄色颜色和白色颜色提取出来。我们知道,在RGB颜色模式中,白色是[255,255,255],黄色是[255,255,0]。但是行车图像中的白色和黄色可不完全是纯白色和纯黄色。因此,需要在一定的范围内...

2018-03-24 19:40:59

为什么要引入齐次坐标

前面我们提到了图像的缩放变换和旋转变换,可以用矩阵乘法的形式来表达变换后的像素位置映射关系。那么,对于平移变换呢?平移变换表示的是位置变化的概念。如下图所示,一个图像矩形从中心点[x1,y1]平移到了中心点[x2,y2]处,整体大小和角度都没有变化。在x方向和y方向上分别平移了tx和ty大小。显然:x2=x1+txx2=x1+txx2=x1+txy2=x2+tyy2=x2...

2018-03-24 18:20:03

图像旋转变换的推导

前面我们提到了图像的缩放变换,可以用矩阵乘法的形式来表达变换后的像素位置映射关系。那么,对于旋转变换呢?我们可以同样将其想象成二维平面上矢量的旋转。如下图所示,矢量[x1,y1]逆时针旋转θθθ度到了[x2,y2]。设定矢量的长度为s,根据坐标系定义,我们可以得到:x2=s∙cosβx2=s•cos⁡βx2=s•cos⁡βy2=s∙sinβy2=s•sin⁡βy2=s•...

2018-03-24 17:56:47

图像的缩放变换

在日常工作中,我们经常需要对图像进行缩放(放大、缩小),旋转、平移等各种操作,这类操作统称为图像的几何变换。相对于前面提到的灰度变换,几何变换是改变了原图像像素点在新图像中的空间位置。我们首先来看看图像缩放操作。假设一幅图像是100×100像素大小,放大一倍后是200×200大小。图像中的每一个像素点位置可以看作是一个点,也可以看作是二维平面上的一个矢量。图像缩放,本质上就是将每个像素点的矢量...

2018-03-24 17:46:04

图像增强之对比度拉伸

我们前面提到过图像二值化,图像反转,本质上是对图像的所有像素点的灰度进行操作,属于灰度变换的内容。灰度变换的主要目的是用于图像增强。而对比度拉伸是图像增强的一种方法,也属于灰度变换操作。我们看如下图像:可以看到,这张图片非常灰暗。我们查看下其直方图。importcv2importmatplotlib.pyplotaspltfarina=cv2.imread(...

2018-03-24 13:39:59

彩色图像怎样转灰度图像

我们日常的环境通常获得的是彩色图像,很多时候我们常常需要将彩色图像转换成灰度图像。也就是3个通道(RGB)转换成1个通道。(1)平均法最简单的方法当然就是平均法,将同一个像素位置3个通道RGB的值进行平均。I(x,y)=1/3*I_R(x,y)+1/3*I_G(x,y)+1/3*I_B(x,y)原始图像:importcv2importnump...

2018-03-24 13:31:14

微分算子为什么也是空间滤波器

前面我们提到,可以用一阶微分算子和二阶微分算子来增强图像,由于是增强了图像中的物体边缘轮廓,起到了锐化图像的效果,因此这些算子操作可用于图像锐化。我们在前面的图像模糊中,介绍了使用平滑空间滤波器来模糊图像,那么用微分算子来锐化图像能不能也使用空间滤波器的形式呢?我们分别选一个一阶微分算子和一个二阶微分算子作为示例:Sobel算子和Laplacian算子。首先,还是给出图像像素的8领域:

2018-01-06 18:25:03

图像二阶导数的本质

前面我们介绍过了图像的二阶导数,并且指出,二阶导数比一阶导数有更好的细节增强表现。那么,其原理是什么呢?我们仍然简化问题,考虑下x方向,选取某个像素,如下图所示:可以看出,在图中标红色框框的像素附近是一个明显的分界线,上面是一片平坦的灰度区域,下面是灰度缓慢变化的区域。而且有着明显的灰度突变:从100突变到50。我们可以把这个看作图像中物体的轮廓边缘。根据前几篇文章的介绍,图像在x

2018-01-06 18:01:32

图像二阶导数的推导

前面我们介绍过了图像的梯度,以及图像的几个梯度算子。这些本质上都是一阶导数,或一阶微分。就是求图像灰度变化的导数,能够突出图像中的对象边缘。那有一阶导数,有没有二阶导数呢?求导数的导数,这对灰度变化强烈的地方会更敏感。在微积分中,一维函数的一阶微分的基本定义是这样的:dfdx=limϵ→0f(x+ϵ)−f(x)ϵ\frac{df}{dx}=\lim_{\epsilon\righta

2018-01-06 17:54:36

图像梯度算子的本质

前面我们介绍过图像的梯度,其定义是根据微积分的定义在二维离散函数中推导出来的。但是,我们需要理解,梯度只是一个工具,方法,核心目的是得到像素点与其相邻像素的灰度值变化情况,并通过这种变化来增强图像。这种原始定义的梯度只是这种灰度值变化情况的度量工具。我们再回顾一下,假设某像素与其8领域用如下矩阵表示:那么,根据图像梯度的定义:gx=z8-z5gy=z6-

2018-01-06 10:45:13

图像梯度的基本原理

前面我们提到,当用均值滤波器降低图像噪声的时候,会带来图像模糊的副作用。我们当然希望看到的是清晰图像。那么,清晰图像和模糊图像之间的差别在哪里呢?从逻辑上考虑,图像模糊是因为图像中物体的轮廓不明显,轮廓边缘灰度变化不强烈,层次感不强造成的,那么反过来考虑,轮廓边缘灰度变化明显些,层次感强些是不是图像就更清晰些呢。那么,这种灰度变化明显不明显怎样去定义呢。我们学过微积分,知道微分就是求函数的变化

2018-01-06 10:37:22

图像的统计方法

前面我们提到,用均值滤波器、中值滤波器、高斯滤波器等可以降低图像中的噪声,其副作用是带来了图像模糊。我们降低噪声的目的,当然是为了提高图像的质量,这是“图像增强”的一个重要应用。那图像质量怎么评价呢?这是个不同人有不同见解,比较主观的事情。图像增强从一开始就是建立在特定问题的基础上的。对于不同的特定问题,就需要不同的图像增强方法,其增强后的图像质量当然评价标准也不一样。因此,并不存在“通用”的

2018-01-06 10:01:58

高斯模糊

我们前面提到,可以使用加权平均操作来降低图像的噪声,其基本原理就是按照领域像素的重要程度来进行加权。那这个加权平均的滤波器是怎样的呢?我们可以构建如下的加权平均滤波器:离中心点越近的权值比越远的权值要高,但这个滤波器的尺寸太小,通常很难看出区别,而且更重要的是权重大小的设置比较繁琐。我们知道,高斯函数呈现出的特征就是中间高,两边低的钟形。下图是二维高斯函数的可视化图形:能不能利用高斯函数的这种性质,

2017-12-24 11:13:00

中值滤波器

我们前面提到,使用平均操作或加权平均操作可以降低图像的噪声,并由此引出了空间滤波器的概念。这种平均操作或加权平均操作的空间滤波器,根据平均操作的特点,可以叫做均值滤波器。均值,就是平均值得意思。我们在《统计学-掌握数据的总体状态》中知道,对数据的统计有平均值,还可以有中位数。例如一组数:50,60,17,6,80,90,25。其平均值是:(50+60+17+6+80+90+25)/=46.86。而

2017-12-24 11:08:59

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!