基于Retinex算法图像增强的MATLAB实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 理论,物体的颜色是由物体对光线的反射能力决定的,而物体对光线的反射能力是物体本身固有的属性,与光源强度的绝对值没有依赖关系。因此通过计算各个像素间的相对明暗关系,可以对图像中的每个像素点做校正,从而