基础强化训练目的
1较全面了解常用的数据分析与处理原理及方法;
2能够运用相关软件进行模拟分析;
3掌握基本的文献检索和文献阅读的方法;
4提高正确地撰写论文的基本能力。
训练内容和要求
1采集一幅像素大于*黑白图像;
2常规的数学统计数据处理:计算图象各象素点灰度值得均值、标准差、方差,并绘出灰度直方图;
3数据分析常用算法:FFT(傅立叶变换),DCT(离散余弦变化),DWT(离散小波变化)
初始条件
1MATLAB软件
2数字信号处理与图像处理基础知识
目 录
摘 要 I
Abstract II
1 数据采集 1
1.1 图像的选取 1
1.2 MATLAB读取方法 1
1.2.1 编辑M文件 1
1.2.2 图像的读取 2
1.2.3 查看图像的格式…………………………………………………….3
1.2.4 灰度值的获取……………………………………………………….3
2 数据统计处理………………………………………………………………………3
2.1 均值计算 4
2.1.1 原理介绍 4
2.1.2计算结果 4
2.2 标准差计算 4
2.3 方差计算 5
2.4灰度直方图…………………………………………………………………5
3 快速傅立叶变换...........................................8
3.1原理介绍…………………………………………………………………….8
3.2仿真结果………………………………………………………………….…9
4 离散余弦变换…………………………………………………………………… 11
5 总结(心得体会)………………………………………………………………….12
参考文献…………………………………………………………………………….13
摘 要
MATLAB支持五种图像类型,即索引图像、灰度图像、二值图像、RGB图像和多帧图像阵列;支持BMP、GIF、HDF、JPEG、PCX、PNG、TIFF、XWD、CUR、ICO等图像文件格式的读,写和显示。MATLAB对图像的处理功能主要集中在它的图像处理工具箱(Image Processing Toolbox)中。图像处理工具箱是由一系列支持图像处理操作的函数组成,可以进行诸如几何操作、线性滤波和滤波器设计、图像变换、图像分析与图像增强、二值图像操作以及形态学处理等图像处理操作。
Abstract
MATLAB support for the five image types, namely, indexing images, gray-scale images, binary images, RGB images, and multi-frame image array; support BMP, GIF, HDF, JPEG, PCX, PNG, TIFF, XWD, CUR, ICO, such as image file format to read, write and display. MATLAB image processing functions to focus on its image processing toolbox (Image Processing Toolbox) in. Image Processing Toolbox is a series of image processing operations in support of a function of the composition can be carried out, such as geometric operations, linear filtering and filter design, image transform, image analysis and image enhancement, binary image processing operations, as well as morphological image handling operations.
1 数据采集
1.1 图像的选取
此图为120*120像素,符合规定的大于*像素图片
图1 所选图像
1.2 MATLAB读取方法
1.2.1 编辑M文件
m文件如果是函数,保存的文件名最好与函数名一致,这点都很清楚。不过容易疏忽的是,m文件名的命名尽量不要是简单的英文单词,最好是由大小写英文/数字/下划线等组成。原因是简单的单词命名容易与matlab内部函数名同名,结果会出现一些莫名其妙的错误。
图2 M文件编辑界面
1.2.2 图像的读取
在命令窗口中输入:
imfinfo
%读取图像信息
[A,M]=imread(,'gif');
%图像数据的读取,将图像数据放入矩阵A中,颜色数据放入矩阵M中
imshow(A,M);title('原图像');
命令窗口显示:
ans =
FileModDate: '07-七月-2009 22:19:58'
FileSize: 7856
Format: 'GIF'
FormatVersion: '87a'
Width: 120
Height: 120
BitDepth: 8
ColorType: 'indexed'
FormatSignature: 'GIF87a'
BackgroundColor: 0
AspectRatio: 0
ColorTable: [256x3 double]
Interlaced: 'no'
图3 原图像
1.2.3 查看图像的格式
使用MATLAB 命令isgray()判断图像是否为灰度图,如果是灰度图将返回为1,不是将返回0。
我所选图的图片用isgray()判断后返回值为1,证明是灰度图,符合题目的要求,且用函数isind()检验后,返回值为1,说明此图同时为索引图和灰度图。
1.2.4 灰度值的获取
直接在MATLAB命令行中输入存储图像矩阵的名字I=imread()即可得到灰度矩阵。
图4 灰度矩阵
2 数据统计处理
2.1 各像素点灰度值的均值
2.1.1 原理及计算公式
imread函数用于读入各种图像文件
如:a=imread('e:\\w01.tif')
mean2()函数用于求数组均值
在命令窗口中输入:
I=imread()
%调用imread函数求数组I的均值,并存入m
m = mean2(I)
2.1.2 计算结果
命令窗口显示:
m =
25.7176
2.2 各像素点灰度值的标准差
std2()函数用于标准差的求取;
在命令窗口中输入:
vStd = std2(I)
命令窗口显示:
vStd =
24.9334
2.3 各像素点灰度值的方差
在命令窗口中输入:
I=imread()
%调用var函数求数组I的方差,并存入I_fc
I_fc=var(double(I(:)))
命令窗口显示:
I_fc =
621.6755
2.4 灰度直方图
在命令窗口中输入:
imshow();title('原图像')
I=imread(,'gif');
figure;%创建一个图像显示的窗口
imhist(I),title('对应直方图')
%MATLAB还提供了histeq函数(自动直方图均衡化)
%histeq 功能: 用柱状图均等化增强对比
K=histeq(I);
figure;imshow(K),title('经直方图均衡化后的图')
figure;imhist(K),title('直方图均衡化后的直方图')
运行后显示的图片:
图6 显示原图像
图7 原图对应的直方图
图8 经直方图均衡后的图
图9 直方图均衡化后直方图
3 快速傅立叶变换
3.1 原理介绍
傅立叶变换是线性系统分析的一个有力的工具。它在图像处理,特别是在图像增强、复原和压缩中,扮演着非常重要的作用。实际中一般采用一种叫做快速傅立叶变换(FFT)的方法,MATLAB中的fft2指令用于得到二维FFT的结果,ifft2指令用于得到二维FFT逆变换的结果。
在命令窗口中输入:
I=imread();
C= fft2(double(I)); %对图像进行傅立叶变换
B=fftshift(fft2(double(I))); %fft变换结果的逆向限
D=ifft2(B); %傅立叶反变换
figure
imshow(I);
title('傅里叶变换原图 ');
figure,
imshow(log(abs(B)+1),[]);
title('直接变换频谱图');
figure,
imshow(abs(D),[]) ;
title('反傅里叶变换图');
3.2 仿真结果
图10 傅里叶变换原图
图11 傅里叶变换频谱图
图12 反傅里叶变换图
4 离散余弦变换(DCT)
在图像的变换和压缩中,常常用到离散余弦变换(DCT)。DCT具有能使图像的最重要的信息集中在DCT的几个系数上的性能。DCT变换的全称是离散余弦变换(Discrete Cosine Transform),是指将一组光强数据转换成频率数据,以便得知强度变化的情形。若对高频的数据做些修饰,再转回原来形式的数据时,显然与原始数据有些差异,但是人类的眼睛却是不容易辨认出来。
函数介绍:
dct2():计算二维离散余弦变换;
abs();绝对值;
colormap():设置有色图;
jet():变异HSV色图;
在命令窗口中输入:
I=imread();
J=dct2(I);
imshow(log(abs(J)),[]),colormap(jet());
J(abs(J)<10)=0;
K=idct2(J)/255;
figure;
imshow(K)
运行后显示的图片:
图13 离散余弦变换图 图14反余弦DCT变换图
参考文献
[1] 王正林,刘明主编:《精通MATLAB 7》 北京电子工业出版社 2002.3
[2] 李南南主编:《MATLAB 7简明教程》 西安电子科技大学出版社 2005.11
[3] 冈萨雷斯主编:《数字图像处理》 清华大学出版社 2003.4
[4] 苏金明主编:《Matlab图形图像》 清华大学出版社 2004.10
[5] 梁宏主编:《信号与系统分析及MATLAB实现》 华中科技大学出版社 2004.6