文档库 最新最全的文档下载
当前位置:文档库 › MATLAB图像增强总结程序

MATLAB图像增强总结程序

MATLAB图像增强总结程序
MATLAB图像增强总结程序

MATLAB图像增强程序举例

1.灰度变换增强程序:

% GRAY TRANSFORM

clc;

I=imread('pout.tif');

imshow(I);

J=imadjust(I,[0.3 0.7],[0 1],1); %transforms the walues in the %intensity image I to values in J by linealy mapping %values between 0.3 and 0.7 to values between 0 and 1. figure;

imshow(J);

J=imadjust(I,[0.3 0.7],[0 1],0.5); % if GAMMA is less than 1,the mapping si weighted to ward higher (brighter)

%output values.

figure;

imshow(J);

J=imadjust(I,[0.3 0.7],[0 1],1.5); % if GAMMA is greater than 1,the mapping si weighted toward lower (darker)

%output values.

figure;

imshow(J)

J=imadjust(I,[0.3 0.7],[0 1],1); % If TOP

figure;

imshow(J);

2.直方图灰度变换

%直方图灰度变换

[X,map]=imread('forest.tif');

I=ind2gray(X,map);%把索引图像转换为灰度图像

imshow(I);

title('原图像');

improfile%用鼠标选择一条对角线,显示线段的灰度值

figure;subplot(121)

plot(0:0.01:1,sqrt(0:0.01:1))

axis square

title('平方根灰度变换函数')

subplot(122)

maxnum=double(max(max(I)));%取得二维数组最大值

J=sqrt(double(I)/maxnum);%把数据类型转换成double,然后进行平方根变换%sqrt函数不支持uint8类型

J=uint8(J*maxnum);%把数据类型转换成uint8类型

imshow(J)

title('平方根变换后的图像')

3.直方图均衡化程序举例

% HISTGRAM EAQUALIZATION

clc;

% Clear command window

I=imread('tire.tif');

% reads the image in tire.tif into I

imshow(I);

% displays the intensity image I with 256 gray levels figure;

%creates a new figure window

imhist(I);

% displays a histogram for the intensity image I

J=histeq(I,64);

% transforms the intensity image I,returning J an intensity figure;

%image with 64 discrete levels

imshow(J);

figure;

imhist(J);

J=histeq(I,32);

%transforms the intensity image ,returning in % J an intensity figure;

%image with 32 discrete levels

imshow(J);

figure;

imhist(J);

4.直方图规定化程序举例

% HISTGRAM REGULIZATION

clc;

%Clear command window

I=imread('tire.tif');

%reads the image in tire.tif into I

J=histeq(I,32);

%transforms the intensity image I,returning in

%J an intensity image with 32 discrete levels

[counts,x]=imhist(J);

%displays a histogram for the intensity image I

Q=imread('pout.tif');

%reads the image in tire.tif into I

figure;

imshow(Q);

figure;

imhist(Q);

M=histeq(Q,counts);

%transforms the intensity image Q so that the

%histogram of the output image M approximately matches counts figure;

imshow(M);

figure;

imhist(M);

空域滤波增强部分程序

1.线性平滑滤波

I=imread('eight.tif');

J=imnoise(I,'salt & pepper',0.02);

subplot(221),imshow(I)

title('原图像')

subplot(222),imshow(J)

title('添加椒盐噪声图像')

K1=filter2(fspecial('average',3),J)/255;%应用3*3邻域窗口法subplot(223),imshow(K1)

title('3x3窗的邻域平均滤波图像')

K2=filter2(fspecial('average',7),J)/255;%应用7*7邻域窗口法subplot(224),imshow(K2)

title('7x7窗的邻域平均滤波图像')

2.中值滤波器

MATLAB中的二维中值滤波函数medfit2来进行图像中椒盐躁声的去除%IMAGE NOISE REDUCTION WITH MEDIAN FILTER

clc;

hood=3;%滤波窗口

[I,map]=imread('eight.tif');

imshow(I,map);

noisy=imnoise(I,'salt & pepper',0.05);

figure;

imshow(noisy,map);

filtered1=medfilt2(noisy,[hood hood]);

figure;

imshow(filtered1,map);

hood=5;

filtered2=medfilt2(noisy,[hood hood]);

figure;

imshow(filtered2,map);

hood=7;

filtered3=medfilt2(noisy,[hood hood]);

figure;

imshow(filtered3,map);

3. 4邻域8邻域平均滤波算法

% IMAGE NOISE REDUCTION WITH MEAN ALGORITHM clc;

[I,map]=imread('eight.tif');

noisy=imnoise(I,'salt & pepper',0.05);

myfilt1=[0 1 0;1 1 1;0 1 0];%4邻域平均滤波模版

myfilt1=myfilt1/9;%对模版归一化

filtered1=filter2(myfilt1,noisy);

imshow(filtered1,map);

myfilt2=[1 1 1;1 1 1;1 1 1];

myfilt2=myfilt2/9;

filtered2=filter2(myfilt2,noisy);

figure;

imshow(filtered2,map);

频域增强程序举例

1.低通滤波器

% LOWPASS FILTER

clc;

[I,map]=imread('eight.tif');

noisy=imnoise(I,'gaussian',0.05);

imshow(noisy,map);

myfilt1=[1 1 1;1 1 1;1 1 1];

myfilt1=myfilt1/9;

filtered1=filter2(myfilt1,noisy);

figure;

imshow(filtered1,map);

myfilt2=[1 1 1;1 2 1;1 1 1];

myfilt2=myfilt2/10;

filtered2=filter2(myfilt2,noisy); figure;

imshow(filtered2,map);

myfilt3=[1 2 1;2 4 2; 1 2 1]; myfilt3=filter2(myfilt3,noisy); figure;

imshow(filtered3,map);

2.布特沃斯低通滤波器图像实例I=imread('saturn.png');

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=20;

n1=floor(M/2);n2=floor(N/2);

for i=1:M;

for j=1:N;

d=sqrt((i-n1)^2+(j-n2)^2);

h=1/(1+0.414*(d/d0)^(2*n));

g(i,j)=h*g(i,j);

end

end

g=ifftshift(g);

g=uint8(real(ifft2(g)));

subplot(122),imshow(g)

title('三阶Butterworth滤波图像')

色彩增强程序举例

1.真彩色增强实例:%真彩色图像的分解

clc;

RGB=imread('peppers.png');

subplot(221),imshow(RGB)

title('原始真彩色图像')

subplot(222),imshow(RGB(:,:,1))

title('真彩色图像的红色分量')

subplot(223),imshow(RGB(:,:,2))

title('真彩色图像的绿色分量')

subplot(224),imshow(RGB(:,:,3))

2.伪彩色增强举例:

I=imread('cameraman.tif');

imshow(I);

X=grayslice(I,16);%thresholds the intensity image I using

%threshold values 1/16,2/16,…..,15/16,returning an indexed %image in X figure;

imshow(X,hot(16));

3.假彩色增强处理程序举例

[RGB]=imread('ghost.bmp');

imshow(RGB);

RGBnew(:,:,1)=RGB(:,:,3);

RGBnew(:,:,2)=RGB(:,:,1);

RGBnew(:,:,3)=RGB(:,:,2);

figure;

subplot(121);

imshow(RGB);

subplot(122);

imshow(RGBnew);

主要转载自:

https://www.wendangku.net/doc/037892035.html,/s/blog_488c87020100cice.htm l

matlab图像处理实验报告

图像处理实验报告 姓名:陈琼暖 班级:07计科一班 学号:20070810104

目录: 实验一:灰度图像处理 (3) 实验二:灰度图像增强 (5) 实验三:二值图像处理 (8) 实验四:图像变换 (13) 大实验:车牌检测 (15)

实验一:灰度图像处理题目:直方图与灰度均衡 基本要求: (1) BMP灰度图像读取、显示、保存; (2)编程实现得出灰度图像的直方图; (3)实现灰度均衡算法. 实验过程: 1、BMP灰度图像读取、显示、保存; ?图像的读写与显示操作:用imread( )读取图像。 ?图像显示于屏幕:imshow( ) 。 ?

2、编程实现得出灰度图像的直方图; 3、实现灰度均衡算法; ?直方图均衡化可用histeq( )函数实现。 ?imhist(I) 显示直方图。直方图中bin的数目有图像的类型决定。如果I是个灰度图像,imhist将 使用默认值256个bins。如果I是一个二值图像,imhist使用两bins。 实验总结: Matlab 语言是一种简洁,可读性较强的高效率编程软件,通过运用图像处理工具箱中的有关函数,就可以对原图像进行简单的处理。 通过比较灰度原图和经均衡化后的图形可见图像变得清晰,均衡化后的直方图形状比原直方图的形状更理想。

实验二:灰度图像增强 题目:图像平滑与锐化 基本要求: (1)使用邻域平均法实现平滑运算; (2)使用中值滤波实现平滑运算; (3)使用拉普拉斯算子实现锐化运算. 实验过程: 1、 使用邻域平均法实现平滑运算; 步骤:对图像添加噪声,对带噪声的图像数据进行平滑处理; ? 对图像添加噪声 J = imnoise(I,type,parameters)

基于MATLAB的图像复原

基于MATLAB的图像复原 摘要 随着信息技术的发展,数字图像像已经充斥着人们身边的任意一个角落。由于图像的传送、转换,或者其他原因,可能会造成图像的降质、模糊、变形、质量下降、失真或者其他情况的图像的受损。本设计就针对“图像受损”的问题,在MATLAB环境中实现了利用几何失真校正方法来恢复被损坏的图像。几何失真校正要处理的则是在处理的过程,由于成像系统的非线性,成像后的图像与原图像相比,会产生比例失调,甚至扭曲的图像。 图像复原从理论到实际的操作的实现,不仅能改善图片的视觉效果和保真程度,还有利于后续的图片处理,这对医疗摄像、文物复原、视频监控等领域都具有很重要的意义。 关键字:图像复原;MATLAB;几何失真校正

目录 摘要 (1) 1 MATLAB 6.x 信号处理 (1) 2 图像复原的方法及其应用 (13) 2.1 图像复原的方法 (13) 2.2 图像复原的应用 (14) 3 几何失真校正实现 (15) 3.1 空间变换 (15) 3.1.1 已知()y x r,和()y x s,条件下的几何校正 (16) 3.1.2 ()y x r,和()y x s,未知条件下的几何失真 (16) 3.2 灰度插值 (17) 3.3 结果分析 (19) 参考文献 (20) 附录 (21)

1 MATLAB 6.x信号处理 (1)对MATLAB 6 进行了简介,包括程序设计环境、基本操作、绘图功能、M文件以及MATLAB 6 的稀疏矩阵这五个部分。MATLAB的工作环境有命令窗口、启动平台、工作空间、命令历史记录与当前路径窗口这四部分。M文件的编辑调试环境有四个部分的设置,分别是:Editor/Debugger的参数设置,字体与颜色的设置,显示方式的设置,键盘与缩进的设置。MATLAB采用路径搜索的方法来查找文件系统的M文件,常用的命令文件组在MATLAB文件夹中,其他M文件组在各种工具箱中。基本操作主要是对一些常用的基本常识、矩阵运算及分解、数据分析与统计这三方面进行阐述。MATLAB的基本操作对象时矩阵,所以对于矩阵的输入、复数与复数矩阵、固定变量、获取工作空间信息、函数、帮助命令进行了具体的描述。矩阵运算是MATLAB的基础,所有参与运算的数都被看做为矩阵。MATLAB中共有四大矩阵分解函数:三角分解、正交分解、奇异值分解以及特征值分解。数据分析与统计包括面向列的数据分析、数据预处理、协方差矩阵与相关系数矩阵、曲线拟合这四部分。MATLAB 中含有丰富的图形绘制寒素,包括二维图形绘制、三维图像绘制以及通用绘图工具函数等,同时还包括一些专业绘图函数,因此其具有很强大的绘图功能。简单的二维曲线可以用函数plot来绘制,而简单的三维曲线图则用plot3来绘制。在绘制图形时,MATLAB自动选择坐标轴表示的数值范围,并用一定的数据间隔标记做标注的数据,当然自己也可以指定坐标轴的范围与数据间隔。专业的绘图函数有绘梯度图制条形图、饼图、三维饼图、箭头图、星点图、阶梯图以及等高线。M文件时用户自己通过文本编辑器或字处理器生成的,且其之间可以相互调用,用户可以根据自己的需要,自我编写M文件。M文件从功能上可以分为底稿文件与函数文件两类,其中底稿文件是由一系列MATLAB语句组成的,而函数文件的第一行必须包含关键字“function”,二者的区别在于函数文件可以接受输入参数,并可返回输出参数,而底稿文件不具备参数传递的功能;在函数文件中定义及使用的变量大都是局部变量,只在本函数的工作区内有效,一旦退出该函数,即为无效变量,而底稿文件中定义或使用的变量都是全局变量,在退出文件后仍为有效变量。稀疏矩阵是一种特殊类型的矩阵,

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

基于MATLAB图像处理报告.docx

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

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

主成分分析报告matlab程序

Matlab编程实现主成分分析 .程序结构及函数作用 在软件Matlab中实现主成分分析可以采取两种方式实现:一是通过编程来实现;二是直接调用Matlab种自带程序实现。下面主要主要介绍利用Matlab的矩阵计算功能编程实现主成分分析。 1程序结构 2函数作用 Cwstd.m——用总和标准化法标准化矩阵 Cwfac.m——计算相关系数矩阵;计算特征值和特征向量;对主成分进行排序;计算各特征值贡献率;挑选主成分(累计贡献率大于85%),输出主成分个数;计算主成分载荷 Cwscore.m——计算各主成分得分、综合得分并排序 Cwprint.m——读入数据文件;调用以上三个函数并输出结果

3.源程序 3.1 cwstd.m总和标准化法标准化矩阵 %cwstd.m,用总和标准化法标准化矩阵 function std=cwstd(vector) cwsum=sum(vector,1); %对列求和 [a,b]=size(vector); %矩阵大小,a为行数,b为列数 for i=1:a for j=1:b std(i,j)= vector(i,j)/cwsum(j); end end 3.2 cwfac.m计算相关系数矩阵 %cwfac.m function result=cwfac(vector); fprintf('相关系数矩阵:\n') std=CORRCOEF(vector) %计算相关系数矩阵 fprintf('特征向量(vec)及特征值(val):\n') [vec,val]=eig(std) %求特征值(val)及特征向量(vec) newval=diag(val) ; [y,i]=sort(newval) ; %对特征根进行排序,y为排序结果,i为索引fprintf('特征根排序:\n') for z=1:length(y) newy(z)=y(length(y)+1-z); end fprintf('%g\n',newy) rate=y/sum(y); fprintf('\n贡献率:\n') newrate=newy/sum(newy) sumrate=0; newi=[]; for k=length(y):-1:1 sumrate=sumrate+rate(k); newi(length(y)+1-k)=i(k); if sumrate>0.85 break; end end %记下累积贡献率大85%的特征值的序号放入newi中fprintf('主成分数:%g\n\n',length(newi)); fprintf('主成分载荷:\n') for p=1:length(newi)

MATLAB课程设计-图像处理完整版

MATLAB课程设计 设计题目:应用图像处理 班级: 学号: 姓名: 指导老师: 设计时间:2013年4月8号-4月14号

摘要 21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。图像处理,是用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。所谓数字图像处理[7]就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。实质上是一段能够被计算机还原显示和输出为一幅图像的数字码。 关键词:DCT变换;图像压缩;真色彩增强;平滑;锐化;直方图均衡; 灰度变换;滤波;M文件的使用 目录 摘要………………………………………………………………I 1 概述……………………………………………………………II 2 课程设计任务及要求...............................III 2.1.1设计任务 2.1.2设计要求 3 系统设计原理 (Ⅳ)

3.1 DCT图像压缩原理 3.2 真彩色增强 3.2.1平滑 3.2.2锐化 3.3 灰度变换(直方图均衡化) 3.4 图像滤波 3.4.1中值滤波器 3.4.2维纳滤波器 4 程序代码及实验结果与分析 (Ⅵ) 4.1 DCT图像压缩 4.1.1程序代码 4.1.2实验结果 4.1.3结果分析 4.2 真彩色增强 4.2.1平滑程序代码 4.2.2实验结果 4.2.3结果分析 4.2.4锐化程序代码 4.2.5实验结果 4.2.6结果分析 4.3 灰度变换(直方图均衡化) 4.3.1程序代码

基于MATLAB的图像恢复算法研究

中北大学 课程设计说明书 学生姓名:学号: 学生姓名:学号: 学生姓名:学号: 学院:信息商务学院 专业:电子信息工程 题目:信息处理综合实践: 基于MATLAB的图像恢复算法研究 指导教师:职称: 年月日

中北大学 课程设计任务书 13/14 学年第一学期 学院:信息商务学院 专业:电子信息工程 学生姓名:学号: 学生姓名:学号: 学生姓名:学号: 课程设计题目:信息处理综合实践: 于MATLAB的图像恢复算法研究起迄日期: 课程设计地点:电子信息科学与技术专业实验室 指导教师: 系主任: 下达任务书日期: 年月日

目录 摘要: (6) 1.图像复原的概念 (6) 1.1图像复原的定义 (6) 1.2 图象恢复与图象增强的异同 (6) 1.3 图象退化的原因 (6) 1.4 维纳滤波的研究历史 (6) 1.5图象退化举例 (7) 2.退化模型 (8) 2.1图象退化模型概述 (8) 2.2连续函数退化模型 (8) 2.3离散函数退化模型 (8) 3.图象复原技术 (9) 3.1无约束恢复 (9) 3.2逆滤波 (9) 3.3 维纳(Wiener)滤波器基本原理 (10) 3.4维纳滤波复原法 (11) 3.5图像复原例图 (12) 4.图像复原的MATLAB实现实例 (13) 5.结束语 (14) 参考文献: (14) 附录: (14) (1).维纳滤波复原源代码: (14) (2).规则化滤波复原程序源代码: (15) (3).Lucy-Richardson复原滤波源代码: (15) (4).盲目去卷积复原源代码: (15)

摘要: 图像复原是图象处理的一个重要课题。图像复原也称图象恢复,是图象 处理中的一大类技术。它的主要目的是改善给定的图像质量。当给定了一幅 退化了的或者受到噪声污染了的图像后,利用退化现象的某种先验知识来重 建或恢复原有图像是复原处理的基本过程。可能的退化有光学系统中的衍 射,传感器非线性畸变,光学系统的像差,摄影胶片的非线性,大气湍流的 扰动效应,图像运动造成的模糊及几何畸变等等。噪声干扰可以由电子成像 系统传感器、信号传输过程或者胶片颗粒性造成。各种退化图像的复原都 可归结为一种过程,具体地说就是把退化模型化,并且采用相反的过程进行 处理,以便恢复出原图像。文章介绍了图象退化的原因,几种常用的图像滤 波复原技术,以及用MATLAB实现图像复原的方法。 1.图像复原的概念 1.1图像复原的定义 图像复原也称图象恢复,是图象处理中的一大类技术。所谓图像复原,是指去除或减轻在获取数字图像过程中发生的图像质量下降(退化)这些退化包括由光学系统、运动等等造成图像的模糊,以及源自电路和光度学因素的噪声。图像复原的目标是对退化的图像进行处理,使它趋向于复原成没有退化的理想图像。成像过程的每一个环节(透镜,感光片,数字化等等)都会引起退化。在进行图像复原时,既可以用连续数学,也可以用离散数学进行处理。其次,处理既可在空间域,也可在频域进行。 1.2 图象恢复与图象增强的异同 相同点:改进输入图像的视觉质量。 不同点:图象增强目的是取得较好的视觉结果(不考虑退化原因);图象恢复根据相应的退化模型和知识重建或恢复原始的图像(考虑退化原因)。 1.3 图象退化的原因 图象退化指由场景得到的图像没能完全地反映场景的真实内容,产生了失真等问题。其原因是多方面的。如: 透镜象差/色差 聚焦不准(失焦,限制了图像锐度) 模糊(限制频谱宽度) 噪声(是一个统计过程) 抖动(机械、电子) 1.4 维纳滤波的研究历史 维纳是著名的数学家,后来被誉为信息理论家。维纳的著作不仅是一个很好的创见,而且具有结合工程的实际意义,是线性滤波理论研究的一个重要的开端. 在第二次世界大战中,由于雷达的发明以及防空炮火控制的任务,把大量有修养的数学家和物理学家都动员到信息科学这个研究领域中来了,这个时候人们活跃于这个领域,并有许多重大的科学创造。数学家维纳对于滤波理论的研究成果,就是这时候重大的科学创见之一。

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

层次分析报告法及matlab程序

层次分析法建模 层次分析法(AHP-Analytic Hierachy process)---- 多目标决策方法 70 年代由美国运筹学家T·L·Satty提出的,是一种定性与定量分析相结合的多目标决策分析方法论。吸收利用行为科学的特点,是将决策者的经验判断给予量化,对目标(因素)结构复杂而且缺乏必要的数据情况下,採用此方法较为实用,是一种系统科学中,常用的一种系统分析方法,因而成为系统分析的数学工具之一。 传统的常用的研究自然科学和社会科学的方法有: 机理分析方法:利用经典的数学工具分析观察的因果关系; 统计分析方法:利用大量观测数据寻求统计规律,用随机数学方法描述(自然现象、 社会现象)现象的规律。 基本内容:(1)多目标决策问题举例AHP建模方法 (2)AHP建模方法基本步骤 (3)AHP建模方法基本算法 (3)AHP建模方法理论算法应用的若干问题。 参考书:1、姜启源,数学模型(第二版,第9章;第三版,第8章),高等教育出版社 2、程理民等,运筹学模型与方法教程,(第10章),清华大学出版社 3、《运筹学》编写组,运筹学(修订版),第11章,第7节,清华大学出版社 一、问题举例: A.大学毕业生就业选择问题 获得大学毕业学位的毕业生,“双向选择”时,用人单位与毕业生都有各自的选择标准和要求。就毕业生来说选择单位的标准和要求是多方面的,例如: ①能发挥自己的才干为国家作出较好贡献(即工作岗位适合发挥专长); ②工作收入较好(待遇好); ③生活环境好(大城市、气候等工作条件等); ④单位名声好(声誉-Reputation); ⑤工作环境好(人际关系和谐等) ⑥发展晋升(promote, promotion)机会多(如新单位或单位发展有后劲)等。 问题:现在有多个用人单位可供他选择,因此,他面临多种选择和决策,问题是他将如何作出决策和选择?——或者说他将用什么方法将可供选择的工作单位排序?

matlab图像处理小结

1.function [center, r] = solve_circle(pt1, pt2, pt3) 2.%Effect: solve the circle which across points 'pt1', 'pt2' and 'pt3' 3.%Inputs: 4.%pt1, pt2, pt3: [x, y] 5.%center: the circle center [x0; y0] 6.%r: the radius of the circle 7.%Author: Su dongcai at 2012/1/2 8. A = zeros(2, 2); B = zeros(2, 1); 9.[A(1, :), B(1)] = circle2line(pt1, pt2); 10.[A(2, :), B(2)] = circle2line(pt2, pt3); 11.center = A\B; 12.r = norm(pt1' - center); 13. 14.function [A, B] = circle2line(pt1, pt2) 15.%Effect: cast 2 circles equation into 1 linear equation: 16.%(a-x1)^2 + (b-y1)^2 = r^2 | 17.% |==> 2(x1-x2)a + 2(y1-y2)b = (x1^2 + y1^2) - (y2^2 + y2^2) 18.%(a-x2)^2 + (b-y2)^2 = r^2 | 19.%Inputs: 20.%pt1, pt2: [x1, y1], [x2, y2] 21.%Outputs: 22.%A: 2[x1-x2, y1-y2] 23.%B: (x1^2 + y1^2) - (x2^2 + y2^2) 24.%Author: Su dongcai at 2012/1/2 25.A = 2*(pt1 - pt2); 26.B = norm(pt1)^2 - norm(pt2)^2; close all;clear;clc; >> i=imread('rice.png'); %>> imshow(i); >> background=imopen(i,strel('disk',15)); >> i2=imsubtract(i,background); %>> figure,imshow(i2); >> i3=imadjust(i2,stretchlim(i2),[0 1]); %>> figure,imshow(i3); >> level=graythresh(i3); >> bw=im2bw(i3,level); %>> figure,imshow(bw); >> [labeled,numobjects]=bwlabel(bw,4); graindata=regionprops(labeled,'all');

基于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实现图像恢复设计报告 一、设计目标及需求分析 设计目标:希望通过matlab设计一个软件来实现对CT图像的模糊再恢复的过程,是对现实中CT图像复原的一个简单仿真。 需求分析:随着网络和通信技术的发展,数字图像处理与分析技术已经在科学研究、工业生产、医疗卫生、教育等领域得到了广泛应用,对推动社会的发展和提高人们的生活水平都起到了重要作用[1]。而在医学CT影像中,CT图像的影响因素众多,包括部分容积效应,空间分辨力,密度分辨力,相机条件设定和噪声等[2]。这些因素会造成CT 图像模糊失真,需要对图像进行恢复,才能满足对临床诊断的要求。 二、设计概要 图像退化 三、详细设计 在GUI界面设计中选取三个静态文本分别叫“原始图像”、“模糊加噪图像”、“恢复图像”,添加三个坐标轴,三个按钮分别用于“读入原始图像”、“模糊和加噪”、“恢复”。 图一 GUI界面设计

①点击按钮“读入图像”,将选取的原始肺部CT图像导入第一个坐标轴中。 ②点击按钮“模糊和加噪”,对原始CT图像进行运动模糊,加入高斯噪声,生成的图像显示在第二个坐标轴中。 图二模糊和加噪 在这里用MATLAB图像处理工具函数fspecial生成了一个运动模糊的点扩展函数PSF,PSF 再与原图卷积得到模糊图像,这一步操作是为了模拟现实CT图像中由于病人身体的移动,心脏搏动和胃肠蠕动这些不自主的运动造成的伪影。在CT图像中的噪声有多种类型,有高斯噪声,椒盐噪声,泊松噪声,斑点噪声等。这里只引入了高斯噪声是由于通过查阅文献得知,CT图像中的噪声主要是高斯噪声[3],是一个抽象简化的退化模型。 ③点击按钮“恢复”,对模糊和加噪的图像进行图像复原,将复原后的图像显示在第三个坐标轴上。

图像增强及MATLAB实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

matlab动力学分析程序详解

1 1.微分方程的定义 对于duffing 方程03 2 =++x x x ω ,先将方程写作??? --==3 1122 21x x x x x ω function dy=duffing(t,x) omega=1;%定义参数 f1=x(2); f2=-omega^2*x(1)-x(1)^3; dy=[f1;f2]; 2.微分方程的求解 function solve (tstop) tstop=500;%定义时间长度 y0=[0.01;0];%定义初始条件 [t,y]=ode45('duffing',tstop,y0,[]); function solve (tstop) step=0.01;%定义步长 y0=rand(1,2);%随机初始条件 tspan=[0:step:500];%定义时间范围 [t,y]=ode45('duffing',tspan,y0); 3.时间历程的绘制 时间历程横轴为t ,纵轴为y ,绘制时只取稳态部分。 plot(t,y(:,1));%绘制y 的时间历程 xlabel('t')%横轴为t ylabel('y')%纵轴为y grid;%显示网格线

2 axis([460 500 -Inf Inf])%图形显示范围设置 4.相图的绘制 相图的横轴为y ,纵轴为dy/dt ,绘制时也只取稳态部分。红色部分表示只取最后1000个点。 plot(y(end-1000:end ,1),y(end-1000:end ,2));%绘制y 的时间历程 xlabel('y')%横轴为y ylabel('dy/dt')%纵轴为dy/dt grid;%显示网格线 5.Poincare 映射的绘制 对于不同的系统,Poincare 截面的选取方法也不同 对于自治系统一般每过其对应线性系统的固有周期,截取一次 对于非自治系统,一般每过其激励的周期,截取一次 例程:duffing 方程03 2=++x x x ω 的poincare 映射 function poincare(tstop) global omega; omega=1; T=2*pi/omega;%线性系统的周期或激励的周期 step=T/100;%定义步长为T/100 y0=[0.01;0];%初始条件 tspan=[0:step:100*T];%定义时间范围 [t,y]=ode45('duffing',tspan,y0); for i=5000:100:10000%稳态过程每个周期取一个点 plot(y(i,1),y(i,2),'b.'); hold on;% 保留上一次的图形 end xlabel('y');ylabel('dy/dt');

matlab图像处理综合实验实验报告

《数字图像处理》 实验报告 学院: 专业: 班级: 姓名: 学号:

实验一 实验名称:图像增强 实验目的:1.熟悉图像在Matlab下的读入,输出及显示; 2.熟悉直方图均衡化; 3.熟悉图像的线性指数等; 4.熟悉图像的算术运算及几何变换. 实验仪器:计算机,Matlab软件 实验原理: 图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。空间域的增强主要有:灰度变换和图像的空间滤波。 图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。 实验内容如下: I=imread('E:\cs.jpg');%读取图像 subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J) %输出图像 title('灰度图像') %在原始图像中加标题 subplot(2,2,3),imhist(J) %输出原图直方图 title('原始图像直方图') 0100200

I=imread('E:\cs.jpg');%读取图像 subplot(1,2,1),imshow(I); theta = 30; K = imrotate(I,theta); subplot(1,2,2),imshow(K) 对数运算: I=imread('E:\dog.jpg'); subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J)); subplot(2,2,3),imshow(J1,[]),title('对数变换后') 指数运算: I=imread('E:\dog.jpg'); f=double(I); g=(2^2*(f-1))-1 f=uint8(f); g=uint8(g);

基于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程序实例

程序实例 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,[]);

相关文档
相关文档 最新文档