视频图像处理概念篇

特此声明,鄙人收集资料大都来源于百度百科,但是提取其中关键部分,加上一些其他的网上资源来帮助一些概念的理解,希望和大家一起学习。如有解释不到位的地方,还请多多理解。

 

先简单介绍一下OpenCV,以后再进行深入学习:

OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。

 

OpenCV功能

  • 图像数据操作(内存分配与释放,图像复制、设定和转换)
  • 图像/视频的输入输出(支持文件或摄像头的输入,图像/视频文件的输出)
  • 矩阵/向量数据操作及线性代数运算(矩阵乘积、矩阵方程求解、特征值、奇异值分解)
  • 支持多种动态数据结构(链表、队列、数据集、树、图)
  • 基本图像处理(去噪、边缘检测、角点检测、采样与插值、色彩变换、形态学处理、直方图、图像金字塔结构)
  • 结构分析(连通域/分支、轮廓处理、距离转换、图像矩、模板匹配、霍夫变换、多项式逼近、曲线拟合、椭圆拟合、狄劳尼三角化)
  • 摄像头定标(寻找和跟踪定标模式、参数定标、基本矩阵估计、单应矩阵估计、立体视觉匹配)
  • 运动分析(光流、动作分割、目标跟踪)
  • 目标识别(特征方法、HMM模型)
  • 基本的GUI(显示图像/视频、键盘/鼠标操作、滑动条)
  • 图像标注(直线、曲线、多边形、文本标注)

OpenCV模块

  • cv – 核心函数库
  • cvaux – 辅助函数库
  • cxcore – 数据结构与线性代数库
  • highgui – GUI函数库
  • ml – 机器学习函数库 

摘自http://www.cnblogs.com/pangliang/archive/2010/11/21/1883566.html

 

我们知道,在计算机中,按照颜色和灰度的多少可以将图像分为二值图像灰度图像索引图像和真彩色RGB图像四种基本类型。

接下来我们一一介绍

二值图像

二值图像中所有的像素只能从0和1这两个值中取(像素点非黑即白:“0”代表黑色,“1”代白色),因此在MATLAB中,二值图像用一个由0和1组成的二维矩阵表示。这两个可取的值分别对应于关闭和打开,关闭表征该像素处于背景,而打开表征该像素处于前景。以这种方式来操作图像可以更容易识别出图像的结构特征。

二值图像一般用来描述文字或者图形,其优点是占用空间少,缺点是,当表示人物,风景的图像时,二值图像只能描述其轮廓,不能描述细节。这时候要用更高的灰度级。

灰度图像

一幅完整的图像,是由红色、绿色、蓝色三个通道组成的(RGB三原色)。红色、绿色、蓝色三个通道的缩览图都是以灰度显示的。用不同的灰度色阶来表示“ 红,绿,蓝”在图像中的比重。通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255。灰度图像矩阵元素的取值范围通常为[0,255]。因此其数据类型一般为8位无符号整数的(int8),这就是人们经常提到的256灰度图像。“0”表示纯黑色,“255”表示纯白色,中间的数字从小到大表示由黑到白的过渡色。在某些软件中,灰度图像也可以用双精度数据类型(double)表示,像素的值域为[0,1],0代表黑色,1代表白色,0到1之间的小数表示不同的灰度等级。二值图像可以看成是灰度图像的一个特例。

 

我们可以通过下面几种方法,将其转换为灰度:

1.浮点算法:Gray=R*0.3+G*0.59+B*0.11

2.整数方法:Gray=(R*30+G*59+B*11)/100

3.移位方法:Gray =(R*76+G*151+B*28)>>8;

4.平均值法:Gray=(R+G+B)/3;

5.仅取绿色:Gray=G;

 

通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜色RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。

 

索引图像

索引模式和灰度模式比较类似,它的每个象素点也可以有256种颜色容量,但它可以负载彩色。灰度模式的图像最多只能有256种颜色。当图像转换成索引模式时,系统会自动根据图像上的颜色归纳出能代表大多数的256种颜色,就象一张颜色表,然后用这256种来代替整个图像上所有的颜色信息。

索引模式的图像就像是一块块由彩色的小瓷砖所拼成的,由于它最多只能有256种彩色,所以它所形成的文件相对其它彩色要小得多。索引模式的另一个好处是它所形成的每一个颜色都有其独立的索引标识。当这种图像在网上发布时,只要根据其索引标识将图像重新识别,它的颜色就完全还原了。

索引模式主要用于网络上的图片传输和一些对图像象素、大小等有严格要求的地方。

接下来引用百度知道里一位回答者的内容帮助大家理解:

 

图中圆圈内的就是索引图像的索引表,下面的就是其对应RGB颜色表。

图中小圆圈处的索引号是5,对应RGB颜色的第5行,所以该处RGB颜色实际是0.2902  0.0627 0.0627

索引图像的作用就是体积小,方便传输,只需要把索引表传输过去,接收方用对应的RGB颜色表还原就行。

 

RGB彩色图像

RGB图像与索引图像一样都可以用来表示彩色图像。与索引图像一样,它分别用红(R)、绿(G)、蓝(B)三原色的组合来表示每个像素的颜色。但与索引图像不同的是,RGB图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,由于每一像素的颜色需由R、G、B三个分量来表示,M、N分别表示图像的行列数,三个M x N的二维矩阵分别表示各个像素的R、G、B三个颜色分量。RGB图像的数据类型一般为8位无符号整形,通常用于表示和存放真彩色图像,当然也可以存放灰度图像。

 

位图图像

位图图像质量是由单位长度内像素的多少来决定的。单位长度内像素越多,分辨率越高,图像的效果越好。

        RGB
  位图颜色的一种编码方法,用红、绿、蓝三原色的光学强度来表示一种颜色。这是最常见的位图编码方法,可以直接用于屏幕显示。
  CMYK
  位图颜色的一种编码方法,用青、品红、黄、黑四种颜料含量来表示一种颜色。常用的位图编码方法之一,可以直接用于彩色印刷。

  Alpha通道
  在原有的图片编码方法基础上,增加像素的透明度信息。图形处理中,通常把RGB三种颜色信息称为红通道、绿通道和蓝通道,相应的把透明度称为Alpha通道。多数使用颜色表的位图格式都支持Alpha通道。


  色彩深度
  色彩深度又叫色彩位数,即位图中要用多少个二进制位来表示每个点的颜色,是分辨率的一个重要指标。常用有1位(单色),2位(4色,CGA),4位(16色,VGA),8位(256色),16位(增强色),24位和32位(真彩色)等。色深16位以上的位图还可以根据其中分别表示RGB三原色或CMYK四原色(有的还包括Alpha通道)的位数进一步分类,如16位位图图片还可分为R5G6B5,R5G5B5X1(有1位不携带信息),R5G5B5A1,R4G4B4A4等等。

矢量图

矢量图使用直线曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算获得的。矢量可以是一个点或一条线,矢量图只能靠软件生成,文件占用内在空间较小。

矢量图最明显的特征:矢量图的颜色边缘和线条的边缘是非常顺滑的,比如一条弧度线,如果有凹凸不平的,那么这种矢量图是劣质的,一个色块上面的颜色有很多小块这种也是劣质,高品质矢量图应该是,无论你是放大或者缩小,颜色的边缘也是非常顺滑,并且非常清楚的,线条之间是同比例的,并且是同样粗细的,节点同样是很少的,一般来讲矢量图都是由位图仿图绘制出来的,首先有一个图,然后根据他仿图绘制出来。

位图与矢量图的比较


  
位图矢量图
表现内容 丰富单一
储存空间 
放大缩小的效果放大后模糊可以无限放大
计算机显示的时间
  

我们一起来看看图像处理中的噪声是怎么回事?

 

噪声对人的影响噪声可以理解为“ 妨碍人们感觉器官对所接收的信源信息理解的因素”。而图像中各种妨碍人们对其信息接受的因素即可称为图像噪声 。噪声在理论上可以定义为“不可预测,只能用概率统计方法来认识的随机误差”。因此将图像噪声看成是多维随机过程是合适的,因而描述噪声的方法完全可以借用随机过程的描述,即用其概率分布函数和概率密度分布函数。

图像系统中的噪声来自多方面 ,有电子元器件 ,如电阻引起的热噪声;真空器件引起的散粒噪声和闪烁噪声;面结型晶体管产生的颗粒噪声和噪声;场效应管的沟道热噪声 ;光电管的光量子噪声和电子起伏噪声;摄象管引起的各种噪声等等。由这些元器件组成各种电子线路以及构成的设备又将使这些噪声产生不同的变换而形成局部线路和设备的噪声。另外还有就是光学现象所产生的图像光学噪声。

对于图像系统而言,光学噪声之所以重要,主要是因为在全部系统噪声中 光学噪声占相当的比重。所谓光学噪声是指由光学现象产生的噪声。如胶片的粒状结构产生的颗粒噪声;印象纸粗糙表面凹凸不平所产生的亮度浓淡分布也属于这类噪声;投影屏和荧光屏的粒状结构引起的颗粒噪声等。

光学噪声和电气噪声主要差别表现为:前者是在二维空间中展开的图形 ,而后者可由电压的时间变化来表示 。另外光学噪声多半是乘性噪声即前面我们讲的随信号大小而变化的,而电气噪声一般可以认为是加性噪声 ,但两者都可以看作是平稳随机过程,所以可以用傅里叶变换进行分析。(救济我吧,我完全看不懂,我要放弃了!!!)

最后我们来看一下图像预处理的一些方法:

直方图均衡 
        直方图是一种点操作,它逐点改变图像的灰度值,尽量使各个灰度级别都具有相同的数量的像素点,使直方图趋于平衡。直方图均衡可以使输入图像转换为在每一个灰度级上都有相同像素点数的输出图像(即输出的直方图是平的)。

如果一副图像的像素占有很多的灰度级而且分布均匀,那么这样的图像往往有高对比度和多变的灰度色调。直方图均衡化就是一种能仅靠输入图像直方图信息自动达到这种效果的变换函数。它的基本思想是对图像中像素个数多的灰度级进行展宽,而对图像中像素个数少的灰度进行压缩,从而扩展像原取值的动态范围,提高了对比度和灰度色调的变化,使图像更加清晰。

中值滤波

  中值滤波一般采用一个含有若干个点的滑动窗口,将窗口中各点灰度值的中值来代替指定点(一般是窗口的中心点)的灰度值。如果窗口中有奇数个元素,中值取元素按灰度值大小排序后的中间元素灰度值。如果窗口中有偶数个元素,中值取元素按灰度值大小排序后,中间两个元素灰度的平均值。因为图像为二维信号,中值滤波的窗口形状和尺寸对滤波器效果影响很大,不同图像内容和不同应用要求往往选用不同的窗口形状和尺寸。

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值