数字图像处理matlab目标提取
数字图像处理实验报告完整版
![数字图像处理实验报告完整版](https://img.taocdn.com/s3/m/e3337b7984254b35eefd34e0.png)
数字图像处理实验一 MATLAB数字图像处理初步一、显示图像1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;实验结果如下图:源代码:>>I=imread('lily.tif')>> whos I>> imshow(I)二、压缩图像4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。
7.用imread()读入图像Sunset.jpg和Winter.jpg;8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小;9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。
其中9的实验结果如下图:源代码:4~6(接上面两个) >>I=imread('lily.tif')>> imfinfo 'lily.tif';>> imwrite(I,'lily.jpg','quality',20);>> imwrite(I,'lily.bmp');7~9 >>I=imread('Sunset.jpg');>>J=imread('Winter.jpg')>>imfinfo 'Sunset.jpg'>> imfinfo 'Winter.jpg'>>figure(1),imshow('Sunset.jpg')>>figure(2),imshow('Winter.jpg')三、二值化图像10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
Matlab中的图像特征提取和图像分类技术
![Matlab中的图像特征提取和图像分类技术](https://img.taocdn.com/s3/m/de5adf71ce84b9d528ea81c758f5f61fb736282d.png)
Matlab中的图像特征提取和图像分类技术图像特征提取和图像分类是计算机视觉领域中的重要研究方向。
通过对图像进行特征提取和分类,可以实现图像识别、目标检测等应用。
Matlab作为一种强大的科学计算软件,提供了丰富的功能和工具箱,能够方便快捷地实现图像特征提取和分类的算法。
一、图像特征提取图像特征提取是将图像从像素级别转换到语义级别的过程。
常用的图像特征包括颜色、纹理、形状等。
在Matlab中,有多种方法可以进行图像特征提取。
1.1 颜色特征提取颜色在图像中起着重要的作用,可以通过颜色特征来描述图像的内容。
在Matlab中,可以使用RGB颜色空间、HSV颜色空间等来表示和提取图像的颜色特征。
通过计算图像中每个像素的颜色分量,可以获得图像的颜色直方图、颜色矩等特征。
1.2 纹理特征提取纹理是图像中细微的、规律性的结构特征。
在Matlab中,可以使用灰度共生矩阵(GLCM)等方法来提取图像的纹理特征。
GLCM是描述图像灰度分布的一种统计方法,通过计算图像中像素之间的灰度关系,可以得到纹理特征如对比度、能量、熵等。
1.3 形状特征提取形状是图像中物体的外形特征,常用的形状特征包括边缘、轮廓、几何形状等。
在Matlab中,可以使用边缘检测算法、轮廓提取算法等来提取图像的形状特征。
通过识别图像中物体的边缘和轮廓,可以得到图像的形状描述符。
二、图像分类技术图像分类是将图像分为不同类别的过程,是计算机视觉中的重要应用之一。
在Matlab中,有多种方法可以实现图像分类。
2.1 传统机器学习方法传统的图像分类方法主要基于机器学习算法,如支持向量机(SVM)、K近邻(KNN)等。
在Matlab中,可以使用机器学习工具箱来实现基于特征向量的图像分类。
通过提取图像的特征向量,并使用机器学习算法进行训练和分类,可以实现准确的图像分类。
2.2 深度学习方法深度学习是近年来兴起的一种图像分类技术,利用深度神经网络来学习图像的特征表示。
matlab目标图像提取
![matlab目标图像提取](https://img.taocdn.com/s3/m/f634106e443610661ed9ad51f01dc281e53a5607.png)
matlab目标图像提取目标图像提取(Object Image Extraction)是一种图像处理技术,旨在从给定图像中提取出感兴趣的目标物体。
在Matlab中,我们可以利用各种图像处理函数和算法来实现目标图像提取。
首先,我们需要加载原始图像。
在Matlab中,可以使用imread函数来加载图像。
例如,假设我们要提取一张名为"image.jpg"的图像,可以使用以下代码加载该图像:```matlabimg = imread('image.jpg');```接下来,我们可以对图像进行预处理,以减少噪声和提高图像质量。
常见的预处理方法包括灰度化、平滑滤波和图像增强等。
例如,可以使用rgb2gray函数将彩色图像转换为灰度图像:```matlabgrayImg = rgb2gray(img);```然后,我们可以选择适当的图像分割方法来将图像分割为目标物体和背景。
常见的图像分割方法包括阈值分割、边缘检测和区域生长等。
例如,可以使用imbinarize函数对灰度图像进行二值化处理:```matlabbwImg = imbinarize(grayImg);```接下来,我们可以使用形态学操作来提取目标物体的形状和结构特征。
形态学操作主要包括膨胀、腐蚀、开运算和闭运算等。
例如,可以使用imopen函数对二值图像进行开运算:```matlabopenedImg = imopen(bwImg, se);```其中,se是指定的结构元素,用于定义形态学操作的大小和形状。
最后,我们可以根据需要对提取的目标图像进行后处理。
例如,可以使用imfill函数填充目标物体内部的空洞:```matlabfilledImg = imfill(openedImg, 'holes');```此外,我们还可以使用imclearborder函数消除与图像边界相连的目标物体,以及使用bwareafilt函数对目标物体进行面积筛选等。
matlab数字图像处理实验报告
![matlab数字图像处理实验报告](https://img.taocdn.com/s3/m/a078329b0b4e767f5acfcec7.png)
《数字图像处理实验报告》实验一图像的增强一.实验目的1.熟悉图像在MATLAB下的读写、输出;2.熟悉直方图;3.熟悉图像的线性指数等;4.熟悉图像的算术运算和几何变换。
二.实验仪器计算机、MATLAB软件三.实验原理图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。
从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像。
其基本原理是:对一幅图像的灰度直方图,经过一定的变换之后,使其成为均匀或基本均匀的,即使得分布在每一个灰度等级上的像素个数.f=H等或基本相等。
此方法是典刑的图像空间域技术处理,但是由于灰度直方图只是近似的概率密度函数,因此,当用离散的灰度等级做变换时,很难得到完全平坦均匀的结果。
频率域增强技术频率域增强是首先将图像从空间与变换到频域,然后进行各种各样的处理,再将所得到的结果进行反变换,从而达到图像处理的目的。
常用的变换方法有傅里叶变换、DCT变换、沃尔什-哈达玛变换、小波变换等。
假定原图像为f(x,y),经傅立叶变换为F(u,v)。
频率域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分进行处理,然后经逆傅立叶变换得到增强的图像。
四.实验内容及步骤1.图像在MATLAB下的读写、输出;实验过程:>> I = imread('F:\image\');figure;imshow(I);title('Original Image');text(size(I,2),size(I,1)+15, ...'', ...'FontSize',7,'HorizontalAlignment','right');Warning: Image is too big to fit on screen; displaying at 25% > In imuitools\private\initSize at 86In imshow at 1962.给定函数的累积直方图。
Matlab中的图像特征提取与匹配技术
![Matlab中的图像特征提取与匹配技术](https://img.taocdn.com/s3/m/63b70912905f804d2b160b4e767f5acfa1c783e1.png)
Matlab中的图像特征提取与匹配技术引言图像特征提取与匹配技术是计算机视觉领域中一项重要的技术,它广泛应用于图像处理、物体识别、目标跟踪等领域。
而在Matlab中,也提供了许多强大的函数和工具箱来支持图像特征提取与匹配。
本文将介绍Matlab中的一些常用的图像特征提取与匹配技术及其应用。
一、图像特征提取1. 颜色特征提取颜色是图像中最直观的视觉特征之一,对于图像分类和目标识别起着重要的作用。
在Matlab中,我们可以通过颜色直方图、颜色矩等统计方法来提取图像的颜色特征。
2. 纹理特征提取纹理是图像中的重要特征之一,可以用来描述物体的表面细节。
Matlab提供了丰富的纹理特征提取函数,比如灰度共生矩阵(GLCM)、局部二值模式(LBP)等。
这些函数可以帮助我们从图像中提取出不同尺度和方向的纹理特征。
3. 形状特征提取形状是图像中物体的几何外形,是图像特征中最常用的特征之一。
Matlab中可以使用边缘检测算法(如Canny边缘检测)来提取图像中的边缘信息,然后通过边缘描述子(如形状上下文)来提取图像的形状特征。
4. 尺度不变特征提取尺度不变特征是一种具有尺度不变性的图像特征,可以有效应对图像中物体的尺度变化。
在Matlab中,我们可以使用尺度不变特征变换(SIFT)算法来提取图像的尺度不变特征。
SIFT算法通过检测关键点和计算局部特征描述子,能够在不同尺度下对图像进行特征提取。
二、图像特征匹配1. 特征点匹配特征点匹配是图像特征匹配的一种常用方法,通过寻找两幅图像中相同或相似的特征点,来实现图像匹配和目标检测。
在Matlab中,我们可以使用SURF(加速稳健特征)算法或者基于特征距离的匹配算法(如欧氏距离、汉明距离等)来进行特征点的匹配。
2. 相似性度量相似性度量是图像特征匹配中另一种常见的方法,它通过计算两幅图像特征之间的相似度来实现图像匹配。
在Matlab中,我们可以使用余弦相似度、欧氏距离等数学公式来度量图像特征的相似性。
数字图像处理matlab课程设计
![数字图像处理matlab课程设计](https://img.taocdn.com/s3/m/72678b2cff4733687e21af45b307e87101f6f88d.png)
数字图像处理matlab课程设计一、课程目标知识目标:1. 理解数字图像处理的基本概念,掌握图像的表示和存储方式;2. 学会使用MATLAB软件进行数字图像处理,掌握相关函数和工具箱的使用方法;3. 掌握图像增强、滤波、边缘检测等基本图像处理技术;4. 了解图像分割、特征提取等高级图像处理技术。
技能目标:1. 能够运用MATLAB进行图像读取、显示和保存操作;2. 能够独立完成图像的增强、滤波等基本处理操作;3. 能够运用边缘检测算法对图像进行处理,提取关键特征;4. 能够根据实际需求选择合适的图像处理技术,解决实际问题。
情感态度价值观目标:1. 培养学生对数字图像处理技术的兴趣,激发其学习热情;2. 培养学生的团队合作意识,使其学会在团队中分享和交流;3. 培养学生严谨的科学态度,使其注重实验数据的真实性;4. 培养学生的创新思维,鼓励其探索新方法,提高解决问题的能力。
本课程旨在通过数字图像处理MATLAB课程设计,使学生在掌握基本理论知识的基础上,运用MATLAB软件进行图像处理实践。
课程注重理论与实践相结合,培养学生具备实际操作能力,并能运用所学知识解决实际问题。
针对学生的年级特点,课程目标既注重知识技能的传授,又关注情感态度价值观的培养,为学生今后的学习和工作奠定基础。
二、教学内容1. 数字图像处理基础- 图像表示与存储(RGB、灰度、二值图像)- 图像类型转换- MATLAB图像处理工具箱介绍2. 图像增强- 直方图均衡化- 伽玛校正- 图像锐化3. 图像滤波- 均值滤波- 中值滤波- 高斯滤波- 双边滤波4. 边缘检测- 索贝尔算子- 拉普拉斯算子- Canny边缘检测5. 图像分割- 阈值分割- 区域生长- 分水岭算法6. 特征提取与描述- 霍夫变换- SIFT算法- ORB算法教学内容根据课程目标进行选择和组织,注重科学性和系统性。
教学大纲明确分为六个部分,分别对应数字图像处理的基础知识、图像增强、滤波、边缘检测、图像分割和特征提取与描述。
(完整版)数字图像处理MATLAB程序【完整版】
![(完整版)数字图像处理MATLAB程序【完整版】](https://img.taocdn.com/s3/m/d2ae5b9e7cd184254a35354c.png)
第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
《数字图像处理》实验教案
![《数字图像处理》实验教案](https://img.taocdn.com/s3/m/8d3c35bd18e8b8f67c1cfad6195f312b3069eb40.png)
《数字图像处理》实验教案一、实验目的与要求1. 实验目的(1)理解数字图像处理的基本概念和原理;(2)掌握常用数字图像处理算法和技巧;(3)培养实际操作能力和动手能力,提高解决实际问题的能力。
2. 实验要求(1)熟悉实验环境和相关软件;(2)了解实验原理和流程;二、实验环境与工具1. 实验环境(1)计算机操作系统:Windows 10/Linux/macOS;(2)编程语言:MATLAB/Python/C++等;(3)图像处理软件:Photoshop/OpenCV等。
2. 实验工具(1)编程环境:MATLAB/Python/C++开发工具;(2)图像处理软件:Photoshop/OpenCV;(3)实验教材和参考资料。
三、实验内容与步骤1. 实验一:图像读取与显示(1)打开图像处理软件,导入一幅图像;(2)了解图像的基本信息,如像素大小、分辨率等;(3)将图像显示在界面上,进行观察和分析。
2. 实验二:图像基本运算(1)对图像进行灰度化处理;(2)进行图像的直方图均衡化;(3)实现图像的滤波处理,如高斯滤波、中值滤波等。
3. 实验三:边缘检测(1)实现Sobel边缘检测算法;(2)实现Canny边缘检测算法;(3)分析不同边缘检测算法的效果和特点。
4. 实验四:图像分割(1)利用阈值分割法对图像进行分割;(2)利用区域生长法对图像进行分割;(3)分析不同图像分割算法的效果和特点。
5. 实验五:特征提取与匹配(1)提取图像的关键点,如角点、边缘点等;(2)利用特征匹配算法,如SIFT、SURF等,进行图像配准;(3)分析不同特征提取与匹配算法的效果和特点。
四、实验注意事项1. 严格遵循实验要求和步骤,确保实验的正确性;2. 注意实验环境和工具的使用,防止计算机和设备的损坏;3. 尊重知识产权,不得抄袭和剽窃他人成果;4. 实验过程中遇到问题,应及时请教老师和同学。
五、实验报告要求1. 报告内容:实验目的、实验环境、实验内容、实验步骤、实验结果及分析;2. 报告格式:文字描述清晰,条理分明,公式和图像正确无误;3. 报告篇幅:不少于2000字;4. 提交时间:实验结束后一周内。
数字图像处理matlab课程设计
![数字图像处理matlab课程设计](https://img.taocdn.com/s3/m/e3a14f4b15791711cc7931b765ce050877327540.png)
数字图像处理matlab课程设计一、教学目标本课程的教学目标是使学生掌握数字图像处理的基本理论和方法,学会使用MATLAB软件进行图像处理和分析。
通过本课程的学习,学生应达到以下具体目标:1.理解数字图像处理的基本概念、原理和算法。
2.熟悉MATLAB图像处理工具箱的使用。
3.能够运用数字图像处理的基本算法解决实际问题。
4.能够使用MATLAB进行图像处理和分析,撰写相关的程序代码。
情感态度价值观目标:1.培养学生的创新意识和团队协作精神。
2.培养学生对数字图像处理技术的兴趣,提高其综合素质。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.数字图像处理基本概念:图像处理的基本概念、图像数字化、图像表示和图像变换。
2.图像增强和复原:图像增强、图像去噪、图像复原。
3.图像分割和描述:图像分割、图像特征提取和描述。
4.图像形态学:形态学基本运算、形态学滤波、形态学重建。
5.MATLAB图像处理工具箱的使用:MATLAB图像处理工具箱的基本功能、常用图像处理函数。
6.图像处理实例分析:结合实际案例,分析数字图像处理技术的应用。
三、教学方法为了实现课程目标,本课程将采用以下教学方法:1.讲授法:通过讲解图像处理的基本概念、原理和算法,使学生掌握图像处理的基本知识。
2.案例分析法:通过分析实际案例,使学生了解数字图像处理技术在实际中的应用。
3.实验法:通过上机实验,使学生熟练掌握MATLAB图像处理工具箱的使用,提高学生的实际操作能力。
4.讨论法:学生进行课堂讨论,激发学生的思维,培养学生的创新意识和团队协作精神。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《数字图像处理(MATLAB版)》。
2.参考书:相关领域的经典教材和论文。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、MATLAB软件、图像处理相关硬件设备。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多个方面,以全面、客观、公正地评价学生的学习成果。
matlab目标与背景的分割与提取
![matlab目标与背景的分割与提取](https://img.taocdn.com/s3/m/7afe707e366baf1ffc4ffe4733687e21af45ff28.png)
matlab目标与背景的分割与提取"Matlab目标与背景的分割与提取"目标与背景的分割与提取是计算机视觉和图像处理中的重要课题,它涉及到将图像中的目标与背景进行有效的分离与提取。
Matlab 作为一种强大的编程工具,为我们提供了丰富多样的图像处理函数和工具箱,可以帮助我们实现目标与背景的分割与提取任务。
本文将一步一步地介绍如何使用Matlab来进行目标与背景的分割与提取。
首先,我们需要加载并显示图像。
在Matlab中,可以使用imread 函数来读取图像数据,并使用imshow函数来显示图像。
例如,下面的代码将加载并显示一张名为"image.jpg"的图像:matlabimage = imread('image.jpg');imshow(image);接下来,我们可以使用Matlab的图像处理函数来对图像进行预处理,以便更好地进行目标与背景的分割与提取。
常见的预处理操作包括图像灰度化、图像平滑和图像增强等。
首先,我们可以使用rgb2gray函数将彩色图像转换为灰度图像。
灰度图像只包含一个亮度通道,而彩色图像包含红、绿、蓝三个通道,因此灰度图像更便于对比度和亮度的调整。
例如,下面的代码将将图像转换为灰度图像:matlabgrayImage = rgb2gray(image);然后,我们可以使用图像平滑操作来减少图像中的噪声,以便更准确地进行目标与背景的分割与提取。
常见的图像平滑算法有高斯滤波和中值滤波。
例如,下面的代码将使用高斯滤波对灰度图像进行平滑处理:matlabsmoothImage = imgaussfilt(grayImage);imshow(smoothImage);最后,我们可以使用图像增强操作来增强图像的对比度和清晰度,以便更好地进行目标与背景的分割与提取。
常见的图像增强算法有直方图均衡化和自适应直方图均衡化等。
例如,下面的代码将使用直方图均衡化对平滑后的图像进行增强处理:matlabenhancedImage = histeq(smoothImage);imshow(enhancedImage);在图像预处理完成后,我们可以使用Matlab的图像分割算法来实现目标与背景的分割与提取。
matlab连通域提取
![matlab连通域提取](https://img.taocdn.com/s3/m/915e0d1d3868011ca300a6c30c2259010202f3cf.png)
matlab连通域提取
Matlab连通域提取是一种基于Matlab编程语言的图像处理技术,主要用于提取数字图像中的连通域。
在数字图像中,连通域是指由像素构成的连续区域,其像素值具有相同或类似的特征。
通过连通域提取技术,可以将数字图像中的目标物体从背景中分离出来,对于目标检测、图像分割、特征提取等应用具有重要意义。
Matlab连通域提取主要分为两种方法:基于二值图像和基于灰
度图像。
基于二值图像的连通域提取方法是将数字图像转化为二值图像后,通过二值图像的形态学运算和区域标记技术来提取连通域。
而基于灰度图像的连通域提取方法是将数字图像转化为灰度图像后,通过阈值分割和灰度区域标记技术来提取连通域。
Matlab连通域提取技术广泛应用于图像处理领域,如医学影像
分析、遥感影像分析、工业自动化等。
同时,Matlab连通域提取技
术也是学习数字图像处理的重要内容之一,对于提高数字图像处理的实践能力具有重要意义。
- 1 -。
matlab目标与背景的分割与提取 -回复
![matlab目标与背景的分割与提取 -回复](https://img.taocdn.com/s3/m/f7152e2859fafab069dc5022aaea998fcc224000.png)
matlab目标与背景的分割与提取-回复[matlab目标与背景的分割与提取]编写一篇1500-2000字的文章目标与背景的分割与提取在许多图像处理应用中都是一个重要的步骤。
例如,在计算机视觉中,准确地分割图像的目标和背景可以帮助我们识别和跟踪对象。
在这篇文章中,我们将介绍如何使用MATLAB来实现目标与背景的分割与提取。
要实现目标与背景的分割与提取,我们可以使用不同的方法,例如阈值分割、边缘检测和图像分割算法。
在这里,我们将重点介绍阈值分割和边缘检测这两种常用的方法。
首先,我们来看一下阈值分割。
阈值分割是一种基于像素灰度值的方法,它通过设置一个阈值来将图像中的目标和背景分开。
在MATLAB中,我们可以使用imbinarize函数来实现阈值分割。
下面是一段MATLAB代码,展示了如何使用imbinarize函数进行阈值分割:matlabI = imread('image.jpg'); 读取图像grayImage = rgb2gray(I); 转换为灰度图像threshold = graythresh(grayImage); 计算阈值binaryImage = imbinarize(grayImage, threshold); 阈值分割在上面的代码中,我们首先使用imread函数读取图像,然后将图像转换为灰度图像,以便能够通过像素灰度值进行处理。
接下来,我们使用graythresh函数计算图像的阈值。
最后,我们使用imbinarize函数将图像进行阈值分割,得到一个二值图像。
接下来,我们来看一下边缘检测。
边缘检测是一种基于图像中的边缘特征进行目标与背景分割的方法。
在MATLAB中,常用的边缘检测函数有edge和Canny。
下面是一段MATLAB代码,展示了如何使用edge函数进行边缘检测:matlabI = imread('image.jpg'); 读取图像grayImage = rgb2gray(I); 转换为灰度图像cannyImage = edge(grayImage, 'Canny'); Canny边缘检测在上面的代码中,我们首先使用imread函数读取图像,然后将图像转换为灰度图像。
基于MATLAB的数字图像处理技术分析
![基于MATLAB的数字图像处理技术分析](https://img.taocdn.com/s3/m/2f18c851f6ec4afe04a1b0717fd5360cba1a8dab.png)
基于MATLAB的数字图像处理技术分析摘要:本文主要针对MATLAB数字图像处理技术进行分析研究,文章中简要分析MATLAB数字图像处理技术的原理和优势,同时也分析该技术的应用功能,并以具体项目为例总结MATLAB数字图像处理技术的具体应用。
关键字;MATLAB;数字图像处理技术;图像处理数字图像处理技术四基于计算机技术基础上的图像处理技术,该技术能够图像信号转换为数字信号并进行综合处理,从而能够利用计算机就直接进行数字处理管控,提升数字图像处理效果。
而随着现代计算机技术的不断优化进步,数字图像处理技术也逐渐升级。
本文提出的MATLAB数字图像处理技术就是一种利用了MATLAB工程语言的图像处理技术,该技术的应用具有图像处理功能全、图像处理效率高的优势,在现代数字图像处理技术中应用,具有良好的应用效果。
1.MATLAB数字图像处理技术简要分析MATLAB数字图像处理技术应用是以MATLAB语言为主要技术的数字图像处理方法。
MATLAB计算机软件语言是由美国mathworks公司设计研发的一种新型软件。
该软件具有矩阵运算处理功能,具有数据分析功能、具有信号处理功能以及图形显示功能,在该功能之下,数据分析信号处理的效率都非常高。
并且国mathworks公司的MATLAB计算机软件语言也针对图像信号处理、神经网络系统以及非线性系统构建设计了多种工具箱,从而方便各项功能良好开展。
MATLAB计算机软件语言在应用的过程中,工具箱的应用十分关键,利用工具箱可以完成多项工作处理工作。
在整个工作进行处理中,图像显示函数,图像文件输入、输出、图像挣钱灌输、图像变换函数、图像颜色操作函数以及图像颜色空间转换函数都是工具箱应用都非常关键,是实现数字图像处理的关键。
MATLAB数字图像处理技术应用具有全面的图像处理功能。
在整个工程施工模块中,要求完成对数字图像处理的综合应用管控,在项目的实际处理中,还可以管控各项数字图像处理的效率。
数字信号处理课程设计--基于Matlab的数字图像处理
![数字信号处理课程设计--基于Matlab的数字图像处理](https://img.taocdn.com/s3/m/53ed11c74b35eefdc9d3331b.png)
目录摘要 (II)第1章绪论...................................... 错误!未定义书签。
第2章数字图像处理系统设计...................... 错误!未定义书签。
2.1设计概括 (5)2.2文件 (6)2.2.1打开 (6)2.2.2保存 (6)2.2.3退出 (6)2.3编辑 (7)2.3.1灰度 (7)2.3.2亮度 (8)2.3.3截图 (10)2.3.4缩放 (10)2.4旋转 (13)2.4.1上下翻转 (13)2.4.2左右翻转 (14)2.4.3任意角度翻转 (15)2.5噪声 (16)2.6滤波 (17)2.6.1中值滤波 (17)2.6.2自适应滤波 (17)2.6.3 平滑滤波 (18)2.7直方图统计 (19)2.8频谱分析 (21)2.8.1、频谱图 (21)2.8.2通过高通滤波器 (22)2.8.3通过低通滤波器 (23)2.9灰度图像处理 (24)2.9.1二值图像 (24)2.9.2创建索引图像 (25)2.10颜色模型转换 (26)2.11操作界面设计 (27)第3章程序调试及结果分析 (28)总结 (29)参考文献 (30)摘要数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
在数字图像处理过程中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。
MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。
它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。
根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。
本文利用MATLAB图像处理工具箱,根据需求进行程序的功能分析和界面设计,实现数字图像的灰度处理、亮度处理、截图、缩放、旋转、噪声、滤波、直方图统计、频谱分析、颜色模型转换等。
数字图像处理实验(MATLAB版)
![数字图像处理实验(MATLAB版)](https://img.taocdn.com/s3/m/99fd2968a76e58fafab0037e.png)
数字图像处理实验(MATLAB版)数字图像处理(MATLAB版)实验指导书(试用版)湖北师范学院教育信息与技术学院2009年4月试行目录实验一、数字图像获取和格式转换 2 实验二、图像亮度变换和空间滤波 6 实验三、频域处理7 实验四、图像复原9 实验五、彩色图像处理101实验六、图像压缩11 实验七、图像分割13 教材与参考文献142《数字图像处理》实验指导书实验一、数字图像获取和格式转换一、实验目的1掌握使用扫描仪、数码相机、数码摄像级机、电脑摄像头等数字化设备以及计算机获取数字图像的方法;2修改图像的存储格式;并比较不同压缩格式图像的数据量的大小。
二、实验原理数字图像获取设备的主要性能指标有x、y方向的分辨率、色彩分辨率(色彩位数)、扫描幅面和接口方式等。
各类设备都标明了它的光学分辨率和最大分辨率。
分辨率的单位是dpi,dpi是英文Dot Per Inch的缩写,意思是每英寸的像素点数。
扫描仪扫描图像的步骤是:首先将欲扫描的原稿正面朝下铺在扫描仪的玻璃板上,原稿可以是文字稿件或者图纸照片;然后启3动扫描仪驱动程序后,安装在扫描仪内部的可移动光源开始扫描原稿。
为了均匀照亮稿件,扫描仪光源为长条形,并沿y方向扫过整个原稿;照射到原稿上的光线经反射后穿过一个很窄的缝隙,形成沿x方向的光带,又经过一组反光镜,由光学透镜聚焦并进入分光镜,经过棱镜和红绿蓝三色滤色镜得到的RGB三条彩色光带分别照到各自的CCD 上,CCD将RGB光带转变为模拟电子信号,此信号又被A/D变换器转变为数字电子信号。
至此,反映原稿图像的光信号转变为计算机能够接受的二进制数字电子信号,最后通过串行或者并行等接口送至计算机。
扫描仪每扫一行就得到原稿x方向一行的图像信息,随着沿y方向的移动,在计算机内部逐步形成原稿的全图。
扫描仪工作原理见图1.1。
4图1.1扫描仪的工作原理在扫描仪的工作过程中,有两个元件起到了关键的作用。
一个是CCD,它将光信号转换成为电信号;另一个是A/D变换器,它将模拟电信号变为数字电信号。
数字图像处理及MATLAB实现4
![数字图像处理及MATLAB实现4](https://img.taocdn.com/s3/m/6bb404350622192e453610661ed9ad51f01d54e4.png)
数字图像处理及MATLAB实现4武汉理工大学信息学院第4章图像变换(ImageTranform)4.1连续傅里叶变换4.2离散傅里叶变换4.3快速傅里叶变换4.4傅里叶变换的性质4.5图像傅里叶变换实例4.6其他离散变换一、图象变换的引入1.方法:对图象信息进行变换,使能量保持但重新分配。
2.目的:有利于加工、处理[滤除不必要信息(如噪声),加强/提取感兴趣的部分或特征]。
二、方法分类可分离、正交变换:2D-DFT,2D-DCT,2D-DHT,2D-DWT三、用途1.提取图象特征(如):(1)直流分量:f(某,y)的平均值=F(0,0);(2)目标物边缘:F(u,v)高频分量。
2.图像压缩:正交变换能量集中,对集中(小)部分进行编码。
3.图象增强:低通滤波,平滑噪声;高通滤波,锐化边缘。
4.1连续傅里叶变换(ContinuouFourierTranform)1、一维傅立叶变换及其反变换::1F(u)f(某)ej2u某d某f(某)F(u)ej2u某du4.1.1连续傅里叶变换的定义(DefinitionofContinuouFourierTranform)这里f某是实函数,它的傅里叶变换Fu通F常是复函数。
u的实部、虚部、振幅、能量和相位分别表示如下:实部Ruftco2utdt(4.3)虚部Iuftin2utdt(4.4)振幅1FuR2uI2u2(4.5)4.1.1连续傅里叶变换的定义(DefinitionofContinuouFourierTranform)能量相位EuFuR2uI2u2(4.6)(4.7)傅里叶变换可以很容易推广到二维的情形。
设函数f某,y是连续可积的,且fu,v可积,则存在如下的傅里叶变换对:IuuarctanRu4.1连续傅里叶变换的定义(DefinitionofContinuouFourierTranform)Ff(某,y)F(u,v)f(某,y)ej2u某vyd某dy(4.8)F1F(u,v)f(某,y)F(u,v)ej2u某vydudv(4.9)式中u、v是频率变量。
基于MATLAB的数字成像获取物体三维轮廓的提取与分析_毕业论文
![基于MATLAB的数字成像获取物体三维轮廓的提取与分析_毕业论文](https://img.taocdn.com/s3/m/7913387b0b1c59eef8c7b452.png)
基于数字成像的物体表面轮廓的提取和分析毕业论文基于MATLAB的数字成像获取物体三维轮廓的提取与分析摘要图像由于携带丰富的信息得到人们的青睐,而目前获取图像的方法有拍照,视屏截图,利用计算机产生彩图,激光扫描]1[等等。
从图像中获取景物的三维信息属于一个多学科交叉的研究领域,它涉及到射影几何学、数字图像处理、计算机图形学、计算机视觉等许多学科的理论,是目前研究的热点之一。
三维重建就是通过二维图像中基元(如点、线、面)来恢复目标的三维空间信息,需要研究三维空间中点、线、面的三维坐标与二维图像中对应点、线、面的二维坐标之间的关系,实现定量分析物体的大小和空间物体的相互位置关系。
其主要过程是通过对图像的特征提取、特征匹配、图像关键特征的重建、三角化以及数据融合生成物体完整的三维结构。
这种三维信息或三维模型在虚拟植物可视化、数字娱乐、产品外观设计、虚拟场景的模拟等诸多领域具有广泛的应用价值。
本文提出了利用数字图像处理的方法对图像进行处理以获得目标图像的轮廓,并得到目标图像的轮廓关键点上的坐标,这对接下来的三维重建目标十分关键。
在本文中图像采集之后,首先将其数字化。
数字化之后,计算机利用数字图像处理技术对图像进行彩色预处理、去除背景、图像平滑、彩色转灰度、图像锐化、灰度二值化、腐蚀膨胀、滤波、轮廓提取等处理,并且给出每步处理的图像结果。
关键词:数字成像;图像处理;三维重建;轮廓;坐标AbtractImage which due to the rich information to get the favour of people,At present, image acquisition methods are taking pictures, screen shots, and produce images by computer, laser scanning etc..Three-dimensional information obtained from two-dimensional images is an interdisciplinary research field, it involves many subjects of projective geometry, digital image processing, computer graphics, computer vision theory, is a research hotspot. Three-dimensional reconstruction is through 2D image primitives (such as point, line, surface) three-dimensional spatial information to restore the target, need to study three-dimensional point, line, surface 3D coordinate and 2D image corresponding points, lines, surfaces two-dimensional coordinate relationship, relationship between size and space objects to realize quantitative analysis of objects the. The main process is through the feature extraction, feature of image matching, reconstruction of key characteristics, triangulation and data fusion to generate complete object three-dimensional structure. This 3D information or 3D models have wide applications in virtual plant visualization, digital entertainment, product design, virtual scene simulation etc.This paper proposes the method of digital image processing to deal with the image we have got in order to obtain a target image contour, and get the coordinates of key points on the contour of the target image, which play a key role on the next step of three-dimensional reconstruction . In this paper we should firstly digitize the image acquisition, After digitaliztion, computer will make use of digital image processing technology for pretreatment, remove the background color, image smoothing,color to gray, image sharpening,gray value of two, corrosion expansion, filtering, contour extraction, and other image processing, and gives the result among erey steps of image processing. Key words : Digital imaging;image processing;3D reconstruction;contour;coordinate目录摘要 (1)Abstract (2)目录 (3)第一章绪论 (5)1.1论文研究的背景 (5)1.1.1三维测量技术的背景 (5)1.12数字图像处理的发展情况 (6)1.2数字成像与轮廓提取技术在国内外的发展 (7)1.3论文研究的主要内容 (7)1.4论文的安排 (8)第二章光学成像系统和图像系统的设计 (8)2.1光学成像系统的搭建 (8)2.1.1摄像系统的方案选择 (8)2.1.2摄像机的参数选择 (13)2.1.3光照系统的设计 (14)2.1.4光学成像系统的搭建效果 (16)2.2摄像机的标定 (16)2.2.1摄像机的标定原理 (16)2.2.2摄像机的标定过程 (17)2.3图像采集 (18)2.3.1图像采集的工作过程 (18)2.3.2D-S4004HC图像采集卡 (19)2.3.3PCI-2312光电隔离DI/D0卡 (20)2.3.4软件设计流程 (21)第三章数字图像处理的基本理论 (23)3.1数字图像处理的基本知识 (23)3.1.1数字图像的表示方法 (24)3.1.2数字图像的颜色模型 (25)3.2图像平滑 (25)3.2.1中值滤波 (26)3.2.2均值滤波 (26)3.3图像锐化 (27)3.3.1一阶微分运算 (27)3.3.2基于拉氏算子的图像锐化处理 (28)3.4图像表示方法相互转化 (29)3.4.1彩色图像转为灰度图像 (29)3.4.2灰度图像二值化 (29)3.5二值图像的形态学处理 (30)3.5.1图像膨胀 (30)3.5.2图像腐蚀 (30)3.6MATLAB软件的简介 (31)第四章数字图像处理的实现 (32)4.1图像的读取与显示 (33)4.2彩色图像预处理 (33)4.3彩色图像转为灰度图 (34)4.4图像的锐化与边缘检测 (35)4.4.1图像的锐化 (35)4.4.2图像的边缘检测 (35)4.5灰度图像的二值化 (36)4.6二值图像的处理 (37)4.6.1腐蚀膨胀处理 (37)4.6.2二值图像的中值滤波 (38)4.6.3连通域标记法滤波 (39)4.6.4水杯各分面的轮廓提取 (41)4.7 提取水杯分面的轮廓坐标 (43)4.7.1建立四个分面的二维坐标系 (43)4.7.2四个分面的三维坐标系 (44)4.7.3选取特征点 (44)第五章系统介绍与误差分析 (46)5.1系统各环节的误差分析 (46)5.1.1仪器产生的误差 (46)5.1.2数字图像处理过程中的误差 (46)5.1.3环境引起的误差 (47)第六章总结与展望 (48)参考文献: (49)第一章绪论1.1论文研究的背景1.1.1三维测量技术的背景21世纪是信息化的时代,而在信息学研究中以图像为载体的信息处理占据重要位置,图像工程]2[已经渗透到各个学科,从工业机器上的视觉检测,医学上的病变诊断,多媒体通信与娱乐,等各个方面都有巨大的用途。
数字图像处理教程(matlab版)
![数字图像处理教程(matlab版)](https://img.taocdn.com/s3/m/bde2137858fb770bf68a550d.png)
FILENAME参数指定文件名。FMT为保存文件采用的格式。 imwrite(I6,'nirdilatedisk2TTC10373.bmp');
/1、图像的读取和显示
三、图像的显示
imshow(I,[low high])
I为要显示的图像矩阵。[low high]为指定显示灰度图像的灰度范围。 高于high的像素被显示成白色;低于low的像素被显示成黑色;介于 High和low之间的像素被按比例拉伸后显示为各种等级的灰色。 figure;imshow(I6);title('The Main Pass Part of TTC10373');
t c logk s
c为尺度比例常数,s为源灰度值,t为变换后的目标灰 度值。k为常数。灰度的对数变换可以增强一幅图像 中较暗部分的细节,可用来扩展被压缩的高值图像中 的较暗像素。广泛应用于频谱图像的显示中。
Warning:log函数会对输入图像矩阵s中的每个元素进行
操作,但仅能处理double类型的矩阵。而从图像文件中得到的 图像矩阵大多是uint8类型的,故需先进行im2double数据类型 转换。
原 图 像
滤 波 后 图
像
/4、空间域图像增强 三、滤波器设计
h=fspecial(type,parameters)
parameters为可选项,是和所选定的滤波器类型type相关的 配置参数,如尺寸和标准差等。
type为滤波器的类型。其合法值如下:
合法取值 ‘average’
‘disk’ ‘gaussian’ ‘laplacian’
DA
DMax A0
DA
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河北农业大学数字图像处理课程设计图像颜色校正院系:信息科学与技术学院专业班级:电子0901班姓名:李文娟学号:20092340201192011年12月9日1.设计目标颜色是图像的一种重要特征,对于图像分割、目标检测与识别、图像检索等领域的研究具有重要意义。
物体在不同光源下呈现的颜色是不同的。
不同的光照环境,将会导致采集的图像的颜色之间存在一定程度的偏差,这种偏差将会影响后续图像分析的准确度。
故寻求颜色校正算法来消除或减弱光照环境等对颜色显现的影响。
灰度世界算法是以灰度世界假设为基础,假设认为对于一幅有着大量色彩变化的图像R 、G 、B 三个分量的平均值趋于同一个灰度值。
改良算法基于图象熵约束的灰度世界算法,利用图像的熵来约束增益系数,从而防止过校正现象。
在改良的基础上可以利用灰度阶分层的方法对图像中像素值偏小的进行处理,从而增强图像的亮度。
2.设计原理2.1灰度世界法灰度世界算法是以灰度世界假设为基础,假设认为对于一幅有着大量色彩变化的图像R 、G 、B 三个分量的平均值趋于同一个灰度值。
(1)首先利用公式,,计算出R 、G 、B 三个通道的平均值B G R 、、,(N 为图像的像素总数,Bi Gi Ri 、、分别为校正前第i 个像素的红绿蓝三个分量)令图像的平均灰度值 )(31B G R Grey ++=(2)求R 、G 、B 三个通道的增益系数,用如下公式:,,则对于图像中的每一个像素点C ,其校正后的三个通道为''',,B G R :kr Ri R *'= ,kg Gi G *'=,kb Bi B *'=(3)将图像各个像素的''',,B G R 三个分量调整到可以显示的范围[0,255]之内,首先要求出图像中所有''',,B G R 的最大值MAXval,令factor= MAXval/255,如果factor>1则对于图像中每个像素重新调整。
其''',,B G R 得到新的'''''',,B G R ,用如下公式计算:factor R R '''=,factor G G '''=,factorB B '''=2.2基于图像熵的灰度世界法原理:利用图像熵来约束增益系数,从而防止过校正现象。
步骤:在完成灰度世界步骤2中kr 、kg 、kb 之后进行。
(1)首先对图像三个颜色通道分别计算一维离散相对熵Hr :8)(log*)(2552∑=-=i i ik R k p k p H(其中k=R 、G 、B ,即求BRG R R R H H H ,,,8代表灰阶,25628=) (2)求R 、G 、B 三个通道的“约束”增益系数:1)1(+-=RR rc r H kr k1)1(+-=G R rc g H kg k 1)1(+-=B R rc b H kb k(3)求出增益系数rc b rcg rc r k k k ,,之后继续灰度世界算法步骤(2)即可。
3.设计程序流程图:3.1灰度世界法3.2基于图像熵的灰度世界法4.设计程序4.1灰度世界法I=imread('yumi1.jpg');I=double(I);[M,N,K]=size(I); %计算图像行列像素数S=M*N; %计算图像的像素总数SRs=0;Gs=0;Bs=0; %初始化3个通道Rs、Gs、Bs求和值Rs=double(Rs);Gs=double(Gs);Bs=double(Bs);R=I(:,:,1); %红色分量G=I(:,:,2); %绿色分量B=I(:,:,3); %蓝色分量for i=1:Mfor j=1:NRs=Rs+R(i,j); %分别计算红绿蓝的灰度值总和Gs=Gs+G(i,j);Bs=Bs+B(i,j);endendRa=Rs/S; %红色通道的平均值Ga=Gs/S; %绿色通道的平均值Ba=Bs/S; %蓝色通道的平均值Grey=(Ra+Ga+Ba)/3; %图像的平均灰度值kr1=Grey/Ra; %R通道的增益系数kg1=Grey/Ga; %G通道的增益系数kb1=Grey/Ba; %B通道的增益系数for i=1:Mfor j=1:NR1(i,j)=kr1*R(i,j); %校正后的红色通道像素计算G1(i,j)=kg1*G(i,j); %校正后的绿色通道像素计算B1(i,j)=kb1*B(i,j); %校正后的蓝色通道像素计算endendfor i=1:Mfor j=1:NMax(i,j)=max(R1(i,j),G1(i,j)); %求校正后图象中所有R1,G1,B1的最大值矩阵 Max(i,j)=max(Max(i,j),B1(i,j));endendMAX=0;for i=1:Mfor j=1:NMAX=max(MAX,Max(i,j)); %求校正后图象中所有R1,G1,B1的最大值endendfactor=MAX/255; %计算factor的值if factor>1 %判断factor的值是否大于1for i=1:Mfor j=1:NR2(i,j)=R1(i,j)/factor; %factor>1,对校正后图象红色通道重新调整 G2(i,j)=G1(i,j)/factor; %factor>1,对校正后图象绿色通道重新调整 B2(i,j)=B1(i,j)/factor; %factor>1,对校正后图象蓝色通道重新调整 I1(i,j,1)=R2(i,j);I1(i,j,2)=G2(i,j); %将重新调整后的像素合到I1图象中I1(i,j,3)=B2(i,j);endendelsefor i=1:Mfor j=1:NI1(i,j,1)=R1(i,j);I1(i,j,2)=G1(i,j); %将校正后的像素合到I1图象中I1(i,j,3)=B1(i,j);endendendI1=uint8(I1);I=uint8(I);subplot(121); imshow(I);title('原始图像');subplot(122); imshow(I1);title('校正后图像');4.2基于图像熵的灰度世界法I=imread('yumi1.jpg');I=double(I);[M,N,K]=size(I); %计算图像行列像素数S=M*N*K; %计算图像的像素总数SRs=0;Gs=0;Bs=0; %初始化3个通道Rs、Gs、Bs求和值Rs=double(Rs);Gs=double(Gs);Bs=double(Bs);R=I(:,:,1); %红色分量G=I(:,:,2); %绿色分量B=I(:,:,3); %蓝色分量for i=1:Mfor j=1:NRs=Rs+R(i,j); %分别计算红绿蓝的灰度值总和Gs=Gs+G(i,j);Bs=Bs+B(i,j);endendRa=Rs/S; %红色通道的平均值Ga=Gs/S; %绿色通道的平均值Ba=Bs/S; %蓝色通道的平均值Grey=(Ra+Ga+Ba)/3; %图像的平均灰度值kr1=Grey/Ra; %R通道的增益系数kg1=Grey/Ga; %G通道的增益系数kb1=Grey/Ba; %B通道的增益系数%改良算法,基于图像熵约束的灰度世界算法%计算R通道“约束”增益系数Rnum=0; %初始化红色通道灰度值为某一灰度值时的统计量Ri=uint8(R);for x=1:256Pr(1,x)=0; %初始化概率矩阵endfor t=0:255for i=1:Mfor j=1:Nif Ri(i,j)==tRnum=Rnum+1; %统计红色通道各阶灰度值的像素数endendendPr(1,t+1)=Rnum/S; %红色通道各灰度级的统计概率Rnum=0;if Pr(1,t+1)==0Pr(1,t+1)=1; %若概率为零则赋值为一endPr1(1,t+1)=(-1)*Pr(1,t+1)*log2(Pr(1,t+1));end%求熵Rss=0; %Rss代表信息量总和for x=1:256Rss=Rss+Pr1(1,x);Hr=Rss/8; %红色通道的一维离散相对熵endkr2=(kr1-1)*Hr+1; %红色通道“约束”增益系数%计算G通道“约束”增益系数Gnum=0; %初始化绿色通道灰度值为某一灰度值时的统计量Gi=uint8(G);for x=1:256Pg(1,x)=0; %初始化概率矩阵endfor t=0:255for i=1:Mfor j=1:Nif Gi(i,j)==tGnum=Gnum+1; %统计绿色通道各阶灰度值的像素数 endendendPg(1,t+1)=Gnum/S; %绿色通道各灰度级的统计概率Gnum=0;if Pg(1,t+1)==0Pg(1,t+1)=1; %若概率为零则赋值为一endPg1(1,t+1)=(-1)*Pg(1,t+1)*log2(Pg(1,t+1));end%求熵Gss=0; %Gss代表信息量总和for x=1:256Gss=Gss+Pg1(1,x);Hg=Gss/8; %绿色通道的一维离散相对熵endkg2=(kg1-1)*Hg+1; %绿色通道“约束”增益系数%计算B通道“约束”增益系数Bnum=0; %初始化蓝色通道灰度值为某一灰度值时的统计量Bi=uint8(B);for x=1:256Pb(1,x)=0; %初始化概率矩阵endfor t=0:255for i=1:Mfor j=1:Nif Bi(i,j)==tBnum=Bnum+1; %统计蓝色通道各阶灰度值的像素数 endendendPb(1,t+1)=Bnum/S; %蓝色通道各灰度级的统计概率Bnum=0;if Pb(1,t+1)==0 %若概率为零则赋值为一Pb(1,t+1)=1;endPb1(1,t+1)=(-1)*Pb(1,t+1)*log2(Pb(1,t+1));end%求熵Bss=0; %Bss代表信息量总和for x=1:256Bss=Bss+Pb1(1,x);Hb=Bss/8; %蓝色通道的一维离散相对熵endkb2=(kb1-1)*Hb+1; %蓝色通道“约束”增益系数for i=1:Mfor j=1:NR1(i,j)=kr2*R(i,j); %校正后的红色通道像素计算G1(i,j)=kg2*G(i,j); %校正后的绿色通道像素计算B1(i,j)=kb2*B(i,j); %校正后的蓝色通道像素计算endendfor i=1:Mfor j=1:NMax(i,j)=max(R1(i,j),G1(i,j)); %求校正后图象中所有R1,G1,B1的最大值矩阵 Max(i,j)=max(Max(i,j),B1(i,j));endendMAX=0;for i=1:Mfor j=1:NMAX=max(MAX,Max(i,j)); %求校正后图象中所有R1,G1,B1的最大值endendfactor=MAX/255; %计算factor的值if factor>1 %判断factor的值是否大于1for i=1:Mfor j=1:NR2(i,j)=R1(i,j)/factor; %factor>1,对校正后图象红色通道重新调整 G2(i,j)=G1(i,j)/factor; %factor>1,对校正后图象绿色通道重新调整 B2(i,j)=B1(i,j)/factor; %factor>1,对校正后图象蓝色通道重新调整 I1(i,j,1)=R2(i,j);I1(i,j,2)=G2(i,j); %将重新调整后的像素合到I1图象中I1(i,j,3)=B2(i,j);endendelsefor i=1:Mfor j=1:NI1(i,j,1)=R1(i,j);I1(i,j,2)=G1(i,j); %将校正后的像素合到I1图象中I1(i,j,3)=B1(i,j);endendendI1=uint8(I1);subplot(121); imshow(uint8(I));title('原始图像');subplot(122); imshow(I1);title('校正后图像');4.3 基于灰阶分层的灰度世界改良算法部分程序如下:for k=1:Kfor i=1:Mfor j=1:Nif I(i,j,k)<15I(i,j,k)=40;endendendend5.图像效果分析:5.1 基于灰度世界算法处理的图像如下:对图像的分析:处理后的图像与原图像比较偏暗且发蓝,因为原图象大部分为黑色,整体像素值偏小,所以灰度平均值较小,计算出的增益系数kr、kg、kb也较小,导致处理后的灰度值较小,所以图象整体偏暗,观察m程序运行后数据得出,增益系数中只有kb是大于1的,对图像中每个像素重新成比例的调整,只有蓝色分量得到了增益,故图像整体偏蓝。