小波变换在图像处理中的运用及其matlab实现 - 副本

小波变换在图像处理中的运用及其matlab实现 - 副本
小波变换在图像处理中的运用及其matlab实现 - 副本

clear % 清理工作空间

load wbarb; % 装入图像

figure; % 新建窗口

image(X); % 显示图像

colormap(map) % 设置色彩索引图

title('原始图像'); % 设置图像标题

axis square % 设置显示比例

disp('压缩前图像X的大小'); % 显示文字

whos('X') % 显示图像属性

%对图像用小波进行层小波分解

[c,s]=wavedec2(X,2,'bior3.7'); %提取小波分解结构中的一层的低频系数和高频系数cal=appcoef2(c,s,'bior3.7',1); %水平方向

ch1=detcoef2('h',c,s,1); %垂直方向

cv1=detcoef2('v',c,s,1); %斜线方向

cd1=detcoef2('d',c,s,1);

%各频率成份重构

a1=wrcoef2('a',c,s,'bior3.7',1);

h1=wrcoef2('h',c,s,'bior3.7',1);

v1=wrcoef2('v',c,s,'bior3.7',1);

d1=wrcoef2('d',c,s,'bior3.7',1);

c1=[a1,h1;v1,d1];

%显示分频信息

figure; % 新建窗口

image(c1); % 显示图像

colormap(jet) % 设置色彩索引图

axis square; % 设置显示比例

title ('分解后低频和高频信息'); % 设置图像标题

ca1=appcoef2(c,s,'bior3.7',1);

ca1=wcodemat(ca1,440,'mat',0);

%改变图像高度并显示

ca1=0.5*ca1;

figure; % 新建窗口

image(ca1); % 显示图像

colormap(map); % 设置色彩索引图

axis square; % 设置显示比例

title('第一次压缩图像'); % 设置图像标题

disp('第一次压缩图像的大小为:'); % 显示文字

whos('ca1') % 显示图像属性

%保留小波分解第二层低频信息进行压缩

ca2=appcoef2(c,s,'bior3.7',2);

%首先对第二层信息进行量化编码

ca2=wcodemat(ca2,440,'mat',0);

%改变图像高度并显示

ca2=0.25*ca2;

figure; % 新建窗口

image(ca2); % 显示图像

colormap(map); % 设置色彩索引图axis square; % 设置显示比例

title('第二次压缩图像'); % 设置图像标题disp('第二次压缩图像的大小为:'); % 显示文字whos('ca2') % 显示图像属性

clear; % 清理工作空间

load wbarb; % 装入图形信号

figure; % 新建窗口

image(X); % 显示图像

colormap(map); % 设置色彩索引图

axis square; % 设置显示比例

title('原始图像'); % 设置图像标题

disp('压缩前图像的大小'); % 显示文字

whos('X'); % 显示图像属性

axis square; % 设置显示比例

%对图像用db3小波进行二层小波分解

[c,s]=wavedec2(X,5,'db3');

[thr,sorh,keepapp]=ddencmp('cmp','wv',X);

[Xcomp,cxc,lxc,perf0,perfl2]=wdencmp('gbl',c,s,'db3',5,thr,sorh,keepapp); figure; % 新建窗口

image(Xcomp); % 显示图像

colormap(map); % 设置色彩索引图

axis square; % 设置显示比例

title(' 压缩后的图像'); % 设置图像标题

disp('压缩后图像的大小'); % 显示文字

whos('Xcomp') % 显示图像属性

disp('小波分解系数中值为0的系数个数百分比'); % 显示文字

disp(perf0); % 显示数值

disp('压缩后剩余能量百分比'); % 显示文字

disp(perfl2); % 显示数值

load wbarb; % 装载原始图像

figure; % 新建窗口

image(X); % 显示图像

colormap(map); % 设置色彩索引图

title('原图'); % 设置图像标题

axis square; % 设置显示比例

%生成含噪图像

init=2055615866; % 初始值

randn('seed',init) % 随机值

x=X+38*randn(size(X)); % 添加随机噪声

figure; % 新建窗口

image(x); % 显示图像

colormap(map); % 设置色彩索引图

title('含噪声图像'); % 设置图像标题

axis square; % 设置显示比例

% 下面对图像消噪,首先利用sym4函数对图像进行2层分解[c,s]=wavedec2(x,2,'sym4'); % 分解

a1=wrcoef2('a',c,s,'sym4',1); % 图像第一层的重构逼近信号 figure; % 新建窗口

image(a1); % 显示图像

colormap(map); % 设置色彩索引图

title('第一层重构图像'); % 设置图像标题

axis square; % 设置显示比例

a2=wrcoef2('a',c,s,'sym4',2); % 图像第二层的重构逼近信号figure; % 新建窗口

image(a2); % 显示图像

colormap(map); % 设置色彩索引图

title('第二层重构图像'); % 设置图像标题

axis square; % 设置显示比例

load wbarb; % 装载原始图像

figure; % 新建窗口

image(X); % 显示图像

colormap(map); % 设置色彩索引图

title('原始图像'); % 设置图像标题

axis square; % 设置显示比例,生成含噪图像并图示

init=2055615866; % 初始值

randn('seed',init); % 随机值

XX=X+8*randn(size(X)); % 添加随机噪声

figure; % 新建窗口

image(XX); % 显示图像

colormap(map); % 设置色彩索引图

title('含噪图像'); % 设置图像标题

axis square; %用小波函数coif2对图像XX进行2层分解

[c,l]=wavedec2(XX,2,'coif2'); % 分解

n=[1,2]; % 设置尺度向量

p=[10.28,24.08]; % 设置阈值向量,对高频小波系数进行阈值处理%nc=wthcoef2('h',c,l,n,p,'s');

%nc=wthcoef2('v',c,l,n,p,'s');

nc=wthcoef2('d',c,l,n,p,'s');

X1=waverec2(nc,l,'coif2'); % 图像的二维小波重构

figure; % 新建窗口

image(X1); % 显示图像

colormap(map); % 设置色彩索引图

title('第一次消噪后的图像'); % 设置图像标题

axis square; % 设置显示比例,再次对高频小波系数进行阈值处理%mc=wthcoef2('h',nc,l,n,p,'s');

mc=wthcoef2('v',nc,l,n,p,'s');

%mc=wthcoef2('d',nc,l,n,p,'s');

X2=waverec2(mc,l,'coif2'); % 图像的二维小波重构

figure; % 新建窗口

image(X2); % 显示图像

colormap(map); % 设置色彩索引图

title('第二次消噪后的图像'); % 设置图像标题

axis square; % 设置显示比例

load sinsin

figure; % 新建窗口

image(X); % 显示图像

colormap(map); % 设置色彩索引图

title('原始图像'); % 设置图像标题

axis square; % 设置显示比例,生成噪声图像

init=2055615866; % 初始值

randn('state',init); % 随机值

x = X + 18*randn(size(X));

figure; % 新建窗口

image(x); % 显示图像

colormap(map); % 设置色彩索引图

title('含噪图像'); % 设置图像标题

axis square; % 设置显示比例,查找默认值 (参见函数ddencmp).

[thr,sorh,keepapp] = ddencmp('den','wv',x); % 使用全局阈值选项进行图像降噪处理。xd = wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);

figure; % 新建窗口

image(xd); % 显示图像

colormap(map); % 设置色彩索引图

title('消噪后的图像'); % 设置图像标题

axis square; % 设置显示比例

load wbarb; % 装载原始图像

figure; % 新建窗口

image(X); % 显示图像

colormap(map); % 设置色彩索引图

title('原始图像'); % 设置图像标题

axis square; % 设置显示比例

[c,s]=wavedec2(X,2,'sym4'); % 进行二层小波分解

sizec=size(c); % 处理分解系数,突出轮廓,弱化细节for I =1:sizec(2) % 小波系数处理

if(c(I)>350)

c(I)=2*c(I);

else

c(I)=0.5*c(I);

end

end

xx=waverec2(c,s,'sym4'); % 分解系数重构

figure; % 新建窗口

image(xx); % 显示图像

colormap(map); % 设置色彩索引图

title('增强图像') % 设置图像标题

axis square; % 设置显示比例

clear % 清理工作空间

load woman; % 装入原图像

X1=X; % 复制

map1=map; % 复制

figure; % 新建窗口

image(X1); % 显示图像colormap(map1); % 设置色彩索引图title('woman'); % 设置图像标题 axis square % 画出woman 图像load wbarb; % 装入原图像

X2=X; % 复制

map2=map; % 复制

for I =1:256

for j=1:256

if(X2(I, j)>100)

X2(I, j)=1.2*X2(I, j);

else

X2(I, j)=0.5*X2(I, j);

end

end

end

figure; % 新建窗口

image(X2); % 显示图像colormap(map2); % 设置色彩索引图title('wbarb'); % 设置图像标题axis square % 设置显示比例

[c1,s1]=wavedec2(X1,2,'sym4'); % 分解sizec1=size(c1);

for I=1:sizec1(2) % 系数处理

c1(I)=1.2*c1(I);

end

[c2,s2]=wavedec2(X2,2,'sym4'); % 分解

c=c1+c2; % 系数处理

c=0.5*c;

xx=waverec2(c,s1,'sym4'); % 重构figure; % 新建窗口

image(xx); % 显示图像colormap(map); % 设置色彩索引图title('融合图像'); % 设置图像标题axis square % 设置显示比例

load cathe_1; % 调入第一幅模糊图像

X1=X; % 复制

load cathe_2; % 调入第二幅模糊图像

X2=X; % 复制

XFUS=wfusimg(X1,X2,'sym4',5,'max','max'); %基于小波分解的图像融合figure; % 新建窗口

image(X1); % 显示图像

colormap(map); % 设置色彩索引图

axis square; % 设置显示比例

title(' Catherine 1'); % 设置图像标题

figure; % 新建窗口

image(X2); % 显示图像

colormap(map); % 设置色彩索引图

axis square; % 设置显示比例

title(' Catherine 2'); % 设置图像标题

figure; % 新建窗口

image(XFUS); % 显示图像

colormap(map); % 设置色彩索引图

axis square; % 设置显示比例

title('Synthesized image'); % 设置图像标题

基于MATLAB平台的可视化图像处理系统设计方法

[收稿日期]20050228 [作者简介]黄书先(1962),女,1983年大学毕业,硕士,副教授,现主要从事石油勘探开发研究与科研管理工作。 基于MATLAB 平台的可视化图像处理系统 设计方法 黄书先 (长江大学科学技术处,湖北荆州434023) [摘要]以MATLAB 为工作语言和开发环境,开发了一个在M AT LAB 平台下的可视化图像处理系统, 可实现包括对测井图像在内的一般图像的精细处理,并能和用户开发的程序接口。为M AT LAB 的再开发 和可视化系统的设计作了有益的探索。 [关键词]MATLAB;图像处理;可视化GUI 界面 [中图分类号]TP 311111 [文献标识码]A [文章编号]16731409(2005)04015803 MAT LAB 的图像处理工具为自然科学各学科领域的学者、研究人员和工程师提供了一个直观的灵活的环境,用以解决复杂的图像处理问题。用MAT LAB 语言开发的图像处理算法可以在所有支持MAT LAB 的平台上共享。也可以将m 语言算法和现存的C 程序集成在一起或者将MATLAB 开发的m 语言算法和GU Is 编译为C/C++代码,供其他程序调用,或者发布为一个独立的应用程序。下面笔者提出一个基于MATLAB 平台的可视化图像处理系统设计方法,可用于包括测井图像资料在内的一般图像的精细处理。 1 系统总体设计 在MAT LAB 中有个重要的图像处理工具包[1],该工具包是由一系列支持图像处理操作的函数组成的,按功能可以分为以下几类:图像显示;图像文件输入与输出;几何操作;像素值统计;图像增强;图像识别;图像滤波;图像变换;邻域和块操作;二值图像操作;颜色映射和颜色空间转换;图像格式转换等。和其他工具包一样,用户还可以根据需要书写自己的函数,以满足特定的需要;也可以将这个工具包和信号处理工具包或小波工具包等其他工具包联合起来使用。 MAT LAB 提供了交互式的GU I 开发环境[2~4],用户只需要设置各个对象相应的属性,系统自动生成与之对应的界面,大大减少了开发的难度。本设计的MAT LAB 图像处理系统由封面、主界面和各个子功能界面组成,其框图如图1所示。程序总流程图如图2所示。 2 封面界面设计 首先用MAT LAB 编辑封面的脚本文件,生成系统的封面界面,然后再进入处理的主界面。 在设计封面时,要做好封面的总体布局,力求完美。要插入背景,首先要找到所用的函数(这在一般的书中很难找到);其次要注意设置axes 的属性。在显示背景图像时,不能用imshow ()函数,如果用此函数,背景图像只能显示在封面的一部分,不能整屏覆盖;而要用imagesc ()函数。MATLAB 提供修改文本中文字的字体,它支持华文中宋、华文彩云、华文仿宋、楷书、黑体等,功能较强。 在设计封面的过程中,最主要的技术是要解决时间的显示,如果只用MATLAB 中的clock ()函数,则显示的是静态时间,而不会显示和电脑同步的动态时间。为了解决这个问题,需做一个循环判断语句:while find (get (0,'c hildren'))==h0。成立的条件是,只要是当前窗口循环,否则停止,这样可以减少CPU 的负担。同时,要实时提取clock ()函数,可用fix (clock),使提取的时间更美观。#158#长江大学学报(自科版)2005年4月第2卷第4期/理工卷第2卷第2期 Jour nal of Yangtze University (Nat Sci Edit)Apr 12005Vol 12No 14/Sci &Eng V,Vol 12No 12

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

Matlab小波变换函数

Matlab小波函数 Allnodes 计算树结点 appcoef 提取一维小波变换低频系数 appcoef2 提取二维小波分解低频系数 bestlevt 计算完整最佳小波包树 besttree 计算最佳(优)树 *biorfilt 双正交样条小波滤波器组 biorwavf 双正交样条小波滤波器 *centfrq 求小波中心频率 cgauwavf Complex Gaussian小波 cmorwavf coiflets小波滤波器 cwt 一维连续小波变换 dbaux Daubechies小波滤波器计算 dbwavf Daubechies小波滤波器dbwavf(W) W='dbN' N=1,2,3,...,50 ddencmp 获取默认值阈值(软或硬)熵标准 depo2ind 将深度-位置结点形式转化成索引结点形式detcoef 提取一维小波变换高频系数 detcoef2 提取二维小波分解高频系数 disp 显示文本或矩阵 drawtree 画小波包分解树(GUI) dtree 构造DTREE类 dwt 单尺度一维离散小波变换

dwt2 单尺度二维离散小波变换 dwtmode 离散小波变换拓展模式 *dyaddown 二元取样 *dyadup 二元插值 entrupd 更新小波包的熵值 fbspwavf B样条小波 gauswavf Gaussian小波 get 获取对象属性值 idwt 单尺度一维离散小波逆变换 idwt2 单尺度二维离散小波逆变换 ind2depo 将索引结点形式转化成深度—位置结点形式*intwave 积分小波数 isnode 判断结点是否存在 istnode 判断结点是否是终结点并返回排列值 iswt 一维逆SWT(Stationary Wavelet Transform)变换iswt2 二维逆SWT变换 leaves Determine terminal nodes mexihat 墨西哥帽小波 meyer Meyer小波 meyeraux Meyer小波辅助函数 morlet Morlet小波 nodease 计算上溯结点 nodedesc 计算下溯结点(子结点)

基于MATLAB的图像处理的基本运算

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于MATLAB的图像处理的基本运算 初始条件: 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)能够对图像亮度和对比度变化调整,并比较结果 (2)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存,比较几 种插值的效果 (3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 (4)对图像加入各种噪声,比较效果。 时间安排: 指导教师签名:年月日 系主任(或责任教师)签名:年月日 目录 摘要.......................................................................................................................... 错误!未定义书签。 1 MATLAB简介 ........................................................................................................ 错误!未定义书签。2图像选择及变换................................................................................................... 错误!未定义书签。 2.1 原始图像选择读取....................................................................................... 错误!未定义书签。 2.1.1 原理图的读入与基本变换 .................................................................... 错误!未定义书签。

基于MATLAB的(小波)图像处理

基于MATLAB的(小波)图像处理 姓名:宋富冉 学号:P1******* 院系:电子信息工程学院 专业:电子与通信工程 日期:2015年11月7日

目录 摘要 (3) 第一章初期准备 1.1软件知识储备及学习 (4) 1.2 MATLAB操作平台安装及应用 (4) 1.3操作函数功能及调试 (5) 第二章图像准备 2.1图像采集 (6) 2.2 图像选择和保存 (6) 第三章程序设计及实现 3.1 软件编程调试 (7) 3.2 实现及优化程序 (11) 第四章完成任务报告 4.1报告书写 (12) 4.2总结 (12) 附录 (13)

摘要 本报告主要阐述有关于MABLAT在图像处理方面实际应用中的 六个方面的问题,分别涉及图像的读取、图像添加噪声、利用小波 函数对图像进行分割、分割后图像的重构、图像去除噪声、将程序 处理过程中所得各种图像确定存储格式并保存到指定的磁盘及命名。最终得到预期任务的要求,完成任务。 关键词:图像读取,图像加噪,图像去噪,图像重构,图像保存

第一章初期准备 1.1软件知识储备及学习 由于本人从未学习过MATLAB这门课程及其编程语言,对其一无所知,在之前的学习过程中,比较多的是应用C语言进行一些简单的及较复杂的任务编程。因此,接到任务之日起,本人就开始学习储备有关于此方面的软件知识,并逐步学习了解它的奥妙所在。 首先,是漫无目的的到图书馆查找有关于此类的各种书籍,并上网搜索各类处理程序和文档,以期寻求到刚好符合此次作业任务要求的完整程序设计及源代码。结果是可想而知的,并没有完全吻合的程序与代码。其次,在以上的查找翻看过程中,本人接触到了很多与此任务相关相通的程序设计和处理函数的功能及应用知识,受其启发,自我总结,将实现本任务所要用到的功能函数一一搜集了起来,初步了解了本任务如何开启。 1.2 MATLAB操作平台安装及应用 通过前期的理论准备,下一步就要开始上机实际操作和仿真各个函数在实际应用中的效果。第一步,就是寻求MATLAB操作平台的安装包或安装程序,在自己的桌面上把它装起来,以便后面随时随地使用操作,也为后期更深入的学习此门语言而准备好最基本的学习工具,从而为以后完全掌握此门语言工具打下基础。第二步,就是对本平台的安装和使用,由于此平台有中英文两个版本,于是这对我本人又是一种考验,由于英语专业词汇并不完全过关,对操作菜单中多个名词词组的用意并

基于MATLAB图像处理报告

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

matlab小波变换

matlab小波变换 Matlab 1. 离散傅立叶变换的 Matlab实现 Matlab 函数 fft、fft2 和 fftn 分别可以实现一维、二维和 N 维 DFT 算法;而函数 ifft、ifft2 和 ifftn 则用来计算反 DFT 。这些函数的调用格式如下: A=fft(X,N,DIM) 其中,X 表示输入图像;N 表示采样间隔点,如果 X 小于该数值,那么Matlab 将会对 X 进行零填充,否则将进行截取,使之长度为 N ;DIM 表示要进行离散傅立叶变换。 A=fft2(X,MROWS,NCOLS) 其中,MROWS 和 NCOLS 指定对 X 进行零填充后的 X 大小。别可以实现一维、二维和 N 维 DFT A=fftn(X,SIZE) 其中,SIZE 是一个向量,它们每一个元素都将指定 X 相应维进行零填充后的长度。 函数 ifft、ifft2 和 ifftn的调用格式于对应的离散傅立叶变换函数一致。 别可以实现一维、二维和 N 维 DFT 例子:图像的二维傅立叶频谱 1. 离散傅立叶变换的 Matlab实现% 读入原始图像 I=imread('lena.bmp');函数 fft、fft2 和 fftn 分 imshow(I) % 求离散傅立叶频谱 J=fftshift(fft2(I)); figure;别可以实现一维、二维和 N 维 DFT imshow(log(abs(J)),[8,10]) 2. 离散余弦变换的 Matlab 实现 Matlab

2.1. dct2 函数 功能:二维 DCT 变换 Matlab 格式:B=dct2(A) B=dct2(A,m,n) B=dct2(A,[m,n])函数 fft、fft2 和 fftn 分 说明:B=dct2(A) 计算 A 的 DCT 变换 B ,A 与 B 的大小相同;B=dct2(A,m,n) 和 B=dct2(A,[m,n]) 通过对 A 补 0 或剪裁,使 B 的大小为 m×n。 2.2. dict2 函数 功能:DCT 反变换 格式:B=idct2(A) B=idct2(A,m,n)别可以实现一维、二维和 N 维 DFT B=idct2(A,[m,n]) 说明:B=idct2(A) 计算 A 的 DCT 反变换 B ,A 与 B 的大小相同;B=idct2(A,m,n) 和 B=idct2(A,[m,n]) 通过对 A 补 0 或剪裁,使 B 的大小为m×n。 Matlab 2.3. dctmtx函数 功能:计算 DCT 变换矩阵 格式:D=dctmtx(n) 说明:D=dctmtx(n) 返回一个n×n 的 DCT 变换矩阵,输出矩阵 D 为double 类型。 1. 离散傅立叶变换的 Matlab实现 3. 图像小波变换的 Matlab 实现函数 fft、fft2 和 fftn 分 3.1 一维小波变换的 Matlab 实现 (1) dwt 函数 Matlab

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1 直方图 一.实验目的 1.熟悉matlab图像处理工具箱及直方图函数的使用; 2.理解和掌握直方图原理和方法; 二.实验设备 1.PC机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(1,2,2),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像 (b)原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡 一.实验目的 1.熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2.理解和掌握灰度均衡原理和实现方法; 二.实验设备 1.PC机一台; 2.软件matlab; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。 I=imread('cameraman.tif');%读取图像 subplot(2,2,1),imshow(I) %输出图像 title('原始图像') %在原始图像中加标题 subplot(2,2,3),imhist(I) %输出原图直方图 title('原始图像直方图') %在原图直方图上加标题 a=histeq(I,256); %直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) %输出均衡化后图像 title('均衡化后图像') %在均衡化后图像中加标题 subplot(2,2,4),imhist(a) %输出均衡化后直方图 title('均衡化后图像直方图') %在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3.浏览源程序并理解含义; 4.运行,观察显示结果; 5.结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 (a)原始图像 (b)均衡化后图像

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

基于MATLAB的小波变换在信号分析中应用的实现

基于MATLAB的小波变换在信号分析中应用的实现 院系:应用技术学院 专业:电子信息工程 姓名:李成云 指导教师单位:应用技术学院 指导教师姓名:王庆平 指导教师职称:讲师 二零一一年六月

The application of wavelet transform based on MTLAB in signal analysis Faculty:Application and Technology Institute Profession:Electronic information engeering Name:Li Chengyun Tutor’s Unit:Application and Technology Institute Tutor:Wang Qingping Tutor’s Title:Lecturer June 2011

第 I 页 目录 摘要 (1) ABSTRACT (2) 前言 (3) 第1章 绪论 (4) 1.1 本文的研究背景意义 (4) 1.2 国内外研究现状 (5) 1.3 本文的研究内容 (7) 第2章 MATLAB 简介 (8) 2.1 MATLAB 的概况 (8) 2.2 MATLAB6.1 的功能 (8) 2.3 MATLAB 的主要组成部分 (9) 2.4 MATLAB 的语言特点 (10) 第3章 基本理论 (12) 3.1 从傅里叶变换到小波变换 (12) 3.1.1 傅里叶变换 (12) 3.1.2 短时傅里叶变换 (13) 3.1.3 小波变换 (14) 3.2 连续小波变换 (15) 3.3 离散小波变换 (17) 3.4 小波包分析 (18) 3.5 多分辨率分析与M ALLAT 算法 (19) 3.5.1 多分辨率分析 (19) 3.5.2 Mallat 算法 (19) 3.6 本章小结 (20) 第4章 小波阈值法图像去噪 (21) 4.1 图像去噪 (21) 4.1.1 邻域平均法 (22) 4.1.2 中值滤波法 (24) 4.2 小波阈值去噪 (27) 4.2.1 阈值去噪原理 (28) 4.2.2 选取阈值函数 ................................................ 28 4.2.3 几种阈值选取方法 .. (29)

基于MATLAB的运动模糊图像处理

基于MATLAB的运动模糊图像处理 提醒: 我参考了文献里的书目和网上的一些代码而完成的,所以误差会比较大,目前对于从网上下载的模糊图片的处理效果很不好,这是我第一次上传自己完成的实验的文档,希望能帮到一些人吧。 研究目的 在交通系统、刑事取证中图像的关键信息至关重要,但是在交通、公安、银行、医学、工业监视、军事侦察和日常生活中常常由于摄像设备的光学系统的失真、调焦不准或相对运动等造成图像的模糊,使得信息的提取变得困难。但是相对于散焦模糊,运动模糊图像的复原在日常生活中更为普遍,比如高速运动的违规车辆的车牌辨识,快速运动的人群中识别出嫌疑人、公安刑事影像资料中提取证明或进行技术鉴定等等,这些日常生活中的重要应用都需要通过运动模糊图像复原技术来尽可能地去除失真,恢复图像的原来面目。因此对于运动模糊图像的复原技术研究更具有重要的现实意义。 图像复原原理 本文探讨了在无噪声的情况下任意方向的匀速直线运动模糊图像的复原问题,并在此基础上讨论了复原过程中对点扩散函数(PSF)的参数估计从而依据自动鉴别出的模糊方向和长度构造出最为近似的点扩散函数,构造相应的复原模型,实现运动模糊图像的复原;在模糊图像自动复原的基础上,根据恢复效果图的纹理特征和自动鉴别出的模糊长度和角度,人工调整模糊方向和长度参数,使得复原效果达到最佳。 实验过程 模糊方向的估计: 对图1(a)所示的原始图像‘车牌’图像做方向θ=30?,长度L=20像素的匀速直线运动模糊,得到退化图像如图1(b)

1(a) 1(b) j=imread('车牌1.jpg'); figure(1),imshow(j); title('原图像'); len=20; theta=30; psf=fspecial('motion',len,theta); j1=imfilter(j,psf,'circular','conv'); figure,imshow(j1); title('PSF 模糊图像'); 图1(c)和1(d)分别为原图像和模糊图像的二次傅里叶变化

MATLAB小波变换指令及其功能介绍(超级有用)解读

MATLAB小波变换指令及其功能介绍 1 一维小波变换的 Matlab 实现 (1) dwt函数 功能:一维离散小波变换 格式:[cA,cD]=dwt(X,'wname') [cA,cD]=dwt(X,Lo_D,Hi_D)别可以实现一维、二维和 N 维DFT 说明:[cA,cD]=dwt(X,'wname') 使用指定的小波基函数 'wname' 对信号X 进行分解,cA、cD 分别为近似分量和细节分量; [cA,cD]=dwt(X,Lo_D,Hi_D) 使用指定的滤波器组 Lo_D、Hi_D 对信 号进行分解。 (2) idwt 函数 功能:一维离散小波反变换 格式:X=idwt(cA,cD,'wname') X=idwt(cA,cD,Lo_R,Hi_R) X=idwt(cA,cD,'wname',L)函数 fft、fft2 和 fftn 分 X=idwt(cA,cD,Lo_R,Hi_R,L) 说明:X=idwt(cA,cD,'wname') 由近似分量 cA 和细节分量 cD 经 小波反变换重构原始信号 X 。 'wname' 为所选的小波函数 X=idwt(cA,cD,Lo_R,Hi_R) 用指定的重构滤波器 Lo_R 和 Hi_R 经小波反变换重构原始信号 X 。 X=idwt(cA,cD,'wname',L) 和 X=idwt(cA,cD,Lo_R,Hi_R,L) 指定返回信号 X 中心附近的 L 个点。 2 二维小波变换的 Matlab 实现 二维小波变换的函数别可以实现一维、二维和 N 维 DFT 函数名函数功能

--------------------------------------------------- dwt2 二维离散小波变换 wavedec2 二维信号的多层小波分解 idwt2 二维离散小波反变换 waverec2 二维信号的多层小波重构 wrcoef2 由多层小波分解重构某一层的分解信号 upcoef2 由多层小波分解重构近似分量或细节分量 detcoef2 提取二维信号小波分解的细节分量 appcoef2 提取二维信号小波分解的近似分量 upwlev2 二维小波分解的单层重构 dwtpet2 二维周期小波变换 idwtper2 二维周期小波反变换 ----------------------------------------------------------- (1) wcodemat 函数 功能:对数据矩阵进行伪彩色编码函数 fft、fft2 和 fftn 分 格式:Y=wcodemat(X,NB,OPT,ABSOL) Y=wcodemat(X,NB,OPT) Y=wcodemat(X,NB) Y=wcodemat(X) 说明:Y=wcodemat(X,NB,OPT,ABSOL) 返回数据矩阵 X 的编码矩阵 Y ;NB 伪编码的最大值,即编码范围为 0~NB,缺省值 NB=16; OPT 指定了编码的方式(缺省值为 'mat'),即:别可以实现 一维、二维和 N 维 DFT OPT='row' ,按行编码 OPT='col' ,按列编码

图像运算的MATLAB实现

rice=imread(‘rice.png’); % 读入图像 I=double(rice); % 数据类型转换 J=I*0.43+60; % 像素点算术运算 rice2=uint8(J) % 数据类型转换subplot(1,2,1),imshow(rice); % 原图绘制subplot(1,2,2),imshow(rice2); % 计算后图像绘制

X = uint8([ 255 10 75; 44 225 100]); Y = uint8([ 50 20 50; 50 50 50 ]); Z = imdivide(X,Y)

I = imread('rice.png'); % 读入图像background = imopen(I,strel('disk',15)); % 图像开运算Ip = imdivide(I,background); % 图像除法运算imshow(Ip,[]) % 显示运算后的图像

I = imread('rice.png'); % 读入图像 J = imdivide(I,2); % 图像除以一个常数subplot(1,2,1), imshow(I) % 显示原始图像subplot(1,2,2), imshow(J) % 显示运算后的图像

I = imread('cameraman.tif'); % 读入图像J = imlincomb(2,I); % 灰度值放大imshow(J) % 显示运算后的图像

I = imread('cameraman.tif'); % 读入图像 J = uint8(filter2(fspecial('gaussian'), I)); % 图像滤波 K = imlincomb(1,I,-1,J,128); % K(r,c) = I(r,c) - J(r,c) + 128 % 图像相减后加上一个常数figure, imshow(K) % 显示运算后的图像

一个小波变换实例及matlab实现

1、 选择()t ?或?()? ω,使{}()k Z t k ?∈-为一组正交归一基; 2、 求n h 。 1,(),()n n h t t ??-= 或??()(2)/()H ω?ω?ω= 3、 由n h 求n g 。 1(1)n n n g h -=- 或()()i G e H t ωωωπ-= 4、 由n g ,()t ?构成正交小波基函数() t φ 1,()()n n t g t φ?-=∑ 或??()(/2)(/2)G φωω?ω= Haar 小波的构造 1)、选择尺度函数。 101 ()0t t ? ≤≤?=? ?其他 易知(n)t ?-关于n 为一正交归一基。 2)、求n h 1,(),()n n h t t ??- =()2t-n)t dt ??( 其中 1 1(2)220n n t t n ?+? ≤≤?-=?? ?其他 当n=0时, 1 1(2)20t t ?? 0≤≤?=?? ?其他 当n=1时,

1 11(21)20t t ?? ≤≤?-=?? ?其他 故,当n=0,n=1时 1()(2)0n n t t n ?? =0,=1 ??-=? ?其他 当n=0时, ()(2)t t n ???-1 120t ? 0≤≤?=?? ?其他 当n=1时, ()(2)t t n ???-1 1120t ? ≤≤?=?? ?其他 故 n h ()2t-n)t dt ?? (1/0n n ?=0,=1 ?=? ??其他 3)、求n g 。 11/0 (1)1/10n n n n g h n -?=??=-=-=?? ??其他 4)、求()t φ。 1,()()n n t g t φ?-=∑ =0-1,011,1()()g t g t ??-+ (2)(21)t t - =1 102 111 20t t ? ≤≤???- ≤≤?? ??? 其他

基于matlab数字图像处理与识别系统含程序

目录 第一章绪论 (2) 1.1 研究背景 (2) 1.2 人脸图像识别的应用前景 (3) 1.3 本文研究的问题 (4) 1.4 识别系统构成 (4) 1.5 论文的内容及组织 (5) 第二章图像处理的Matlab实现 (6) 2.1 Matlab简介 (6) 2.2 数字图像处理及过程 (6) 2.2.1图像处理的基本操作 (6) 2.2.2图像类型的转换 (7) 2.2.3图像增强 (7) 2.2.4边缘检测 (8) 2.3图像处理功能的Matlab实现实例 (8) 2.4 本章小结 (11) 第三章人脸图像识别计算机系统 (11) 3.1 引言 (11) 3.2系统基本机构 (12) 3.3 人脸检测定位算法 (13) 3.4 人脸图像的预处理 (18) 3.4.1 仿真系统中实现的人脸图像预处理方法 (19) 第四章基于直方图的人脸识别实现 (21) 4.1识别理论 (21) 4.2 人脸识别的matlab实现 (21) 4.3 本章小结 (22) 第五章总结 (22) 致谢 (23) 参考文献 (24) 附录 (25)

第一章绪论 本章提出了本文的研究背景及应用前景。首先阐述了人脸图像识别意义;然后介绍了人脸图像识别研究中存在的问题;接着介绍了自动人脸识别系统的一般框架构成;最后简要地介绍了本文的主要工作和章节结构。 1.1 研究背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除了它的重大理论价值外,也极具实用价值。 在进行人工智能的研究中,人们一直想做的事情就是让机器具有像人类一样的思考能力,以及识别事物、处理事物的能力,因此从解剖学、心理学、行为感知学等各个角度来探求人类的思维机制、以及感知事物、处理事物的机制,并努力将这些机制用于实践,如各种智能机器人的研制。人脸图像的机器识别研究就是在这种背景下兴起的,因为人们发现许多对于人类而言可以轻易做到的事情,而让机器来实现却很难,如人脸图像的识别,语音识别,自然语言理解等。如果能够开发出具有像人类一样的机器识别机制,就能够逐步地了解人类是如何存储信息,并进行处理的,从而最终了解人类的思维机制。 同时,进行人脸图像识别研究也具有很大的使用价依。如同人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。现在己有实用的计算机自动指纹识别系统面世,并在安检等部门得到应用,但还没有通用成熟的人脸自动识别系统出现。人脸图像的自动识别系统较之指纹识别系统、DNA鉴定等更具方便性,因为它取样方便,可以不接触目标就进行识别,从而开发研究的实际意义更大。并且与指纹图像不同的是,人脸图像受很多因素的干扰:人脸表情的多样性;以及外在的成像过程中的光照,图像尺寸,旋转,姿势变化等。使得同一个人,

基本数字(精选)图像处理算法的matlab实现

基本数字图像处理算法的matlab实现 1.数字图像处理的简单介绍 所谓数字图像就是把传统图像的画面分割成为像素的小的离散点,各像素的灰度值也是用离散值来表示的。 数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。 2.图像的显示与运算 2.1图像的显示 Matlab显示语句 imshow(I,[lowhigh])%图像正常显示 I为要显示的图像矩阵。,[lowhigh]为指定显示灰度图像的灰度范围。高于high的像素被显示成白色;低于low的像素被显示成黑色;介于high和low之间的像素被按比例拉伸后显示为各种等级的灰色。 subplot(m,n,p) 打开一个有m行n列图像位置的窗口,并将焦点位于第p个位置上。 2.2图像的运算 灰度化将彩色图像转化成为灰度图像的过程成为图像的灰度化处理。彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其一个像素点的变化范围为255种,所以在数字图像处理种一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。图像的灰度化处理可用两种方法来实现。

第一种方法使求出每个像素点的R、G、B三个分量的平均值,然后将这个平均值赋予给这个像素的三个分量。 第二种方法是根据YUV的颜色空间中,Y的分量的物理意义是点的亮度,由该值反映亮度等级,根据RGB和YUV颜色空间的变化关系可建立亮度Y与R、G、B三个颜色分量的对应:Y=0.3R+0.59G+0.11B,以这个亮度值表达图像的灰度值。 灰度是灰度级的函数,它表示图象中具有每种灰度级的象素的个数,反映图象中每种灰度出现的频率。 图像增强的目标是改进图片的质量,例如增加对比度,去掉模糊和噪声,修正几何畸变等;图像复原是在假定已知模糊或噪声的模型时,试图估计原图像的一种技术。 Matlab图像格式转换语句 rgb2gray(I) %从RGB图创建灰度图 imhist(I) %画灰度直方图 图像的线性变换 D B=f(D A)=f A*D A+f B Matlab源代码: I1=imread('F:\图片2.jpg'); subplot(2,2,1);imshow(I1);title('原图'); I2=rgb2gray(I1); %灰度化图像 subplot(2,2,2);imshow(I2);title('灰度化后图'); [M,N]=size(I2); subplot(2,2,3) [counts,x]=imhist(I2,60); %画灰度直方图 counts=counts/M/N; stem(x,counts);title('灰度直方图'); g=zeros(M,N);%图像增强

基于Matlab的遥感图像处理

基于Matlab的遥感图像处理 测绘工程1161641014 鲍家顺 摘要文章运用Matlab软件对遥感影像的不足之处进行处理改善,详细介绍了处理方法和处理的原理,对处理结果进行了比对分析,并进行了边缘检测与特征提取,论证了处理方法的可行性。 关键词图像处理;matlab ;均衡化;规定化;色彩平衡;边缘检测;特征提取 在获取遥感图像过程中,由于多种因素的影响,会导致图像质量的退化,为了改善图像质量,突出遥感图像中的某些信息,提高图像的视觉效果,需要对图像进行各方面的处理,如分段线形拉伸,对数变换,直方图规定化、正态化,图像滤波,纹理分析及目标检测等。通过图像处理可以去除图像中的噪声,增强感兴趣的目标和周围背景图像间的反差,有选择地突出便于人或电脑分析的信息,抑制一些无用的信息,强调出图像的边缘,增强图像的识别方便性,从而进行边缘检测和特征提取。图像写出函数,显示图像函数有image ( ) 、inshow ( ) 等。[2 ]Matlab 图像处理工具箱处理工具提供了imhist () 函数来计算和显示图像的直方图, 提供了直方图均衡化的函数histeq() 、边缘检测函数edge ( ) 、腐蚀函数imerode () 、膨胀函数imdilate () 及二值图像转换函数im2bw () 等。文中实验数据采用的是桂林市区灰度遥感图像,宽度为1024 像素,高度为713 像素。 文件读入: 讲workspace切入到图片所在图层: Cd d:\ 读入图片: [x,cmap]=imread('m.PNG'); %将图片读入转换为矩阵 clf;imshow(x); %显示图片 原始图片

相关文档
最新文档