数字图像处理实验报告(全答案).. 下载本文

内容发布更新时间 : 2024/5/4 5:34:47星期一 下面是文章的全部内容请认真阅读。

实验二 图像基本操作

一、实验目的

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]