基于Retinex算法图像增强的MATLAB实现

合集下载

基于matlab的 图像增强技术的分析与实现

基于matlab的 图像增强技术的分析与实现

数字图形图像处理基于matlab的图像增强技术的分析与实现基于matlab的图像增强技术的分析与实现摘要:基于数字图像增强对图像处理的重要性,将计算软件MATLA 应用于数字图像增强中,给出了用这一软件完成图像的对比度增强、直方图均衡化、平滑滤波、锐化等操作的示例,并给出了处理前后的对照图像。

同时论述了MATLAB在进行图像处理试验时简洁、高效的特点。

关键词:图像增强;MATLAB;直方图均衡化;平滑滤波;锐化基于matlab的图像增强技术的分析与实现引言:对于一个图像处理系统来说,可将流程分为三个阶段,在获取原始图像后,首先是图像预处理阶段、第二是特征抽取阶段、第三是识别分析阶段,其中图像预处理阶段尤为重要,如果此阶段处理不当,后面的工作将无法展开。

实际应用中,我们的系统获取的原始图像并非完美:例如系统获取的原始图像,由于噪声、光照等原因,使得图像的质量不高,需进行预处理,以达到利于我们提取感兴趣的信息的目的。

图像的预处理包括图像增强、平滑滤波、锐化等内容.图像的预处理既可以在空间域实现,也可以在频域内实现,其中空间域内实现是对图像进行点运算,它是一种既简单又重要的图像处理技术,它能让用户改变图像上像素点的灰度值,这样通过点运算处理将产生一幅新图像。

MATLAB是一种简单、高效、功能强大的高级语言,在科学与工程计算领域有着广泛的应用前途。

1、灰度直方图的定义:一幅数字图像的灰度直方图就是一个灰度级的离散函数。

设变量 r代表图像中像素灰度级。

在图像中像素的灰度级可归一化处理, 这样, r的值将限定在下述范围之内:(1)在灰度级中, r= 0代表黑,r= 1代表白。

对于一副给定的图像来说, 每一个像素取得[0,1]区间内的灰度级是随机的,也就是说r是一个随机变量。

假定对每一瞬间他们是连续的随机变量,那么,就可以用概率密度函数 p r(r)来表示原始图像得灰度分布。

如果用直角坐标系的横轴代表灰度级r,用纵轴代表灰度级的概率密度函数 p r( r), 这样就可以针对一副图像在这个坐标系做一个曲线来。

MATLAB中图像增强的实现

MATLAB中图像增强的实现
2.2 Matlab优势
2.2.1工作平台和编程环境
MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。0YujCfmUCw
在本论文中,利用Matlab提供的若干函数,用于图像类型的转换。Matlab支持五种图像类型,即二值图像、索引图像、灰度图像、RGB图像和多帧图像阵列。在Matlab中要查询一个图像文件的信息,只要用imfinfo指令加上文件及其完整路径名即可。Matlab提供了两个重要的用于图像文件的读写的指令,分别是从图像文件中读取数据的imread,以及将数据写入到图像文件中的imwrite。至于多个图像的显示,则可分为两个方面:在不同的图形窗口显示不同的图像,可以用figure指令来实现;在同一个图形窗口显示多图,可以用subplot来实现。p1EanqFDPw
The image intensification technology basically separable becomes two big kinds: One kind is the frequency range processing law, one kind is the air zone processing law.The frequency range processing method foundation convolutes the theorem.It uses the revision image Fourier transformation the method realization to image enhancement processing.RTCrpUDGiT

图像增强技术(MATLAB)—毕业论文——【Matlab算法】

图像增强技术(MATLAB)—毕业论文——【Matlab算法】

1 图像增强概述1.1 图像增强背景及意义在一般情况下,经过图像的传送和转换,如成像、复制、扫描、传输和显示等,经常会造成图像质量的下降,即图像失真。

在摄影时由于光照条件不足或过度,会使图像过暗或过亮;光学系统的失真、相对运动、大气流动等都会使图像模糊,传输过程中会引入各种类型的噪声。

总之输入的图像在视觉效果和识别方便性等方面可能存在诸多问题,这类问题不妨统称为质量问题。

图像增强是指根据特定的需要突出图像中的重要信息,同时减弱或去除不需要的信息。

从不同的途径获取的图像,通过进行适当的增强处理,可以将原本模糊不清甚至根本无法分辨的原始图像处理成清晰的富含大量有用信息的可使用图像,有效地去除图像中的噪声、增强图像中的边缘或其他感兴趣的区域,从而更加容易对图像中感兴趣的目标进行检测和测量。

处理后的图像是否保持原状已经是无关紧要的了,不会因为考虑到图像的一些理想形式而去有意识的努力重现图像的真实度。

图像增强的目的是增强图像的视觉效果,将原图像转换成一种更适合于人眼观察和计算机分析处理的形式。

它一般要借助人眼的视觉特性,以取得看起来较好地视觉效果,很少涉及客观和统一的评价标准。

增强的效果通常都与具体的图像有关系,靠人的主观感觉加以评价。

1.2 图像增强的应用目前图像增强处理的应用已经渗透到医学诊断、航空航天、军事侦察、指纹识别、无损探伤、卫星图片的处理等领域。

如对x射线图片、CT影像、内窥镜图像进行增强,使医生更容易从中确定病变区域,从图像细节区域中发现问题;对不同时间拍摄的同一地区的遥感图片进行增强处理,侦查是否有敌人军事调动或军事装备及建筑出现;在煤矿工业电视系统中采用增强处理来提高工业电视图像的清晰度,克服因光线不足、灰尘等原因带来的图像模糊、偏差等现象,减少电视系统维护的工作量。

图像增强技术的快速发展同它的广泛应用是1分不开的,发展的动力来自稳定涌现的新的应用,我们可以预料,在未来社会中图像增强技术将会发挥更为重要的作用。

基于MATLAB的图像增强方法与实现

基于MATLAB的图像增强方法与实现

基于MATLAB的图像增强方法与实现图像,包含模拟图像与数字图像,是图形与影像的合称,在人类的日常生活中有着不可替代的地位:它是人类主要依赖的信息源之一,来源于视觉的信息可以占到个人总体所获取的百分之七十五左右。

由于人类日常工作与生活中对图像质量与清晰度越来越高的要求,图像处理作为一样通过计算机对图像进行分析和处理的技术,在应用领域得到了很大的发展。

图像增强作为数字图像处理主要技术之一,可以实现对图像视觉效果的改良,并根据不同的图像的具体应用情况,实现对图像某种特定属性的突出与强调,对不同元素之间的差异的扩大,以达到使图像的信息量更加丰富,提升图像质量的目的,迎合某些场合对图像分析的需要。

MATLAB是由美国Math-Works公司出品的应用于算法开发、数据计算、数据的可视化及分析的一款数学软件,它以矩阵作为基本数据单位,能够实现高效的数值计算和符号计算,同时图形处理功能比较完善,且具有良好的用户界面。

与C++类似的语法特征结合与数学表达式相似的书写格式使得MATLAB这种语言能够使操作更简单,且能更加直观显示出图像处理的效果。

本文主要研究不同的图像增强算法,分别详述图像增强的两大类——空间域图像增强方法与频率域图像增强方法中的多种具体图像增强算法,如直方图均衡化算法,高斯低通滤波算法等,对它们的理论基础和意义进行阐述,对不同算法的具体使用范围加以讨论,并最终使用MATLAB语言对图像增强算法进行具体的实现。

目录第1章绪论 (3)1.1课题背景 (3)1.2图像增强研究意义与发展现状 (4)1.3论文研究工作与结构安排 (4)第2章图像增强技术基本简介 (6)2.1数字图像处理基本概念 (6)2.2图像增强简介 (9)第3章图像增强算法及原理 (12)3.1直接灰度级变换 (12)3.2直方图变换 (19)3.3空间域内的图像平滑与锐化 (22)3.4频率域滤波方法 (25)第4章图像增强算法的MATLAB实现 (40)4.1基本运行界面 (40)4.2图像增强算法具体实现 (41)第1章绪论1.1 课题背景数字图像处理最早期出现在20世纪50年代,电子计算机在当时已经具备一定水平,计算机也开始被人们利用来处理图形、图像信息。

msr颜色复原matlab程序,Retinex图像去模糊(含MATLAB代码)

msr颜色复原matlab程序,Retinex图像去模糊(含MATLAB代码)

msr颜⾊复原matlab程序,Retinex图像去模糊(含MATLAB代码)Retinex 图像去模糊Retinex 理论:Retinex是由 Retina + Cortex 组成,被称为视⽹膜⽪层理论。

该理论指出 物体能够被观察到的信息是由两个因素来决定的:物体本⾝的反射性质和物体周围的光照强度。

其中,光照强度决定了原始图像中所有像素点的动态范围⼤⼩,⽽原始图像的固有属性(颜⾊)是由物体本⾝的反射系数决定的。

因此该⽅法是将⼀幅图像分成两个不同的图像:反射图像和亮度图像,然后去除光照的影响,保留物体的固有属性。

该⽅法⽬前主要有三个分⽀:单尺度Retinex(SSR),多尺度Retinex(MSR)和带颜⾊恢复的多尺度Retinex(MSRCR)。

Retinex理论的基本思路:在原始图像中,通过某种⽅法去除或者降低⼊射图像的影响,从⽽保留物体本质的反射属性图像。

单尺度Retinex(SSR):算法思路:1 读取原始图像,分别取出RGB三个通道的数值矩阵,转化成 double 型。

2 利⽤⾼斯模板对各个通道的进⾏卷积操作处理。

3 将RGB图像以及卷积后的图像转化到对数域,并相减,然后利⽤反对数转化到 实数域。

4 对获得的各个通道的图像进⾏线性拉伸,合并RGB就可的处理后的图像。

算法实现(MATLAB):close all; clear all; clcI = imread('E:\⽔下⽬标识别\chinamm2019uw_train\jpegimage\000000.jpg');I_r = double(I(:,:,1));I_g = double(I(:,:,2));I_b = double(I(:,:,3));I_r_log = log(I_r+1);I_g_log = log(I_g+1);I_b_log = log(I_b+1);Rfft1 = fft2(I_r);Gfft1 = fft2(I_g);Bfft1 = fft2(I_b);% SSR算法[m,n] = size(I_r);sigma = 200;f = fspecial('gaussian', [m, n], sigma); efft1 = fft2(double(f));D_r = ifft2(Rfft1.*efft1);D_g = ifft2(Gfft1.*efft1);D_b = ifft2(Bfft1.*efft1);D_r_log = log(D_r + 1);D_g_log = log(D_g + 1);D_b_log = log(D_b + 1);R = I_r_log - D_r_log;G = I_g_log - D_g_log;B = I_b_log - D_b_log;R = exp(R);MIN = min(min(R));MAX = max(max(R));R = (R - MIN)/(MAX - MIN);R = adapthisteq(R);G = exp(G);MIN = min(min(G));MAX = max(max(G));G = (G - MIN)/(MAX - MIN);G = adapthisteq(G);B = exp(B);MIN = min(min(B));MAX = max(max(B));B = (B - MIN)/(MAX - MIN);B = adapthisteq(B);J = cat(3, R, G, B);figure;subplot(121);imshow(I);subplot(122);imshow(J);figure;imshow(J)结果:多尺度Retinex(MSR):由于SSR需要在颜⾊保真度和细节保持上追求⼀个完美的平衡,⽽这个平衡不宜实现。

基于MATLAB的图像增强算法研究及实现

基于MATLAB的图像增强算法研究及实现

基于MATLAB的图像增强算法研究及实现作者:朱逢园来源:《价值工程》2020年第25期摘要:由于图像中所出现的信号多出现在低分量部分,而高频分量部分易出现图像模糊的问题能得到解决,从而凸显图像中的重要信息,弱化或清除不需要的信息,以使图像更为清晰。

本文选取有效且易实现的程序语言及算法,进一步增强图像构建框架,根据图像所成效果来进行程序设计以达到目的实现,并完善其功能。

对图像进行检验,逐步完善整个算法程序,最终得到所需效果图。

Abstract: Because the signals appearing in the image mostly appear in the low-component part, and the problem that the high-frequency component is prone to image blur can be solved, so as to highlight the important information in the image, weaken or remove the unnecessary information to make the image more clear. This paper selects effective and easy-to-implement programming languages and algorithms to further enhance the image construction framework, and design programs according to the effects of the images to achieve the goal and improve its functions. It checks the image, gradually improves the entire algorithm program, and finally gets the desired rendering.关键词:图像增强;MATLAB;程序设计;算法实现Key words: image enhancement;MATLAB;program design;algorithm implementation中图分类号:TP391.41 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; 文献标识码:A ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;文章编号:1006-4311(2020)25-0212-020 ;引言数年来,数码图像处理迅速发展成为独立的强有力的领域。

基于matlab的图像对比度增强处理的算法的研究与实现

基于matlab的图像对比度增强处理的算法的研究与实现

基于matlab的图像对比度增强处理的算法的研究与实现【摘要】数字图像对比度增强是数字图像预处理中的关键步骤之一。

本文以传统直方图均衡化的图像对比度增强算法为基础,针对改进的图像对比度增强算法的基本原理及实现过程进行分析,并对图像对比度增强算法实现进行流程化设计。

基于仿真结果详细分析了不同的图像对比度增强算法性能优劣。

【关键词】数字图像图像增强对比度增强算法一、概述数字图像增强是图像预处理步骤中较为简单的一种,其根本目的是通过滤除图像噪声,提高图像低对比度的质量,从而提升数字图像的视觉显示效果,使人和机器能够更好的辨识理解数字图像信息。

目前,数字图像增强技术已从原有理论科学研究逐步向各类实际应用扩展渗透,如卫星遥感图像预处理、图像美化软件以及图像预处理后的智能识别等。

二、图像增强技术相关概念(1)图像对比度增强:不同图像的灰度统计直方图的像素分布不相同,这就造成了图像对比度存在差异。

而灰度统计直方图分布更为均衡的图像对比度更高,也更加符合人和信息处理设备对图像目标信息的获取,特别是图像目标的细部特征。

因此,在获得原始图像后,可以通过调整图像的灰度统计直方图来改善原始图像的对比度,这也就是图像对比度增强。

该技术广泛应用于微观生物学和医学图像处理中。

(2)基于直方图均衡化的图像对比度增强:主要是指采用某种数学函数关系将原始输入图像的像素灰度值进行修正,使其能够均匀分布在整个图像灰度值空间域内。

通过直方图均衡化处理后的图像,能够使得图像的灰度值分布更为均衡,对某些特征细节的展示更加充分。

三、直方图均衡化算法的改进(1)基于图像均值分割算法原理:以图像像素灰度值统计均值为标准,将原始图像分割为两个子图像,大于图像像素灰度值均值的为子图像XU;小于等于图像像素灰度值均值的为子图像XL。

通过统计可以得到输入图像X的灰度均值Xm,且Xm∈{X0,X1,…,XL-1}。

子图像XL的灰度值集合为{X0,X1,…,Xm},子图像XU的灰度值集合为{Xm+1,Xm+2,…,XL-1}。

(完整word版)基于MATLAB的图像增强处理

(完整word版)基于MATLAB的图像增强处理

2011 —2012学年第1 学期专业综合课程设计报告题目:基于MATLAB的图像增强处理专业: 通信工程班级: 08通信(本)姓名:指导教师: 老师成绩:电气工程系2011年11月15日课程设计任务书学生班级: 08通信工程学生姓名: 学号:设计名称:基于MATLAB的图像增强处理起止日期:2011-11—13-—11—17 指导教师:师内容摘要数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。

图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。

本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。

目录设计要求 (1)内容摘要 (2)目录 (3)第一章MATLAB的简介 (4)1.1MATLAB的主要功能 (4)第二章MATLAB图像增强概述 (4)2.1数字增强技术概述 (4)2.2数字图像的表示 (5)第三章直方图均衡化 (6)3。

1图像的灰度 (6)3.2灰度直方图 (8)3.3直方图均衡化 (9)第四章图像二值化 (10)4.1图像二值化 (12)第五章对比度增强 (12)5.1灰度调整 (12)5.2对比扩展法 (12)5.3对数变换 (13)第六章滤波 (13)6。

1平滑滤波 (14)6。

2线性滤波 (14)6.3非线性率 (14)6.4二维中值滤波 (15)6。

5高通滤波 (15)第七章锐化 (15)第八章参考文献 (16)第九章自我评价 (17)1。

Matlab的简介1。

1MATLAB主要功能MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Retinex算法视频增强的MATLAB实现
一、读书笔记
1:数字图像文件简介
BMP文件:Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。

GIF文件:GIF文件的数据是一种基于LZW算法的连续色调的无损压缩格式,不属于任何应用程序。

JPEG图像格式:后缀名为.jpg或者.jpeg,是一种有损压缩格式。

ICO文件:Windows的图标文件格式的一种,可以存储单个图案、多尺寸、多色板的图标文件
HDF文件:层次型数据格式可以存储不同类型的图像和数码数据,有函数库。

PNG文件:常用于JAVA程序、网页和S60中。

TIFF文件:主要用来存储包括照片和艺术图在内的文件格式。

DICOM文件:数字影像和通信标准。

2:基于MATLAB图像处理基础
1)图像数据类型
double类型:图像处理最常用的数据类型,也是matlab中默认的数
据类型。

图像数据的取值范围为0-1。

Unit8类型:常用于从存储设备中读取数据时,操作不能使结果超出
[0,255].
Unit16类型:用于精度较高的图像中。

Logical类型:常用于二值图像中,可用true、false或关系运算符
得到。

2)数据类型转换
3)文件信息读取
Matlab提供imfinfo函数来实现所有格式(除DICOM)的信息读取,调用形式: info=imfinfo(’filename’)
4)读取图像
使用imread可以将图像读入matlab环境,语法:
imread (‘filename’),其中,filename是一个含有文件全名的字符串。

函数size可给出一副图像的行数和列数
>>size(f)
Ans=
1024 1024
5)显示图像
在matlab桌面上显示图像一般用imshow,语法:
imshow (f,G)
其中,f是一个图像数组,G为显示该图像的灰度级数。

若将G省略,则默认256.语法 imshow(f,[low high])会将小于或等于low的显示为黑色,大于或等于high的显示为白色,介于两者之间的值以默认的级数显示为中等亮度值。

语法 imshow(f,[])可以将变量low设置为数组f的最小值,将high 设置为f的最大值。

6)保存图像
使用imwrite函数可将图像写入磁盘,语法;
Imwrite(f,’filename’)
Filename必须是一个可识别的文件格式扩展名
另一种常用但只用于jpeg图像的函数imwrite,其语法为
Imwrite(f,’filename.jpg’,’quality’,q),
Q为一个0到100的整数,q越小,图像退化越严重
3:亮度变换与空间滤波
1)函数imadjust是对灰度图像进行亮度变换的基本IPT工具。

语法
g=imadjust(f,[low_in high_in],[low_out high_out],gamma) 将low_in至high_in之间的值映射到low_out至high_out之间的值,其他的值被剪切掉了。

2)对数和对比度的拉伸变换
对数变换通过以下表达式实现:
g=c*log(1+double(f))
3)阈值变换
表达式:g=1./(1+(m./(double(f)+eps)).^E)
Eps可避免f出现0值的溢出现象
4)计算并绘制图像直方图
函数:imhist(f);
直方图均衡化有函数histep实现,语法:g=histep(f,nlev)
Nelv为输出图像制定的灰度等级
5)空间滤波:
工具箱使用函数imfilter来实现线性空间滤波,语法
g=imfilter(f,w,filter_mode,boundary_options,size_options)
w为滤波掩膜,g为滤波结果
二、Retinex算法简介与实现
1)简介
Retinex(视网膜”Retina”和大脑皮层”Cortex”的缩写)理论是一种建立在科学实验和科学分析基础上的基于人类视觉系统(Human Visual System)的图像增强理论。

该算法的基本原理模型最早是由Edwin Land(埃德温•兰德)于1971年提出的一种被称为的色彩的理论,并在颜色恒常性的基础上提出的一种基于理论的图像增强方法。

Retinex 理论的基本内容是物体的颜色是由物体对长波(红)、中波(绿)和短波(蓝)光线的反射能力决定的,而不是由反射光强度的绝对值决定的;物体的色彩不受光照非均性的影响,具有一致性,即Retinex 理论是以色感一致性(颜色恒常性)为基础的。

不同于传统的图像增强算法,如线性、非线性变换、图像锐化等只能增强图像的某一类特征,如压缩图像的动态范围,或增强图像的边缘等,Retinex可以在动态范围压缩、边缘增强和颜色恒常三方面达到平衡,因此可以对各种不同类型的图像进行自适应性地增强。

单尺度(Single-Scale Retinex, SSR)算法原理根据Land提出的理论,一幅给定的图像S(x,y)分解成两幅不同的图像:反射物体图像R(x,y)和入射光图像
L(x,y),其原理示意图如下
Retinex原理示意图
对于观察图像S中的每个点(x,y),用公式可以表示为:
S(x,y)=R(x,y)﹒L(x,y) (1)
据Retinex 理论,物体的颜色是由物体对光线的反射能力决定的,而物体对光线的反射能力是物体本身固有的属性,与光源强度的绝对值没有依赖关系。

因此通过计算各个像素间的相对明暗关系,可以对图像中的每个像素点做校正,从而
确定该像素点的颜色。

单尺度(Single-Scale Retinex, SSR)算法在对数域中则表示为:
根据上面式的原理,Retinex理论进行图像增强的关键是从原图像中有效的信息计算出亮度图像L(x,y)。

但是从原图像计算亮度图像在数学上是一个奇异问题,因此只能通过数学上近似估计的方式估算亮度图像。

在Retinex算法的发展史中,曾经出现过平方反比的环绕形式、指数形式以及高斯指数形式,但在单尺度Retinex增强算法中,杰泊森(Jobson)论证了高斯卷积函数可以对源图像提供更局部的准确处理,因而可以更好地增强图像,其可以表示为:
其中λ是常量矩阵,c是滤波半径,并且满足:c越小,灰度动态范围压缩的越多,c越大,图像锐化的越厉害。

因此亮度图像最终可以表示为:
单尺度(SSR)可以表示为:
2)matlab实现
步骤:读入图像→归一化→设置高斯函数参数及矩阵→高斯函数和输入图像矩阵卷积→取对数→和输入图像矩阵的对数相差→取指数→输出图

结果:
原图
处理后
原图
处理后的图。

相关文档
最新文档