数字图像处理——Matlab 学习笔记

数字图像处理——Matlab 学习笔记(灰度变换、直方图处理)

本文仅初学基于Matlab数字图像处理的学习笔记,为方便以后复习及查找代码所用

1 图像的输入和显示

f=imread('E:\Matl\image\tianya1.jpg');
imshow(f)
figure,imshow(g) #在另一个图像显示窗口显示另一张图像
imwrite(f,'tianya1.jpg','quality',100);  #将图像写入当前目录

2 灰度变换

imcomplement函数

g = imcomplement(f)  %获得照片负片  *负片变换*
imshow(g)

imadjust函数

g1 = imadjust(f,[0 1],[1 0]);   %获得照片负片  *负片变换*
figure,imshow(g1)
g2 = imadjust(f,[0.5 0.75],[0 1]);   %将0.5到0.75之间的灰度扩展到【0 1】整个范围  
figure,imshow(g2)
g3 = imadjust(f,[],[],2); %用gamma=2**图像增强**  空矩阵为默认值   *gamma变换*
figure,imshow(g3)
g4 = imadjust(f,stretchlim(f),[]);  %stretchlim(f)函数 可增强图像的对比度   *对比度变换*
figure,imshow(g4)
g5 = im2uint8(mat2gray(log(1+double(f)))); %对数变换,目的为保留频谱中低灰度值的细节部分 *对数变换*
figure,imshow(g5)


总结:g1负片;g2对比增强,强调图片明显的特征;g3压缩灰度的低端和高端;g4对比增强,比g2增强结果较小;

3 直方图处理

imhist(f); %默认直方图
figure,imshow(g)
figure,imhist(g)

数字图像处理——Matlab 学习笔记_第1张图片

从直方图中看出,整幅图较暗,直方图分布在偏灰度级的暗端,动态范围较低

3.1直方图均衡化

>> g = histeq(f,256);
>> figure,imshow(g)
>> figure,imhist(g)
>> ylim('auto')

数字图像处理——Matlab 学习笔记_第2张图片

你可能感兴趣的:(数字图像处理——Matlab 学习笔记)