1、配套课件数字图像处理 编程框架、理论分析、实例应用和源码实现数字图像处理1在计算机视觉与图像处理领域,特征的概念被用于表示一定的信息,这些信息是为了解决与特定的应用相关的某种计算任务。特征提取,就是指图像特征的计算,用以作为对图像中局部信息内容进行决策的中间结果。与特征提取相关的还有两个概念,分别为维数压缩和特征选择。所谓维数压缩,就是对于一个算法而言所输入的数据过于巨大而难以进行有效的处理,可以利用数据冗余性(数据量大,但是信息量不大)的特点将所输入数据转换为一种特征的精简表示形式(即特征向量)。特征选择,通常用在机器学习中,用以选择一个相关特征的子集,并进行更为鲁棒的学习建模。数字图像处理
2、2图像特征提取,主要可以分为两个层次,一层是底层特征提取,另一层是高层特征提取。高层特征提取,往往是基于语义层次的高度,如人脸识别、人的行为分析等等,这些都必须根据底层特征的提取结果并通过机器学习才能得到。底层特征提取,是一切图像分析的基础,已经得到了广泛的研究和相对成熟的成果。数字图像处理3颜色形状纹理颜色是一种重要的视觉信息属性,在数字图像处理中是一种很有用的特征。相对于其它特征,颜色特征非常稳定,对于旋转、平移、尺度变化,甚至各种变形都不敏感,表现出相当强的鲁棒性,而且颜色特征计算简单,因此成为现有图像处理系统中应用最广泛的特征。对于颜色特征,分两个部分进行讲述,包括彩色和灰度信息处理。
3、对于彩色信息处理,主要讲述几种常见的色彩空间;而对于灰度信息处理,主要讲述直方图技术。数字图像处理4数字图像处理5HSV色彩空间YUV色彩空间RGB色彩空间Lab色彩空间XYZ色彩空间根据人眼结构,所有颜色都可看作是3个基本颜色红(Red),绿(Green)和蓝(Blue)的不同组合。在RGB颜色空间的原点上,任一基色均没有亮度,即原点为黑色。三基色都达到最高亮度时表现为白色。亮度较低的等量的三种基色产生灰色的影调。所有这些点均落在彩色立方体的对角线上,该对角线被称为灰色线。彩色立方体中有三个角对应于三基色,红色、绿色和蓝色。剩下的三个角对应于二次色,黄色、青色(蓝绿色)和品红(紫色)。数字图
4、像处理6数字图像处理7数字图像处理8原始彩色图像红色分量图像绿色分量图像蓝色分量图像数字图像处理9数字图像处理10数字图像处理11数字图像处理12数字图像处理13原始彩色图像色调分量图像饱和度分量图像亮度分量图像YUV是一种真彩色颜色空间的表示,其中Y表示亮度,U和V表示色度和浓度。YUV经常与YCbCr等术语进行混用,其中YUV主要是用来描述模拟信号,而YCbCr则是用来描述离散的视频信号。在常用的压缩格式MPEG和JPEG中,YCbCr得到了很好的应用,但是如今,YUV在电脑系统中也得到了广泛的应用。YUV格式可以分为两种:紧缩格式:将Y、U、V值存储为宏像素阵列,和RGB的存储方式类似;
5、平面格式:将Y、U、V三个分量分别存储在不同的矩阵中。数字图像处理14数字图像处理15数字图像处理16原始彩色图像Y(亮度)分量图像U(色度)分量图像V(浓度)分量图像数字图像处理17数字图像处理18原始彩色图像X分量图像Y分量图像Z分量图像数字图像处理19数字图像处理20数字图像处理21原始彩色图像L分量图像a分量图像b分量图像数字图像处理22数字图像处理23CTArray CImageProcessing:Histogram_of_gray_image(const CTMatrix&gray_image)const long dimension=256;/直方图维数CTArray hist
6、ogram(dimension);/构造直方图for(int index=0;index dimension;index+)/直方图遍历histogram index =0;long image_height=gray_image.Get_height();/图像高度long image_width =gray_image.Get_width();/图像宽度for(int row=0;row image_height;row+)for(int column=0;column image_width;column+)histogram gray_imagerowcolumn +;return h
7、istogram;/返回直方图数字图像处理24数字图像处理25数字图像处理26数字图像处理27数字图像处理28数字图像处理29CTMatrix CImageProcessing:Histogram_equalization(const CTMatrix&gray_image,long equal_scale)long image_height=gray_image.Get_height();long image_width =gray_image.Get_width();CTMatrix result_image(image_height,image_width);CTArray histog
8、ram=Normalize_histogram(Histogram_of_gray_image(gray_image);for(int index=1;index histogram.GetDimension();index+)histogram index +=histogram index-1;for(int index=0;index histogram.GetDimension();index+)histogram index =long(long(histogram index *equal_scale)*(256.0/double(equal_scale);histogram in
9、dex =max(0,histogram index );histogram index =min(255,histogram index );for(int row=0;row image_height;row+)for(int column=0;column image_width;column+)result_image row column =BYTE(histogram gray_image row column );return result_image;数字图像处理30原始图像数字图像处理31数字图像处理32数字图像处理33数字图像处理34数字图像处理35基于图像内物体形状的检索
10、是基于内容检索当中一个最具挑战性的问题之一,因为寻找符合人眼感知特性的形状特征不是一件简单的工作。首要的困难是要将不同物体从图像中分割出来,这是计算机视觉的困难问题之一。形状的描述也是困难的问题,常用的方法有傅立叶描述子、矩不变量、各种简单的形状因子(如面积、圆度、偏心度、主轴方向)等。除了这些全局特征以外,有时也用一些局部特征(如直线段、圆弧、角点、高曲率点等),以解决遮挡问题。数字图像处理36数字图像处理37Hu不变矩傅里叶描述子Hough变换Zernike不变矩Radon变换矩是一种完备的数学表示,其优点是能够直接用于包含感兴趣目标的区域而不需事先把目标分离出来。区域的矩是用所有属于区域
11、内的点计算出来的,因而不太受噪声等的影响。由于低阶矩对噪声和量化误差不敏感,所以矩为描述区域提供了一种虽不完备但却有用的总体表示。矩在图像检索中,特别是在商标图像检索中,得到了广泛的应用。Hu不变矩具有良好的尺度、平移和旋转不变性,在基于形状的商标图像检索中取得了非常好的检索性能。数字图像处理38数字图像处理39数字图像处理40数字图像处理41数字图像处理42数字图像处理43数字图像处理44数字图像处理45数字图像处理46数字图像处理47数字图像处理48数字图像处理49数字图像处理50Radon变换的具体实现,大致可以分为四个步骤将坐标原点移至图像中心直线参数计算直线坐标的最大最小值计算根据角
12、度进行分区讨论数字图像处理51数字图像处理52数字图像处理53为了验证所得到的傅里叶描述子是否正确,可以对傅里叶描述子进行傅里叶逆变换,然后从所得到的一维复数数组中恢复二值图像,通过比较新旧图像就可以看出所得到的傅里叶描述子是否正确。数字图像处理54数字图像处理55CTArray CImageProcessing:Position_from_binary_image(const CTMatrix&binary_image,BlackWhite object_color)long number_of_objects=0;long image_height=binary_image.Get_hei
13、ght();long image_width =binary_image.Get_width();for(int row=0;row image_height;row+)for(int column=0;column image_width;column+)if(binary_image row column =object_color)number_of_objects+;CTArray array_of_positions(number_of_objects);number_of_objects=0;for(int row=0;row image_height;row+)for(int c
14、olumn=0;column image_width;column+)if(binary_image row column =object_color)array_of_positions number_of_objects.m_re=row;array_of_positions number_of_objects.m_im=column;number_of_objects+;return array_of_positions;数字图像处理56CTMatrix CImageProcessing:Binary_image_from_position(const CTArray&array_of_
15、positions,long image_height,long image_width,BlackWhite object_color)CTMatrix binary_image(image_height,image_width);for(int row=0;row image_height;row+)for(int column=0;column image_width;column+)binary_image row column =(object_color=White?Black:White);long dimension=array_of_positions.GetDimensio
16、n();for(int index=0;index dimension;index+)long row=long(array_of_positions index.m_re);long column=long(array_of_positions index.m_im);if(binary_image.Is_point_valid(CImagePoint(row,column)binary_image row column =object_color;return binary_image;通常认为纹理是在图像上表现为灰度或颜色分布的某种规律性,这种规律性在不同类别的纹理中有其不同特点。纹理大
17、致可分为两类:一类是规则纹理,它由明确的纹理基本元素(简称纹理基元)经有规则排列而成,常被称为人工纹理。另一类是准规则纹理,它们的纹理基元没有明确的形状,而是某种灰度或颜色的分布。常用的三种纹理分析方法是:统计分析方法例如使用直方图的各阶矩或区域灰度共生矩阵;结构分析方法例如利用纹理基元及其排列规律;频谱分析方法例如选取纹理模式的主方向和基本周期。数字图像处理57数字图像处理58数字图像处理59Gabor变换是根据模拟人类视觉系统而产生的。通过模拟人类视觉系统,可以将视网膜成像分解成一组滤波图像,每个分解的图像能够反映频率和方向在局部范围内的强度变化。通过一组多通道Gabor滤波器,可以获得纹
18、理特征。Gabor变换的根本就是Gabor滤波器的设计,而滤波器的设计又是其频率函数和高斯函数参数的设计。通过频率参数和高斯函数参数的选取,Gabor变换可以选取很多纹理特征,但是Gabor是非正交的,不同特征分量之间有冗余,所以在对纹理图像的分析中效率不太高。数字图像处理60数字图像处理61数字图像处理62数字图像处理63数字图像处理64离散小波变换系数分解(总分解层数为n=1,2,3)数字图像处理65Tamura等人研究了一系列的对应于人眼视觉感受的纹理特征,分别为粗糙度(coarseness)对比度(contrast)方向性(directionality)线状性(line-likenes
19、s)规整度(regularity)平滑度(roughness)从人的感知经验可知,粗糙度、对比度和方向性是人们区分纹理时所用的三个最主要特征,其中粗糙度是最基本、最重要的纹理特征。数字图像处理66数字图像处理67数字图像处理68数字图像处理69数字图像处理70数字图像处理71数字图像处理72数字图像处理73数字图像处理74对于图像色彩与灰度信息统计,首先介绍了各种色彩空间,包括RGB、HSV、YUV、XYZ和Lab等色彩空间,然后讲述了基于灰度信息的直方图处理。关于直方图处理,主要涉及直方图相似性度量、直方图均衡化、直方图高斯模型和投影直方图。对于形状特征提取,给出了五种具体的计算方法,包括Hu不变矩、Zernike不变矩、Hough变换、Radon变换和傅里叶描述子,其中傅里叶描述子与傅里叶变换是紧密相连的。对于纹理特征提取,本章介绍了三种纹理分析方法,分别为统计分析方法、结构分析方法和频谱分析方法。进一步讨论了三种用于纹理分析的频域变换,包括傅里叶变换、Gabor变换和小波变换。介绍了对应于人眼视觉感受的纹理特征,包括粗糙度、对比度和方向性。数字图像处理75谢谢观看!2020