- 首先确定被读入的图片存在于matlab的搜索目录中
(若不存在,则将图片的路径添加到matlab搜索路径)
matlab支持4种图像类型:灰度级图像、二值图像、索引图像、RGB图像matlab种用于图像处理的类:double single uint8 uint16 uint32 int8 int16 int32 char logical(值为0或1)
imread函数:f=imread(‘图片名称’)
imshow函数:imshow(f) 显示图像
- 灰度级图像是一个数据矩阵,矩阵的值表示灰度的浓淡。
当其元素为uint8或uint16时,其范围为【0,255】或【0,65535】;为double或single时,其值为浮点数,此时,通常灰度级图像的值会归化到【0,1】范围。
- 灰度变换
mat2gray函数:mat2gray(A,【Amin,Amax】)
将一幅图像转换为标定到【0,1】范围的double类的数组,其中,小于Amin的值输出为0(黑),大于Amax的值输出为1(白)
imadjust函数:g=imadjust( f, [low_in high_in], [low_out high_out], gamma)
将f图像中的值映射为g中的新值,high_out < low_out , 则灰度值被反转。
gamma<1, 输出被加权到较高(亮)的值
gamma=1,为线性映射
gamma>1,输出被加权至较低(暗)的值
stretchlim函数:low_high=stretchlim(f)
获取图像f的低限和高限(用于实现对比度拉伸)
eg. g=imadjust( f, stretchlim(f), [low_out high_out] )
-
对数变换
对数表达式:g=c*log(1+f) f为浮点数 -
对比度拉伸
表达式:g=1./(1+(m./f).^E)
f为输入图像 E控制函数的斜率 -
任意灰度变换
g=interp1(z, t, f)
f 、g 分别为输入、输出图像 。 t为一个列向量,其包含该变换函数的值
z是长度与t相同的列向量,形成方式为:z=linspace(0, 1, numel(t) )’