利用MATLAB仿真软件系统进行图像变换域分析
- 格式:doc
- 大小:801.02 KB
- 文档页数:26
Matlab中的图像分析和图像描述技巧图像处理与计算机视觉领域一直是计算机科学中的热门研究方向之一。
Matlab 作为一款功能强大的工具,既提供了各种图像处理函数和工具包,也提供了丰富的图像描述和分析技巧。
在本文中,我们将介绍一些常用的Matlab图像分析和图像描述技巧,帮助读者更好地理解和应用于实际问题中。
1. 图像预处理在进行图像分析之前,通常需要进行一系列的图像预处理操作,以提高图像质量和减少噪声。
Matlab提供了各种预处理函数,包括图像去噪、图像增强和图像滤波等。
例如,可以使用imnoise函数向图像添加高斯噪声,使用imfilter函数进行图像平滑处理,使用imadjust函数对图像进行亮度和对比度的调整。
2. 特征提取在图像分析和描述中,特征提取是一项重要的任务。
Matlab提供了多种特征提取函数和工具包,如HOG特征、SIFT特征和SURF特征等。
这些特征提取方法可以用于目标检测、目标识别和图像分类等任务。
例如,可以使用extractHOGFeatures函数提取图像的HOG特征,使用extractSIFTFeatures函数提取图像的SIFT特征。
3. 图像分割图像分割是将图像划分成一些具有内在意义的区域的过程。
在Matlab中,可以使用各种图像分割算法,如阈值分割、区域生长和边缘检测等。
例如,可以使用imbinarize函数对图像进行二值化分割,使用watershed函数进行基于区域的分割,使用edge函数检测图像的边缘。
4. 目标检测目标检测是在图像中寻找特定目标的过程。
Matlab提供了多种目标检测方法和工具包,如基于滑动窗口的目标检测、级联分类器和深度学习模型等。
例如,可以使用trainCascadeObjectDetector函数训练级联分类器进行目标检测,使用deepLearningDetect函数利用深度学习模型进行目标检测。
5. 图像描述图像描述是将图像转化为文字描述的过程,通常用于图像检索和图像理解等任务。
如何在Matlab中进行图像分析图像分析是一种广泛应用于图像处理领域的技术,它能够通过对图像中的像素进行处理和分析,提取出有用的信息。
Matlab作为一种强大的科学计算软件,提供了丰富的图像处理和分析的工具箱,使得图像分析变得更加便捷和高效。
本文将介绍如何在Matlab中进行图像分析的基本方法和技巧。
一、图像读取与显示在进行图像分析之前,首先需要将图像文件读入到Matlab中,然后对图像进行显示,使得用户可以直观地观察、分析图像。
在Matlab中,可以使用imread函数读取图像文件,使用imshow函数显示图像。
例如,下面的代码读取名为"lena.jpg"的图像文件,并在Matlab中显示出来:```Matlabimg = imread('lena.jpg');imshow(img);```通过读取和显示图像,我们可以对图像的内容和质量有一个初步的了解,为后续的图像分析打下基础。
二、图像处理与增强在进行图像分析之前,有时需要对图像进行预处理和增强,以提取出更加有用和清晰的信息。
Matlab提供了许多图像处理函数,可以用于图像增强、去噪、滤波等操作。
例如,可以使用imresize函数对图像进行缩放,使用imadjust函数对图像进行亮度和对比度调整。
```Matlabresized_img = imresize(img, 0.5); % 缩小图像为原来的一半adjusted_img = imadjust(img, [0.2, 0.8], [0, 1]); % 对图像亮度进行调整```通过图像处理和增强,我们可以改善图像的质量,提高后续图像分析的准确性和效果。
三、图像特征提取图像特征提取是图像分析的核心步骤,它可以从图像中提取出代表图像内容的有用特征。
在Matlab中,可以使用各种特征提取函数来获得图像的颜色、纹理、形状等特征信息。
例如,可以使用RGBHistogram函数计算图像的颜色直方图,使用GLCM函数计算图像的灰度共生矩阵。
使用MATLAB进行图像处理的基本方法第一章:介绍MATLAB图像处理工具箱MATLAB是一种用于算法开发、数据可视化和数值计算的高级工具。
图像处理是MATLAB中重要的应用之一,其图像处理工具箱提供了许多功能强大的函数和工具,能够完成各种图像处理任务。
1.1 图像处理基础图像处理是通过计算机对图像进行分析、处理和改变的过程。
它可以用于增强图像的质量、从图像中提取有用的信息或特征,以及实现图像的压缩和恢复等任务。
1.2 MATLAB图像处理工具箱的功能MATLAB图像处理工具箱提供了丰富的函数和工具,包括图像读取和写入、图像增强、图像分割、图像滤波、图像变换等。
这些功能可以帮助用户对图像进行各种处理和分析。
第二章:图像预处理图像预处理是图像处理的第一步,其目的是消除图像中的噪声和其他不必要的信息,使后续的处理更加准确和有效。
2.1 图像读取和显示在MATLAB中,可以使用imread函数读取图像,imshow函数显示图像。
读取图像后,可以对图像进行显示、调整亮度和对比度等操作。
2.2 图像增强图像增强是通过对图像的像素值进行调整,改善图像的视觉质量。
常用的图像增强方法有直方图均衡化、对比度拉伸和滤波等。
第三章:图像分割图像分割是将图像划分成若干个具有独立意义的部分的过程。
图像分割可以帮助我们识别并提取出感兴趣的目标,进行后续的处理和分析。
3.1 基于阈值的图像分割阈值分割是一种简单且有效的图像分割方法,其思想是将图像中的像素分成前景和背景两部分。
MATLAB提供了imbinarize函数用于阈值分割。
3.2 基于边缘的图像分割边缘分割基于图像中物体的边界特征,通过检测图像中的边缘来实现图像分割。
MATLAB中的边缘检测函数包括edge和gradient。
第四章:图像滤波图像滤波是对图像进行平滑或增强处理的过程,它可以帮助去除图像中的噪声、增强图像的边缘和细节等。
4.1 线性滤波线性滤波是一种基于加权和求和的滤波方法,常用的线性滤波器有均值滤波器和高斯滤波器等。
如何进行MATLAB图像配准和变换引言图像配准和变换是数字图像处理中一项重要任务,它能够将不同空间、不同感知角度或不同时间采集的图像进行对齐,从而实现图像像素之间的准确匹配。
MATLAB作为一种常用的科学计算软件,提供了丰富的图像处理函数和工具箱。
本文将介绍如何使用MATLAB进行图像配准和变换,以帮助读者更好地理解和应用这些功能。
一、图像配准基础1. 图像配准定义图像配准是指将两幅或多幅图像通过某种变化,使得它们的像素点对齐。
这种对齐可以通过平移、旋转、缩放等几何变换来实现。
2. 图像配准应用图像配准在许多领域都有广泛的应用,如医学图像处理、遥感图像处理、计算机视觉等。
例如,在医学领域,图像配准可以用于将不同时间拍摄的磁共振图像对齐,以便医生更好地观察患者的病情变化。
二、MATLAB图像配准函数MATLAB提供了几个常用的图像配准函数和工具箱,方便用户进行图像配准和变换。
下面将介绍一些常用的函数和工具箱。
1. imregister函数imregister函数是MATLAB中一个常用的图像配准函数,它能够将两幅图像进行几何变换以实现图像配准。
该函数基于最大互信息和归一化互相关等算法实现,能够自动处理旋转、平移、缩放和扭曲等运动畸变。
2. cpselect工具箱cpselect工具箱是MATLAB中用于图像配准的一个交互式工具箱。
它能够通过用户交互的方式,选择两幅图像中的对应点,计算并输出变换矩阵。
用户可以通过可视化的界面进行点选,并查看配准效果。
三、图像配准步骤基于MATLAB提供的函数和工具箱,进行图像配准的一般步骤如下:1. 加载图像使用imread函数加载待配准的图像,将其转换为灰度图像或彩色图像,存储为变量img1和img2。
2. 预处理图像根据具体情况,对图像进行预处理操作,如去噪、平滑、增强等。
这一步骤可以提高后续配准的准确性和稳定性。
3. 选择对应点使用cpselect工具箱,通过交互方式选择两幅图像中的对应点。
课程设计任务书学生姓名:徐威专业班级:信息sy1101指导教师:方艺霖工作单位:信息工程学院题目:利用MATLAB仿真软件进行图像的变换域分析。
时间安排:第16周,安排任务(鉴主15楼通信实验室1)第17-19周,仿真设计(鉴主15楼通信实验室1)第20周,完成(答辩,提交报告,演示)初始条件:1 MATLAB编程的基础知识2《信号与系统》滤波器的相关知识3《数字信号处理》的相关知识要求完成的主要任务:读取图像并求图像的奇异值(SVD)分解、正交分解(QR)、离散余弦变换(DCT)、离散傅利叶变换(DFT),小波变换(DWT),并保存和显示变换后的图像。
参考书目:徐明远主编《MATLAB仿真在通信与电子工程中的应用》刘泉主编《信号与系统》刘泉主编《数字信号处理》指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)Abstract (II)1. MATLAB知识介绍 (1)1.1 MATLAB的特点 (1)1.2 常用函数以及用法 (2)2.数字图像分析 (3)2.1 图像的读取 (3)2.2 图像的奇异值分解 (3)2.2.1 理论基础 (3)2.2.2 奇异值分解的MATLAB函数介绍 (4)2.2.3 matlab程序仿真 (5)2.3 图像正交分解 (5)2.3.1 理论基础 (5)2.3.2 正交分解的MATLAB函数介绍 (6)2.3.3 matlab程序仿真 (6)2.4 图像的离散余弦变换 (6)2.4.1 理论基础 (6)2.4.2 离散余弦变换的MATLAB函数介绍 (7)2.4.3 matlab程序仿真 (7)2.5 图像的离散傅里叶变换 (8)2.5.1 理论基础 (8)2.5.2 离散傅里叶变换的MATLAB函数介绍 (8)2.5.3 matlab程序仿真 (9)2.6 图像的小波变换 (11)2.6.1小波变换理论基础 (11)2.6.2小波变换的MATLAB函数介绍 (12)2.6.3 matlab程序仿真 (13)3、收获与体会 (14)4、参考文献 (15)附录:matlab程序 (16)摘要MATLAB是由美国MathWorks公司推出的计算机软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征,是目前国际公认的最优秀的科学计算与数学应用软件之一。
课程设计任务书学生姓名:专业班级:通信1005班指导教师:工作单位:信息工程学院题目: 利用MATLAB仿真软件系统进行图像变换域分析初始条件:装有matlab的pc机一台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)利用MATLAB仿真软件进行图像的变换域分析。
要求:读取图像并求图像的奇异值(SVD)分解、正交分解(QR)、离散余弦变换(DCT)、离散傅利叶变换(DFT),小波变换(DWT),并保存和显示变换后的图像。
课程设计进度安排:1. 方案设计1天2. 软件设计2天3. 系统调试1天4. 答辩1天指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (2)Abstract (3)1 matlab基本操作 (4)1.1 基础知识 (4)1.2 图像的读取及程序 (4)2 matlab图像操作 (6)2.1 图像的奇异值分解 (6)2.1.1 奇异值分解理论知识 (6)2.1.2程序及运行结果 (6)2.2 图像的正交分解 (9)2.2.1 正交分解理论知识 (9)2.2.2 程序及运行结果 (9)2.3图像的离散余弦变换 (10)2.3.1离散余弦变换理论基础 (10)2.3.2 程序及运行结果 (11)2.4图像的离散傅利叶变换 (12)2.4.1离散傅利叶变换理论基础 (12)2.4.2程序及运行结果 (14)2.5图像的小波变换 (15)2.5.1小波变换的理论基础 (15)2.4.2程序及运行结果 (18)三收获、体会和建议 (220)四参考文献 (23)摘要MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来在国内外广泛流行的一种可视化科学计算软件。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。
一.图像几何变化(1)放大,缩小,旋转程序:I=imread('111.jpg');J=imresize(I,1.5);L=imresize(I,0.75);K=imrotate(I,35,'bilinear');subplot(221),subimage(I); title('原图像');subplot(222),subimage(J); title('放大后图像');subplot(223),subimage(L); title('缩小后图像');subplot(224),subimage(K);title('旋转后图像');二.图像频域变换(1)傅里叶变换真彩图像灰度图像傅里叶变换谱程序:I=imread('111.jpg');figure(1);imshow(I);B=rgb2gray(I);figure(2);imshow(B)D=fftshift(fft2(B));figure(3);imshow(log(abs(D)),[ ]);(2)离散余弦变换真彩图灰度图进行离散余弦变换后程序:RGB=imread('111.jpg');figure(1);imshow(RGB);G=rgb2gray(RGB);figure(2);imshow(G);DCT=dct2(G);figure(3);imshow(log(abs(DCT)),[]);三.图像增强:(1)指数变换程序:f=imread('111.jpg')f=double(f);g=(2^2*(f-1))-1;f=uint8(f);g=uint8(g);subplot(1,2,1),subimage(f);subplot(1,2,2),subimage(g);(2)直方图均衡程序:I=imread('111.jpg');I=rgb2gray(I);figuresubplot(221);imshow(I);subplot(222);imhist(I)I1=histeq(I);figure;subplot(221);imshow(I1)subplot(222);imhist(I1)(3)空域滤波增强锐化滤波(Roberts算子Sobel算子拉普拉斯算子)程序:I=imread('000.tif');J1=edge(I,'roberts'); %Roberts算子figure;imshow(uint8(I));title('原图');figure;subplot(221);imshow(J1);title('Roberts算子锐化'); J2=fspecial('Sobel'); %Sobel算子J2=J2';TJ1=filter2(J2,I);J2=J2';TJ2=filter2(J2,I);subplot(222),imshow(TJ1,[]),title('垂直模板'); subplot(223),imshow(TJ2,[]),title('水平模板');f=fspecial('laplacian'); %拉普拉斯算子J3=imfilter(I,f);subplot(224),imshow(J3);title('拉普拉斯算子');平滑滤波及中值滤波程序:I=imread('000.tif');J=imnoise(I,'salt & pepper',0.02);subplot(221),imshow(I);title('原图像');subplot(222),imshow(J);title('添加椒盐噪声图像');k1=filter2(fspecial('average',3),J); %进行3*3模板平滑滤波k2=medfilt2(J); %进行3*3模板中值滤波subplot(223),imshow(uint8(k1));title('3*3模板平滑滤波');subplot(224),imshow(k2);title('3*3模板中值滤波');(4)频域滤波增强低通滤波程序:I=imread('000.tif');J=imnoise(I,'salt & pepper',0.02);subplot(121),imshow(J);title('添加椒盐噪声图像');J=double(J);f=fft2(J); %采用傅里叶变换g=fftshift(f) %数据矩阵平衡[M,N]=size(f);n=3;d0=20n1=floor(M/2)n2=floor(N/2)for i=1:M %进行低通滤波for j=1:Nd=sqrt((i-n1)^2+(j-n2)^2)h=1/(1+(d/d0)^(2*n));g1(i,j)=h*g(i,j);endendg1=ifftshift(g1);g1=uint8(real(ifft2(g1)));subplot(122);imshow(g1);title('低通滤波后的图像'); %显示低通滤波结果 高通滤波程序:I=imread('000.tif');J=imnoise(I,'salt & pepper',0.02);subplot(221),imshow(J);title('添加椒盐噪声图像');J=double(J);f=fft2(J); %采用傅里叶变换[M,N]=size(f);n=2;d0=20n1=floor(M/2)n2=floor(N/2)for i=1:M %进行巴特沃斯高通滤波及巴特沃斯高通加强滤波for j=1:Nd=sqrt((i-n1)^2+(j-n2)^2);if d==0;h1=0;h2=0.5;elseh1=1/(1+(d0/d)^(2*n));h2=1/(1+(d0/d)^(2*n))+0.5;endgg1(i,j)=h1*g(i,j);gg2(i,j)=h2*g(i,j);endendgg1=ifftshift(gg1);gg1=uint8(real(ifft2(gg1)));subplot(222);imshow(gg1);title('巴特沃斯高通滤波后的图像'); %显示结果gg2=ifftshift(gg2);gg2=uint8(real(ifft2(gg2)));subplot(223);imshow(gg2);title('巴特沃斯高通滤波加强后的图像');同态滤波程序:J=imread('000.tif');subplot(121);imshow(J);title('原图像');J=double(J);f=fft2(J); %采用傅里叶变换[M,N]=size(f);d0=10;r1=0.5;rh=2c=4;n1=floor(M/2);n2=floor(N/2);for i=1:M %进行同态滤波for j=1:Nd=sqrt((i-n1)^2+(j-n2)^2)h=(rh-r1)*(1-exp(-c*(d.^2/d0.^2)))+r1;g(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(122);imshow(g);title('同态滤波后的图像'); %显示同态滤波结果。
课程设计任务书学生姓名:柯一凡专业班级:通信1102班指导教师:刘新华工作单位:信息工程学院题目: 利用MATLAB仿真软件系统进行图像变换域分析要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)利用MATLAB仿真软件进行图像的变换域分析。
要求:读取图像并求图像的奇异值(SVD)分解、正交分解(QR)、离散余弦变换(DCT)、离散傅利叶变换(DFT),小波变换(DWT),并保存和显示变换后的图像。
课程设计的目的:1.理论目的课程设计的目的之一是为了巩固课堂理论学习,并能用所学理论知识正确分析图像处理的基本问题和解释图像处理的基本现象。
2.实践目的课程设计的目的之二是通过设计具体的图像变换掌握图像处理的方法和步骤。
时间安排:序阶段内容所需时间号1 方案设计2天2 软件设计3天3 系统调试2天4 答辩1天合计8天指导教师签名:年月日系主任(或责任教师)签名:年月日目录目录 (1)摘要 (2)Abstract (3)1 matlab基本操作 (4)1.1 基础知识 (4)1.2 图像的读取及程序 (4)2 matlab图像操作 (6)2.1 图像的奇异值分解 (6)2.1.1 奇异值分解理论知识 (6)2.1.2程序及运行结果 (6)2.2 图像的正交分解 (9)2.2.1 正交分解理论知识 (9)2.2.2 程序及运行结果 (9)2.3图像的离散余弦变换 (10)2.3.1离散余弦变换理论基础 (10)2.3.2 程序及运行结果 (11)2.4图像的离散傅利叶变换 (12)2.4.1离散傅利叶变换理论基础 (12)2.4.2程序及运行结果 (14)2.5图像的小波变换 (15)2.5.1小波变换的理论基础 (15)2.5.2程序及运行结果 (19)3 收获、体会和建议 (21)4 参考文献 (22)摘要MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来在国内外广泛流行的一种可视化科学计算软件。
课程设计任务书学生姓名:专业班级:指导教师:工作单位:信息工程学院题目: 利用MATLAB仿真软件系统进行图像数据分析初始条件:1.MATLAB软件。
2.数字信号处理与图像处理基础知识。
要求完成的主要任务:读取图像并求出图像的最大值、最小值、均值、中值、和、标准差、两图像的协方差、相关系数等。
参考书目:[1] 余万波编著. 《基于MATLAB的图像处理》. 清华大学出版社. 2008.3[2] 梁红. 《matlab在数字图像处理中的应用》. 清华大学出版社. 2004[3] 蓝章礼李益才李艾星编著. 《数字图像处理与图像通信》. 清华大学出版社. 2009.3[4] 余成波编著. 《数字图像处理及MATLAB实现》. 重庆大学出版社. 2003.6[5] 胡学龙许开宇编著. 《数字图像处理》. 电子工业出版社. 2009.6[6] 王家文编著. 《MATLAB7.0图形图像处理》. 国防工业出版社. 2006.7时间安排:1 方案设计 1天2 软件设计2天3 系统调试1天4 答辩 1天合计5天指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (3)Abstract (4)1.MATLAB简介 (5)1.1 MATLAB产生的历史背景 (5)1.2 MATLAB的语言特点和开发环境 (6)1.3 MATLAB应用领域 (7)2.图像概述 (7)3.数据采集 (8)3.1图像的读取 (8)3.2图像的显示 (10)4.图像数据统计处理 (13)4.1图像数据处理原理 (13)4.2各像素点中最大值 (14)4.3各像素点中最小值 (14)4.4各像素点值的均值 (15)4.5各像素点值的中值 (16)4.6各像素点值的和 (16)4.7各像素点值的标准差 (17)4.8各像素点值的方差 (18)4.9两图中各像素点值的协方差 (18)4.10两图的相对系数 (19)5.心得体会 (20)6.参考文献 (21)摘要数字图形图像处理是指采用计算机处理图形图像的技术。
如何使用Matlab进行图像处理与分析图像处理与分析是计算机视觉和数字图像处理领域的重要组成部分。
而Matlab 作为一种高效的数值计算与数据分析工具,提供了丰富的图像处理函数和工具箱,使得图像处理与分析变得更加简单和便捷。
本文将介绍如何使用Matlab进行图像处理与分析,并探讨其中的一些常见技术和方法。
1. 图像读取与显示首先,我们需要通过Matlab将图像读取到内存中,并进行显示。
Matlab提供了imread函数用于读取图像,imshow函数用于显示图像。
例如,使用以下代码读取并显示一张图像:```img = imread('image.jpg');imshow(img);```2. 图像增强与滤波图像增强是指通过各种方法改善图像的质量和视觉效果。
Matlab提供了多种图像增强函数,如亮度调整、对比度增强、直方图均衡化等。
此外,滤波也是图像增强的一种重要方式,通过消除图像中的噪声和干扰来提高图像的质量。
Matlab提供了多种滤波函数,如均值滤波、中值滤波、高斯滤波等。
下面是一个对图像进行对比度增强和高斯滤波的示例:```enhanced_img = imadjust(img, [0.2 0.8], []);filtered_img = imgaussfilt(enhanced_img, 2);```3. 边缘检测与特征提取边缘检测是图像处理中的一项重要任务,用于检测出图像中物体的边界。
Matlab提供了多种边缘检测函数,如Sobel、Canny、Laplacian等。
特征提取是指从图像中提取出有用的特征信息,用于进行物体分类、识别等任务。
Matlab提供了多种特征提取函数,如HOG、SURF、SIFT等。
下面是一个对图像进行边缘检测和特征提取的示例:```edge_img = edge(img, 'Sobel');features = extractHOGFeatures(img);imshow(edge_img);```4. 目标检测与识别目标检测是指从图像中检测出特定物体的位置和边界框。
课程设计任务书学生姓名:专业班级:通信1005班指导教师:工作单位:信息工程学院题目: 利用MATLAB仿真软件系统进行图像变换域分析初始条件:装有matlab的pc机一台要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)利用MATLAB仿真软件进行图像的变换域分析。
要求:读取图像并求图像的奇异值(SVD)分解、正交分解(QR)、离散余弦变换(DCT)、离散傅利叶变换(DFT),小波变换(DWT),并保存和显示变换后的图像。
课程设计进度安排:1. 方案设计1天2. 软件设计2天3. 系统调试1天4. 答辩1天指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (2)Abstract (3)1 matlab基本操作 (4)1.1 基础知识 (4)1.2 图像的读取及程序 (4)2 matlab图像操作 (6)2.1 图像的奇异值分解 (6)2.1.1 奇异值分解理论知识 (6)2.1.2程序及运行结果 (6)2.2 图像的正交分解 (9)2.2.1 正交分解理论知识 (9)2.2.2 程序及运行结果 (9)2.3图像的离散余弦变换 (10)2.3.1离散余弦变换理论基础 (10)2.3.2 程序及运行结果 (11)2.4图像的离散傅利叶变换 (12)2.4.1离散傅利叶变换理论基础 (12)2.4.2程序及运行结果 (14)2.5图像的小波变换 (15)2.5.1小波变换的理论基础 (15)2.4.2程序及运行结果 (18)三收获、体会和建议 (221)四参考文献 (23)摘要MATLAB语言是由美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近几年来在国内外广泛流行的一种可视化科学计算软件。
它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境,而且还具有可扩展性特征。
MATLAB是一种向量语言,非常适合于图像处理,其自带的数字图像处理工具箱包括15类函数,支持四种图像类型,并可相互转换,ATLAB可操作的图像文件包括BMP、HDF、JPEG、PCX、TIFF、XWD等格式。
本文介绍了MATLAB语言的特点以及图像处理工具箱实现的经典图像处理技术。
总体介绍了,对图像的基本操作,以及对图像进行FFT变换,DCT变换,SVD变换,QR变换,小波变换等。
通过对一副图像通过MATLAB的图像工具箱箱中imread;imshow;subplot;figure等基本图像处理函数以及fft; fft2; dct; dct2; svd; qr;wavedec2等图像矩阵变换函数,进行处理,能大致基本展示MATLAB对图像处理方面的强大功能。
并且通过本次课程设计,掌握了这款软件的基本操作,其图像工具栏的基本函数,以及对图像进行的一些增强操作等。
AbstractMATLAB language is introduced by the United States MathWorks, computer software, after years of gradual development and continuous improvement, which has become internationally recognized as the best scientific computing and mathematical application, one at home and abroad in recent years widespread a kinds of scientific visualization software. It combines numerical analysis, matrix computation, signal processing and graphical display on the whole, constitute a convenient, user-friendly user environment, but also has the scalability characteristics.MATLAB is a vector language is very suitable for image processing, its built-in digital image processing toolbox, including 15 class functions in support of four kinds of image types, and can be interchangeable, ATLAB operable image files, including BMP, HDF, JPEG , PCX, TIFF, XWD and other formats. This article describes the characteristics of the language of the MATLAB image processing toolbox to achieve the classic image processing technology. Presented an overview on the basic operation of the image, as well as images FFT transform, DCT transform, SVD transform, QR transform, wavelet transform.Through an image through the MATLAB image toolbox box imread; imshow; subplot; figure the basic image processing functions and fft; fft2; dct; dct2; svd; qr; wavedec2 other image matrix transformation functions for processing, can be roughly demonstrate the basic aspects of MATLAB for image processing power. And through this curriculum design, and mastered the basic operation of this software and its basic function of the image toolbar, as well as a number of images to enhance operations and so on.1 matlab基本操作1.1 基础知识Matlab中基本变量都是以矩阵的形式保存的。
一幅图像即是一个二维的矩阵。
变量名区分大小写,如a和A表示两个不同的变量。
图像I中第i行第j列的像素用I(i,j)表示,其中行号和列号都从1开始计数。
要了解更多关于Matlab的基本知识,可看Matlab help 下的Matlab目录。
本实验可能用到的matlab函数有:zeros,imwrite,imread,imshow,FFT2,abs,log,min,max,查询具体的函数用法可以在Matlab help中查找,或在Matlab command window 中打(空格) 函数名。
在Matlab command window中的命令在打回车后直接执行。
也可以在m-file editor中编写程序,存盘为.m文件后,按Debug菜单下的Run,自动逐条执行命令。
Debug菜单下还提供了设置断点逐行执行等调试命令。
做本实验时可先在command window中熟悉Matlab命令与函数,最后所有命令应保存在一个m文件中,便于检查和调试。
每次画图前可用figure命令新开一个图像窗口,否则前一次显示的图像会被新的图像覆盖。
也可用figure(n)命令规定当前图像窗口序号。
1.2 图像的读取及程序在编辑窗口中,如下编辑M文件,%表示注释部分:%清除MATLAB中所有的工作平台变量,关闭打开的图形窗口clear;close all;I=imread('C:\Users\Administrator\Pictures\002.jpg'); %读取一张图像到Ifigure;imshow(I); %调用函数显示导入的图像在命令窗口中运行函数,可得到figure的运行结果了所选的图片,如图1-1所示。
图1-12 matlab 图像操作2.1 图像的奇异值分解2.1.1 奇异值分解理论知识定义1 :对于N N ⨯矩阵A ,有N 个标量(1,2,,)i i N λ=满足:0i A I λ-= (公式2-1)则称这一组i λ为矩阵A 唯一的特征值.定义2 如果存在这样一个1N ⨯的向量i V ,有:i i i AV V λ= (公式2-2)则称i V 为A 的与特征值i λ对应的一个特征向量. A 一共有N 个特征向量.定义3 (矩阵奇异值分解) 矩阵的奇异值分解(Singular Value Decomposition,简称SVD )是矩阵所固有的特征,设矩阵m n A R ⨯∈,(),rank A r r n =≤,那么矩阵A 的奇异值分解定义如下:11212100[,,,][,,,]00r T T m n j j j j r m n A UDV u u u v v v u v σσσ=⨯⎡⎤⎢⎥===⎢⎥⎢⎥⎣⎦∑(公式2-3) 其中,1[,]m m m U u u R ⨯=∈和1[,]n n n V v v R ⨯=∈是正交矩阵,其列向量分别为i u 和i v ;U ,V 分别称为矩阵A 的左奇异矩阵和右奇异矩阵;D 是对角阵;(1,,)i i r σ=称作矩阵A 的奇异值,此处是T AA 或T A A 的特征值i λ的正平方根,满足1210r r m σσσσσ+≥≥≥>===。
矩阵奇异值具有很好的稳定性,当矩阵A 有微小振动时,其奇异值的改变不会大于振动矩阵的2-范数。
若矩阵奇异值经过归一化处理,则可实现奇异值的比例不变性。
另外,矩阵奇异值还具有旋转不变性,因此,奇异值能有效地反映矩阵的特征,在图像处理中能表现图像的代数特性。
2.1.2程序及运行结果I=imread(' C:\Users\Administrator\Pictures\002.jpg ');II=rgb2gray(I); %将图像转换为灰度图像A=im2double(II)[U,S,V]=svd(A) %对图像做svd分解SN=U*S*V'; %SN等价于原图像SM=U*S*V%subplot(1,6,1); %建立子图imshow(II);subplot(1,6,2);imshow(U)subplot(1,6,3)imshow(S)subplot(1,6,4)imshow(V)subplot(1,6,5)imshow(SM)subplot(1,6,6)imshow(SN);运行结果如图2-1所示,各图像依次为原图像转换为灰度图后的图像,矩阵U等价的图像,矩阵S等价的图像,矩阵V等价的图像,矩阵SM等价的图像,矩阵SN等价的图像。