动态模糊图像复原MATLAB程序

动态模糊图像复原MATLAB程序
动态模糊图像复原MATLAB程序

1、退化程序

clc;

clear all;

close all;

I=imread('F:\mmw\B1\图2.jpg');%读图

figure;

subplot(4,3,1);

imshow(I);

title('原图像');

LEN=30;%运动长度30

THETA=30;%运动角度30

% LEN=60;

% THETA=60;

n=2;

for i=1:3

for j=1:3

PSF=fspecial('motion',LEN*i,THETA*j);%退化并研究运动角度和长度对图片模糊程度的影响

PSF=fspecial('motion',LEN,THETA);

Blurred=imfilter(I,PSF,'circular','conv');

subplot(4,3,n);

imshow(uint8(Blurred));

title('模糊化');

hold on

n=n+1;

end

end

%imwrite(Blurred,'模糊∠60长60.png');%保存图

2、运动角度的求解

%求解模糊运动角度matlab代码

close all;clc;clear all;

im=imread('F:\mmw\B1\模糊∠60长60.png');

img_gray=rgb2gray(im);%灰度化

img_fft=fftshift(fft2(img_gray));

N=abs(img_fft);

P=(N-min(min(N)))/(max(max(N))-min(min(N)))*225;

figure;

imshow(P);

title('频谱图(运动角度与光斑方向垂直)');

len=35;

theta=0;

PSF=fspecial('motion',len,theta);

B=imfilter(img_gray,PSF,'circular','conv');

subplot(121);imshow(B);

%模糊图像

B1=fft2(double(B));

B2=mat2gray(log(abs(B1)));

subplot(122);imshow(B2);

%模糊图像的频谱图

C=sum(B2,1);

%对频谱图求列和

[m,n]=size(C); x=0:1:n-1; y=C;

figure,plot(x,y);title('频谱列和曲线图1') %绘制频谱列和曲线图

3、运动长度算法

%求解模糊运动长度matlab代码:

im=imread('F:\mmw\B1\模糊∠60长60.png'); img_gray=rgb2gray(im);%灰度化

h=fspecial('sobel');%sobel边缘检测

img_double=double(img_gray);

J=conv2(img_double,h,'same');

IP=abs(fft2(J));

S=fftshift(real(ifft2(IP)));

figure;plot(S);

title('模糊运动长度');

4、噪声分析

%噪声分析

clc;

clear all

im=imread('F:\mmw\B1\图1.png');

[m,n,h]=size(im);

f11=ones(192,162,3);

f22=ones(130,130,3);

f33=ones(100,100,3);

f44=ones(70,70,3);

for i=1:190

for j=1:162

for k=1:3

f11(i,j,k)=im(i,j,k);

end

end

end

for i=1:130

for j=501:630

fork=1:3;

f22(i,j-500,k)=im(i,j,k);

end

end

for i=721:870

for j=11:170

for k=1:3

f33(i-720,j-10,k)=im(i,j,k);

end

end

end

for i=761:830

for j=561:630

for k=1:3

f33(i-760,j-560,k)=im(i,j,k);

end

end

end

figure;

subplot(221),hist(f11,100);

subplot(222),hist(f22,100);

subplot(223),hist(f33,100);

subplot(224),hist(f44,100);

title('噪声分析2');

5、去噪还原

clc;

clear all;

close all;

I=imread('F:\mmw\B1\图1.png');%读图

Len=60;

Theta=60;

PSF=fspecial('motion',Len,Theta); %模糊化

BlurredA=imfilter(I,PSF,'circular','conv');

wnr1=deconvwnr(BlurredA,PSF);%维纳滤波

BlurredD=imfilter(I,PSF,'circ','conv');

INITPSF=ones(size(PSF));

[K DePSF]=deconvblind(BlurredD,INITPSF,30);%盲去卷积法BlurredB=imfilter(I,PSF,'conv');

v=0.02;

Blurred_I_Noisy=imnoise(BlurredB,'gaussian',0,v);

NP=v*prod(size(I));

J=deconvreg(Blurred_I_Noisy,PSF,NP);%最小二乘法BlurredC=imfilter(I,PSF,'symmetric','conv');

v=0.002;

BlurredNoisy=imnoise(BlurredC,'gaussian',0,v);

Luc=deconvlucy(BlurredNoisy,PSF,5);%L_Rl滤波

subplot(221);imshow(I);title('原图');

subplot(222);imshow(BlurredA);title('模糊化');

%subplot(233);imshow(wnr1);title('维纳滤波');

subplot(223);imshow(J);title('最小二乘法

');imwrite(J,'min_recover1.png');

subplot(224);imshow(Luc);title('L_R法

');imwrite(Luc,'LR_recover1.png');

6、截取部分图片进行对比程序

clear all;clc;

a=imread('F:\mmw\B1\模糊∠60长60.png');

%未处理质量较差图像

b=a([64:120],[67:126]);

a=imread('F:\mmw\min_recover1.png');

%算法处理后质量较好图象

c=a([64:120],[67:126]);

%%从eyechart3中截取测试参考图象,截取部分需要进行缩放------------------%%使之与eyechart1,eyechart2截取部分大小匹配-----------------------a=imread('F:\mmw\B1\图2.jpg');

%高清晰参考图象

d=a([64:120],[67:126]);

e=imresize(d,[length(b(:,1)),length(b(1,:))],'bicubic');

%调整

imwrite(b,'area_模糊∠60长60.png');

imwrite(c,'area_最小二乘法复原图.png');

imwrite(e,'area_图2.png');

subplot(1,3,1);

imshow(e);

title('模糊∠60长60截取参考');

hold on;

subplot(1,3,2);

imshow(b);

title('eyechart1截取部分');

hold on;

subplot(1,3,3);

imshow(c);

title('eyechart2截取部分');

7、模糊系数、质量指数、PSNR的计算(评价)

clc;

clear;

PSNRenable=1; %PSNR计算使能,为0不计算,为1,计算

KBlurenable=1; %模糊系数KBlur计算使能,为0不计算,为1,计算

Qenable=1; %质量指数Q计算使能,为0不计算,为1,计算

for m=1:2

imsrcnamehead='area_模糊∠60长60'; %源图象文件名头

imsrcnameext='png'; %源图象文件名扩展

if m==1 %以area_eyechart1.bmp为测试图象

imdstname=strcat('area_图2','.',imsrcnameext);%污染图象文件名,可修改elseif m==2%以area_eyechart2.bmp为测试图象

imdstname=strcat('area_最小二乘法复原图','.',imsrcnameext);%污染图象文件名,可修改

end

%--------------------------------------------------------------------------

iminfo=imfinfo(strcat(imsrcnamehead,'.',imsrcnameext));%源图象信息读取

imsrc=imread(strcat(imsrcnamehead,'.',imsrcnameext)); %源图象读取imdst=imread(imdstname,imsrcnameext); %污染图象读取

doubleimsrc=double(imsrc); %转换为浮点类型

doubleimdst=double(imdst); %转换为浮点类型

%----------------------------------------------------源图象和污染图象读取

W=iminfo.Width; %图象宽

H=iminfo.Height; %图象高

%----------------------------PSNR计算

--------------------------------------

if PSNRenable==1

PSNR=0.0; %PSNR赋初值

for j=1:H

for i=1:W

PSNR=PSNR+double((doubleimsrc(j,i)-doubleimdst(j,i))*(doubleimsrc(j,i )-doubleimdst(j,i)));

end

end

PSNR=PSNR/W/H;

PSNR=10*log10(255*255/PSNR);

%---------------------------PSNR计算完毕

-----------------------------------

end

%-------------------------模糊系数KBlur计算

--------------------------------

if KBlurenable==1

Sin=0.0; %Sin赋初值

Sout=0.0;

for i=2:W-1

t=doubleimsrc(j-1,i+1)+doubleimsrc(j+1,i-1)-doubleimsrc(j-1,i-1)-doub leimsrc(j+1,i+1);

if t<0

t=-t;

end

Sin=Sin+t; %源图象邻域边缘能量计算

t=doubleimdst(j-1,i+1)+doubleimdst(j+1,i-1)-doubleimdst(j-1,i-1)-doub leimdst(j+1,i+1);

if t<0

t=-t;

end

end

end

Sout=Sout+t; %污染图象邻域边缘能量计算

KBlur=Sout/Sin;

end

%-------------------------------KBlur计算完毕

------------------------------

%-------------------------------质量指数Q计算

------------------------------

if Qenable==1

Q=0.0; %Q赋初值

Qnum=0; %图象以7X7块大小计算每块的Q,逐象素的移动块窗口,这里Qnum为块数量的计数

for j=4:H-3

for i=4:W-3

midsrc=0.0;

middst=0.0;

varsrc=0.0;

vardst=0.0; %源图象和污染图象块内的平均值和方差赋初值

varsrcdst=0.0;%源图象和污染图象块内的协方差赋初值

for n=-3:3

for m=-3:3

midsrc=midsrc+doubleimsrc(j+n,i+m);

middst=middst+doubleimdst(j+n,i+m);

end

end

midsrc=midsrc/49;

middst=middst/49;

%%源图象和污染图象块内的平均值计算----------------------------------

for n=-3:3

varsrc=varsrc+(doubleimsrc(j+n,i+m)-midsrc)*(doubleimsrc(j+n,i+m)-mid src);

vardst=vardst+(doubleimdst(j+n,i+m)-middst)*(doubleimdst(j+n,i+m)-mid dst);

varsrcdst=varsrcdst+(doubleimsrc(j+n,i+m)-midsrc)*(doubleimdst(j+n,i+ m)-middst);

end

end

varsrc=varsrc/48;

vardst=vardst/48;

varsrcdst=varsrcdst/48;

if((varsrc+vardst)*(midsrc*midsrc+middst*middst))~=0%分母不为零的块才计算质量指数Q

Q=Q+4*varsrcdst*midsrc*middst/((varsrc+vardst)*(midsrc*midsrc+middst* middst));

%%源图象和污染图象块内Q计算完毕------------------------------------

Qnum=Qnum+1; %块计数加1

end

end

end

Q=Q/Qnum;

end

end

Q

PSNR

KBlur

运动模糊图像复原算法实现及应用

任务书 1、课程设计目的: 1)提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。 2)熟悉掌握一门计算机语言,可以进行数字图像应用处理的开发设计。 2、课程设计的题目:运动模糊图像复原算法实现及应用 1)创建一个仿真运动模糊PSF来模糊一幅图像(图像选择原理)。 2)针对退化设计出复原滤波器,对退化图像进行复原(复原的方法自定)。 3)对退化图像进行复原,显示复原前后图像,对复原结果进行分析,并评价复原算法。 3、课程设计方案制定: 1)程序运行环境是Windows 平台。 2)开发工具选用matlab、VC++、VB、C#等,建议选用matlab作为编程开发工具,可以达到事半功倍的效果、并降低编程难度。 3)以组件化的思想构建整个软件系统,具体的功能模块根据选定的不同题目做合理的划分。 4、课程设计的一般步骤: 1)选题与搜集资料:选择课题,进行系统调查,搜集资料。 2)分析与设计:根据搜集的资料,进行功能分析,并对系统功能与模块划分等设计。 3)程序设计:掌握的语言,编写程序,实现所设计的功能。 4)调试与测试:自行调试程序,同学之间交叉测试程序,并记录测试情况。 5)验收与评分:指导教师对每个成员开发对的程序进行综合验收,综合设计报告,根据课程设计成绩的判定方法,评出成绩。 5、要求

1)理解各种图像处理方法确切意义。 2)独立进行方案的制定,系统结构设计合理。 3)程序开发时,则必须清楚主要实现函数的目的和作用,需要在程序书写时做适当的注释。 目录 摘要 (2) 一、概述 (3) 1.1选题背景 (3) 1.2课程设计目的 (4) 1.3设计内容 (5) 二、图像退化与复原 (6) 2.1图像退化与复原的定义 (6) 2.2图像退化模型 (7) 2.3运动模糊图像复原的方法 (7) 2.3.1逆滤波复原法 (8) 2.3.2维纳滤波的原理 (9) 三、运动模糊图象复原的matlab实现 (10) 3.1维纳滤波复原 (10) 3.2约束最小二乘滤波复原 (10) 3.3 运动模糊图像复原实例 (11) 四、课程设计总结与体会 (14)

基于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数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n 默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1]A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,Val1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Emptyor not,Mode:lossy orlossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。

基于模糊控制的速度跟踪控制问题(C语言以及MATLAB仿真实现)

基于模糊控制的速度控制 ——地面智能移动车辆速度控制系统问题描述 利用模糊控制的方法解决速度跟踪问题,即已知期望速度(desire speed),控制油门(throttle output)和刹车(brake output)来跟踪该速度。已知输入:车速和发动机转速(值可观测)。欲控制刹车和油门电压(同一时刻只有一个量起作用)。 算法思想 模糊控制器是一语言控制器,使得操作人员易于使用自然语言进行人机对话。模糊控制器是一种容易控制、掌握的较理想的非线性控制器,具有较佳的适应性及强健性(Robustness)、较佳的容错性(Fault Tolerance)。利用控制法则来描述系统变量间的关系。不用数值而用语言式的模糊变量来描述系统,模糊控制器不必对被控制对象建立完整的数学模式。 Figure 1模糊控制器的结构图 模糊控制的优点: (1)模糊控制是一种基于规则的控制,它直接采用语言型控制规则,出发点是现场操作人员的控制经验或相关专家的知识,在设计中不需要建立被控对象的精确的数学模型,因而使得控制机理和策略易于接受与理解,设计简单,便于应用。 (2)由工业过程的定性认识出发,比较容易建立语言控制规则,因而模糊控制对那些数学模型难以获取,动态特性不易掌握或变化非常显著的对象非常适用。 (3)基于模型的控制算法及系统设计方法,由于出发点和性能指标的不同,容易导致较大差异;但一个系统语言控制规则却具有相对的独立性,利用这些控制规律间的模糊连接,容易找到折中的选择,使控制效果优于常规控制器。 (4)模糊控制是基于启发性的知识及语言决策规则设计的,这有利于模拟人工控制的过程和方法,增强控制系统的适应能力,使之具有一定的智能水平。 简化系统设计的复杂性,特别适用于非线性、时变、模型不完全的系统上。 模糊控制的缺点

维纳维纳滤波实现模糊图像恢复

维纳滤波实现模糊图像恢复 摘要 维纳滤波器是最小均方差准则下的最佳线性滤波器,它在图像处理中有着重要的应用。本文主要通过介绍维纳滤波的结构原理,以及应用此方法通过MA TLAB 函数来完成图像的复原。 关键词:维纳函数、图像复原 一、引言 在人们的日常生活中,常常会接触很多的图像画面,而在景物成像的过程中有可能出现模糊,失真,混入噪声等现象,最终导致图像的质量下降,我们现在把它还原成本来的面目,这就叫做图像还原。引起图像的模糊的原因有很多,举例来说有运动引起的,高斯噪声引起的,斑点噪声引起的,椒盐噪声引起的等等,而图像的复原也有很多,常见的例如逆滤波复原法,维纳滤波复原法,约束最小二乘滤波复原法等等。它们算法的基本原理是,在一定的准则下,采用数学最优化的方法从退化的图像去推测图像的估计问题。因此在不同的准则下及不同的数学最优方法下便形成了各种各样的算法。而我接下来要介绍的算法是一种很典型的算法,维纳滤波复原法。它假定输入信号为有用信号与噪声信号的合成,并且它们都是广义平稳过程和它们的二阶统计特性都已知。维纳根据最小均方准则,求得了最佳线性滤波器的的参数,这种滤波器被称为维纳滤波。 二、维纳滤波器的结构 维纳滤波自身为一个FIR 或IIR 滤波器,对于一个线性系统,如果其冲击响应为()n h ,则当输入某个随机信号)(n x 时, Y(n)=∑-n )()(m n x m h 式(1) 这里的输入 )()()(n v n s n x += 式(2) 式中s(n)代表信号,v(n)代表噪声。我们希望这种线性系统的输出是尽可能地逼近s(n)的某种估计,并用s^(n)表示,即 )(?)(y n s n = 式(3) 因而该系统实际上也就是s(n)的一种估计器。这种估计器的主要功能是利用当前的观测值x(n)以及一系列过去的观测值x(n-1),x(n-2),……来完成对当前信号值的某种估计。维纳滤波属于一种最佳线性滤波或线性最优估计,是一最小均方误差作为计算准则的一种滤波。设信 号的真值与其估计值分别为s(n)和)(?n s ,而它们之间的误差 )(?)()(e n s n s n -= 式(4) 则称为估计误差。估计误差e(n)为可正可负的随机变量,用它的均方值描述误差的大小显然

【精选】运动模糊图像复原

数字图象处理实验报告 2011年5月5日 目录 1 绪论 (3) 2、图像退化与复原 (4) 2.1 图像降质的数学模型 (4) 2.2匀速直线运动模糊的退化模型 (5) 2.3点扩散函数的确定 (7)

2.3.1典型的点扩散函数 (7) 2.3.2运动模糊点扩散函数的离散化 (8) 3、运动模糊图象的复原方法及原理 (9) 3.1逆滤波复原原理 (9) 3.2维纳滤波复原原理 (10) 3.3 有约束最小二乘复原原理 (11) 4、运动模糊图像复原的实现 (12) 4.1 运动模糊图像复原的MATLAB实现 (13) 4.2 复原结果比较 (16) 实验小结 (16) 参考文献 (17) 前言 在图象成像的过程中,图象系统中存在着许多退化源。一些退化因素只影响一幅图象中某些个别点的灰度;而另外一些退化因素则可以使一幅图象中的一个空间区域变得模糊起来。前者称为点退化,后者称为空间退化。图象复原的过程无论是理论分析或是数值计算都有特定的困难。但由于图象复原技术在许多领域的广泛应用,因而己经成为迅速兴起的研究热点。 图象复原就是研究如何从所得的变质图象中复原出真实图象,或说是研究如何从获得的信息中反演出有关真实目标的信息。造成图象变质或者说使图象模糊的原因很多,如果是因为在摄像时相机和被摄景物之间有相对运动

而造成的图象模糊则称为运动模糊。所得到图象中的景物往往会模糊不清,我们称之为运动模糊图象。运动模糊图象在日常生活中普遍存在,给人们的实际生活带来了很多不便。作为一个实用的图象复原系统,就得提供多种复原算法,使用户可以根据情况来选择最适当的算法以得到最好的复原效果。 图象复原关键是要知道图象退化的过程,即要知道图象退化模型,并据此采取相反的过程以求得原始(清晰)象。由于图象中往往伴随着噪声,噪声的存在不仅使图象质量下降,而且也会影响了图象的复原效果。从上面论述可以知道,运动造成图象的退化是非常普遍的现象,所以对于退化后的图象进行复原处理非常具有现实意义。图象复原的目的就是根据图象退化的先验知识,找到一种相应的反过程方法来处理图象,从而尽量得到原来图象的质量,以满足人类视觉系统的要求,以便观赏、识别或者其他应用的需要。 1、绪论 数字图象处理研究有很大部分是在图象恢复方面进行的,包括对算法的研究和针对特定问题的图象处理程序的编写。数字图象处理中很多值得注意的成就就是在这个方面取得的。 在图象成像的过程中,图象系统中存在着许多退化源。一些退化因素只影响一幅图象中某些个别点的灰度;而另外一些退化因素则可以使一幅图象中的一个空间区域变得模糊起来。前者称为点退化,后者称为空间退化。此外还有数字化、显示器、时间、彩色,以及化学作用引起的退化。总之,使图象发生退化的原因很多,但这些退化现象都可用卷积来描述,图象的复原过程就可以看成是一个反卷积的问题。反卷积属于数学物理问题中的一类“反问题”,反问题的一个共同的重要属性是其病态,即其方程的解不是连续地依赖于观测数据,换句话说,观测数据的微小变动就可能导致解的很大变动。因此,由于采集图象受噪声的影响,最后对于图象的复原结果可能偏离真实图象非常远。由于以上的这些特性,图象复原的过程无论是理论分析或是数值计算都有特定的困难。但由于图象复原技术在许多领域的广泛应用,因而己经成为迅速兴起的研究热点。 本次实验主要在PSF对图像进行运动模糊退化处理的基础上,采用逆滤波、维纳滤波和最小二乘滤波来实现图像的复原。

(完整版)数字图像处理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 图像处理报告

《 MATLAB 实践》 课程设计 学生姓名: 学号: 专业班级: 指导教师: 二○○九年三月十三日

1.设计目的…………………………………………………第 3页 2.题目分析…………………………………………………第3 页 3.总体设计…………………………………………………第4 页 4.具体设计…………………………………………………第 6页 5.结果分析…………………………………………………第 20页 6.心得体会…………………………………………………第 20页 7.参考书目…………………………………………………第 20页

1 课程设计的目的: 综合运用MATLAB工具箱实现图像处理的GUI程序设计。 2、题目分析 课程设计的基本要求 1)熟悉和掌握MATLAB 程序设计方法 2)掌握MATLAB GUI 程序设计 3)学习和熟悉MATLAB图像处理工具箱 4)学会运用MATLAB工具箱对图像进行处理和分析 课程设计的内容 学习MATLAB GUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的Photoshop 。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。 以下几点是程序必须实现的功能。 1)图像的读取和保存。 2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。 3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。 4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。 5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。比较去噪效果。

基于matlab的模糊控制器的设计与仿真

基于MATLAB的模糊控制器的设计与仿真 摘要:本文对模糊控制器进行了主要介绍。提出了一种模糊控制器的设计与仿真的实现方法,该方法利用MA TLB模糊控制工具箱中模糊控制器的控制规则和隶属度函数,建立模型,并进行模糊控制器设计与仿真。 关键词:模糊控制,隶属度函数,仿真,MA TLAB 1 引言 模糊控制是一种特别适用于模拟专家对数学模型未知的较复杂系统的控制,是一种对模型要求不高但又有良好控制效果的控制新策略。与经典控制和现代控制相比,模糊控制器的主要优点是它不需要建立精确的数学模型。因此,对一些无法建立数学模型或难以建立精确数学模型的被控对象,采用模糊控制方法,往往能获得较满意的控制效果。 模糊控制器的设计比一般的经典控制器如PID控制器要复杂,但如果借助MATLAB则系统动态特性良好并有较高的稳态控制精度,可提高模糊控制器的设计效率。本文在MATLAB环境下针对某个控制环节对模糊控制系统进行了设计与仿真。 2 模糊控制器简介 模糊控制器是一种以模糊集合论,模糊语言变量以及模糊推理为数学基础的新型计算机控制方法。显然,模糊控制的基础是模糊数学,模糊控制的实现手段是计算机。本章着重介绍模糊控制的基本思想,模糊控制的基本原理,模糊控制器的基本设计原理和模糊控制系统的性能分析。 随着科学技术的飞速发展,在那些复杂的,多因素影响的严重非线性、不确定性、多变性的大系统中,传统的控制理论和控制方法越来越显示出局限性。长期以来,人们期望以人类思维的控制方案为基础,创造出一种能反映人类经验的控制过程知识,并可以达到控制目的,能够利用某种形式表现出来。而且这种形式既能够取代那种精密、反复、有错误倾向的模型建造过程,又能避免精密的估计模型方程中各种方程的过程。同时还很容易被实现的,简单而灵活的控制方式。于是模糊控制理论极其技术应运而生。 3 模糊控制的特点 模糊控制是以模仿人类人工控制特点而提出的,虽然带有一定的模糊性和主观性,但往往是简单易行,而且是行之有效的。模糊控制的任务正是要用计算机来模拟这种人的思维和决策方式,对这些复杂的生产过程进行控制和操作。所以,模糊控制有以下特点: 1)模糊控制的计算方法虽然是运用模糊集理论进行的模糊算法,但最后得到的控制规律是确定

matlab模糊图像恢复数字图像处理

实验六 模糊图像恢复 一、实验目的 本实验是一个综合性实验,要求学生巩固学习多个知识点和内容,主要有: 1、理解掌握运动图像的退化模型; 2、掌握维纳滤波法的原理和实现方法; 3、在不同的噪声和点扩散函数参数下进行恢复,并比较结果; 4、通过分析和实验得出相应的结论。 二、实验准备 1、运动模糊退化模型:运动模糊是图像退化的一种,可以用数学表达式刻画出来。对线性移(空)不变系统,退化模型可表示为:g(x,y)=h(x,y)*f(x,y)+n(x,y)。对匀速直线运动而言,退化图像为: ()()()[]?--=T dt t y y t x x f y x g 000,, 其中x 0(t)和y 0(t)分别表示x 和y 方向的运动分量。并假设退化系统是线性移不变的,光学成像过程是完善的,快门开关是瞬间完成的。 对上式进行傅立叶变换,则得频域表达式为 ()()()[]()()[]()[]()()()[]{}) ,(),(2exp ,2exp ,2exp ,,000000v u H v u F dt t vy t ux j v u F dt dxdy vy ux j t y y t x x f dxdy vy ux j y x g v u G T T =+-=???? ????+---=+-=??????+∞∞-+∞∞-+∞∞-+∞ ∞-πππ 其中 ()()()[]{}dt t vy t ux j v u H T ?+-=0002exp ,π 假设景物只在x 方向匀速运动,在T 时间内共移动距离是a ,即x 0(t)=at/T ,y 0(t)=0,则 ()()[]ua j ua ua T dt T at u j v u H T ππππ-=?? ???? -=?exp sin 2exp ,0 在Matlab 中可用滤波器卷积的方法仿真出运动模糊图像。

图像处理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,[]);

(完整word版)运动模糊图像复原开题报告

数字图像处理大作业 - 运动模糊图像复原 开题报告 小组成员:张博文、范桂峰、笪腾飞 一、研究意义 相机对物体成像时 ,由于平台的颤振,在曝光时间内成像器件与物体之间往往存在着相对运动 ,在像面上产生像移 ,因此拍出来的图像是被运动模糊后的图像。这种图像质量较差 ,对比度和分辨率均降低 ,需要进行恢复。 二、研究现状 如果这种相对运动属于平动,则可以把模糊过程看作一个线性位移不变的系统。因此 ,如果知道了系统的冲激响应 ,在这里是点扩展函数 ( PSF) ,就可以用来恢复图像。但是 ,模糊过程的点扩展函数往往是不知道的,因此图像恢复的关键就变成了如何推导点扩展函数。如 Marius Tico 从图像序列入手 ,通过一帧快速曝光未被运动模糊,但却因曝光不足而信噪比很低的图像,以及一帧曝光充足但被运动模糊了的图像来计算点扩展函数,然后恢复。但更多的研究还是集中在如何从单帧被模糊了的图像中找出点扩展函数,主要有2类 ,一类从空域直接入手,利用差分、相关等等各种方法计算,另一种则是通过图像变换后的频谱域中的零值点来计算,这些方法往往只能计算特殊运动形式的点扩展函数 ,主要是匀速直线运动,而且受噪声影响精度比较低。相机的振动通常比较复杂 ,这些方法的适用性受到限制,因此 ,需要找到一种能够不受运动形式和运动方向限制的计算模糊过程点扩展函数的方法。 一种方法是利用了利用经阈值化处理的Radon 变换估计模糊方法,通过微分自相关法估计模糊长度,最后应用带最优窗的维纳滤波进行图像复原,该算法能够较为精确地估算出运动模糊图像的模糊参数并取得了较好的恢复效果,提升了图像恢复的抗噪性能,具有实际参考价值。这是属于第一种空域处理方法。 另一种方法是运动模糊图像经傅立叶变换后在频域有频谱零点进行参数估计,通过霍夫变换初步求得运动模糊图像的点扩展函数,当估计出运动模糊图像的点扩展函数的参数后,用神经网络方法进行恢复。这种恢复模型可以对任意角

基于MATLAB的运动模糊图像恢复技术

基于MATLAB的运动模糊图像恢复技术 王洪珏 (温州医学院,浙江,温州) 摘要:MATLAB是当今流行的科学计算软件,它具有很强的数据处理能力。在其图像处理工具箱中有四个图像复原函数,本文就这些函数的算法原理、运用和恢复处理效果结合实力效果作简要对比讨论。 0前言 图像复原时图像处理中一个重要的研究课题。图像在形成、传输和记录的过程中,由于传感器的噪声、摄像机未对好焦、摄像机与物体相对运动、系统误差、畸变、噪声等因素的影响,使图像往往不是真实景物的完善影像。这种图像在形成、传输和记录过程中,由于成像系统、传输介质和设备的不完善,使图像质量下降的过程称为图像的退化。图像复原就是通过计算机处理,对质量下降的图像加以重建或恢复的过程。 图像复原过程一般为:找退化原因→建立退化模型→反向推演→图像复原 1算法产生概述 开发算法时,首先要创建图像退化的线性数学模型,接着选择准则函数,并以适当的数学形式表达,然后进行数学推演。推演过程中通常要进行表达形式(即空域形式、频域形式、矩阵-矢量形式或变换域形式)的相互转换,最后得到图像复原算式。 退化数学模型的空域、频域、矢量-矩阵表达形式分别是: g(x,y)=d(x,y)*f(x,y)+n(x,y) G(u,v)=D(u,v)〃F(u,v)+N(u,v) g=HF+n 其中:g(x,y)、d(x,y)、f(x,y)、n(x,y)分别为观测的退化图像、模糊函数、原图像、加性噪声,*为卷积运算符,(x=0,1,2,…,M-1),(y=0,1,2,…,N-1)。 2运动模糊的产生 景物与相机之间的相对运动通常会使相机所成的像存在运动模糊。对于线性移不变模糊,退化图像u0可以写成,u0=h*u+n,其中h为模糊核,*表示卷积,n为加性噪声。 由du/dt=0,文献[5]将这种运动模糊过程描述为波动方程:

图像运算的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) % 显示运算后的图像

实验五 图像复原

信息工程学院实验报告 课程名称:数字图像处理Array 实验项目名称:实验五图像复原实验时间: 班级:姓名:学号: 一、实验目的 1.了解图像退化/复原处理的模型; 2. 掌握图像复原的原理及实现方法; 3. 通过本实验掌握利用MATLAB编程实现图像的恢复。 4. 掌握matlab代码的调试方法,熟悉常见代码错误及改正方法。 二、实验步骤及结果分析 MATLAB图像处理工具箱包含四个图像复原函数,请参照教材第126页例6.8编程实现图像复原。 1.用点扩散(PSF)函数创建运动模糊图像,修改参数改变模糊程度。 a) 无噪声运动模糊图像 b) 有噪声运动模糊图像 程序代码: I=imread('cameraman.tif'); %读取图像 subplot(1,3,1); imshow(I,[]);%显示图像 title('原始图像'); PSF=fspecial('motion',25,11); %运动模糊函数,运动位移是25像素,角度是11 Blurred=imfilter(I,PSF,'conv','circular'); %对图像运动模糊处理 subplot(1,3,2); imshow(Blurred,[]);title('无噪声运动模糊图像'); %显示无噪声运动模糊图像 Noise=0.05*randn(size(I)); %正态分布的随机噪声 BlurredNoisy=imadd(Blurred,im2uint8(Noise));%对退化后的图像附加噪声 subplot(1,3,3); imshow(BlurredNoisy,[]);title('有噪声运动模糊图像'); %显示运动模糊且加噪声后图像 执行结果:

基本数字(精选)图像处理算法的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的实现 学号:0967118225 姓名:洪旭浩 同组人: 电脑编号: 实验时间:2010年6月4日星期一

数字图像处理实验报告 一、实验名称 图像处理的matlab 的实现 二、实验目的 1、了解Matlab 及其工具箱的基本使用方法 2、掌握使用Matlab 打开各种图像文件的方法 3、掌握使用Matlab 进行简单图像处理的方法 三、实验平台 Windows XP,Matlab 7.8.0(R2009a) 四、实验内容 一、直方图均衡化 直方图均衡化处理可将图像的灰度范围拉开,让灰度直方图在较大的动态范围内趋于一致。用图像),(y x f 的直方图代替灰度的分布密度函数)(f p f ,则直方图均衡化后的图像g 为: ?==f f du u p f T g 0)(][对于数字图像,设原图像的像素总数为N,灰度级的个数为L,第k 个灰度级出现的频数为k n 。若原图像),(y x f 在像素点),(y x 处的灰度为k r ,则直方图均衡化后的图像),(y x g 在),(y x 处的灰度k s 为: ∑===k l l k k N n r T s 0][MATLAB 图像处理工具箱提供了用于直方图均衡化的函数histep。histep 函数的语法格式为: J=histep(I,hgram) J=histep(I,n) [J,T]=histep(I,…) newmap=histep(X,map,hgram) newmap=histep(X,map) [newmap,T]=histep(X,…) 其中J=histep(I,hgram)将原始图像I 的直方图变成用户指定的向量hgram,hgram 中的各元素值域为[0,1]。 J=histep(I,n)指定直方图均衡化后的灰度级数n,默认值为64。 [J,T]=histep(I,…)返回能将图像I 的灰度直方图变换成图像J 的直方图的变换T。 newmap=histep(X ,map ,hgram)、newmap=histep(X ,map)和[newmap ,T]=histep(X,…)是针对索引色图像调色板的直方图均衡化。 1、使用以上语句,实现选定图像的直方图均衡化; 2、修改部分参数,观察不同参数下直方图均衡化的变化规律;

相关文档
最新文档