实验二 图像基本操作
一、实验目的
1、熟悉及掌握图像的采样原理,实现图像的采样过程,进行图像的灰度转换。 2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图均衡和直方图规定化方法对图像进行修正。 二、实验环境
MATLAB 6.5以上版本、WIN XP或WIN2000计算机
三、相关函数 ? 图像的增强
1、 直方图
imhist函数用于数字图像的直方图计算或显示,
imhist(I, n)计算和显示图像I的直方图,n为指定的灰度级数目,默认为256。如果I是二值图像,那么n仅有两个值。
[counts,x] = imhist(...)返回直方图数据向量counts,相应的色彩值向量x。
如:
i=imread('e:\\w01.tif');
imhist(i); 2 、直方图均衡化
histeq函数用于数字图像的直方图均衡化,
J = histeq(I, n) 均衡化后的级数n,缺省值为64。
J = histeq(I, hgram) \直方图规定化\,即将原是图象 I 的直方图变换成用户指定的向量 hgram (即指定另一幅图像的直方图数据向量)。
如:
i=imread('e:\\w01.tif');
j=histeq(i,N);对图像i执行均衡化,得到具有N个灰度级的灰度图像j,N缺省值为64 3、 灰度调整
imadjust函数用于数字图像的灰度或颜色调整,
J = imadjust(I) 将灰度图像 I 中的亮度值映射到 J 中的新值并使 1% 的数据是在低高强度和饱和,这增加了输出图像 J 的对比度值。
J = imadjust(I,[low_in; high_in],[low_out; high_out]) 将图像I中的亮度值映射到J中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。low_in 以下与 high_in 以上的值被剪切掉了,也就是说,low_in 以下的值映射到 low_out,high_in 以上的值映射到high_out。它们都可以使用空的矩阵[],默认值是[0 1]。 如:
i=imread('e:\\w01.tif');
j=imadjust(i,[0.3,0.7],[]);将图像i转换为j,使灰度值从0.3~0.7与缺省值0~1相匹配
? 运算函数
1、Zeros生成全0数组或矩阵
如 B = zeros(m,n) or B = zeros([m n]) 返回一个 m*n 全0矩阵 2、取整函数 floor最小取整函数 round四舍五入取整函数 ceil最大取整函数
如a = [-1.9, -0.2, 3.4, 5.6, 7.0, 2.4+3.6i] I=round(a)
I =[ -2 0 3 6 7 2+ 4i]