首页 > 文库大全 > 精品范文库 > 11号文库

数字图像处理项目实施步骤(PPT参考材料)

数字图像处理项目实施步骤(PPT参考材料)



第一篇:数字图像处理项目实施步骤(PPT参考材料)

实施步骤:共分为5个阶段

第一阶段: 行人视频采集&视频预处理

1.行人视频采集:

我们是在校内的风雨操场旁边用手机录制了4个超过一分钟的视频,然后再从四个视频中筛选出来一个最好的视频(要求前10s要求背景静止、无运动物体,之后时间要求有行人走过以及车辆开过等非行人的运动,要求既有单个行人走过的画面,又有两个行人走过的画面,整段视频中总共不少于5个行人走过)。

2.视频预处理:

将拍摄到的视频转换为图像序列,分析图像序列的质量特性,完成图像去噪和质量增强,如:直方图均衡、去过曝光、光线补偿等。

第一阶段放在一张或者两张PPT 第二阶段:

运动检测

运动区域检测算法:(三,四张PTT)

根据摄像头是否保持静止,运动检测分为静态背景和运动目标检测是指在序列图像中检测出变化区域并将运动目标从背景图像中提取出来。由于摄像头保持静止,故采用静态背景下运动目标检测算法,常用的方法有帧差法、光流法、背景减除法等。1.帧差法

帧差法是最为常用的运动目标检测和分割方法之一,基本原理就是在图像序列相邻两帧或三帧间采用基于像素的时间差分通过闭值化来提取出图像中的运动区域。2.光流法

光流法的主要任务就是计算光流场,即在适当的平滑性约束条件下,根据图像序列的时空梯度估算运动场,通过分析运动场的变化对运动目标和场景进行检测与分割。通常有基于全局光流场和特征点光流场两种方法。3.背景减除法

背景减除法是一种有效的运动对象检测算法,基本思想是利用背景的参数模型来近似背景图像的像素值,将当前帧与背景图像进行差分比较实现对运动区域的检测,其中区别较大的像素区域被认为是运动区域,而区别较小的像素区域被认为是背景区域。

综合对比,我们选择第三种,背景减除法。

背景减除法的基本思想是首先构建一个背景,然后用当前帧图像和背景相减,根据差分图像检测运动目标。这种方法简单,易于实现,能够较好地提取出目标的特征数据,但对于外界环境的变化非常敏感,适用于背景已知的情况。

运动检测方法:(一张PTT)

先进行图像预处理,采用中值滤波的方法。在图像处理过程中, 帧间差分是通过计算相邻两帧图像之间的差值来获得运动区域的,通过差值图像能快速的检测出相邻图像中运动目标所引起的运动范围。可采用三帧差分法来计算,三帧差法是在帧间差分的基础上进行改进,将相邻的三帧图像作为一组进行再差分,能较好的检测出中间帧运动目标的形状轮廓。

第三阶段:

行人检测

行人检测:大体分为两类:(四张PPT)

(1)基于背景建模的方法:分割出前景,提取其中的运动目标,然后进一步提取特征,分类判别;在存在下雨、下雪、刮风、树叶晃动、灯光忽明忽暗等场合,该方法的鲁棒性不高,抗干扰能力较差。且背景建模方法的模型过于复杂,对参数较为敏感。

(2)基于统计学习的方法:根据大量训练样本构建行人检测分类器。提取的特征一般有目标的灰度、边缘、纹理、形状、梯度直方图等信息,分类器包括神经网络、SVM,adaboost等。该方法存在以下难点:(a)行人的姿态、服饰各不相同;

(b)提取的特征在特征空间中的分布不够紧凑;(c)分类器的性能受训练样本的影响较大;

(d)离线训练时的负样本无法涵盖所有真实应用场景的情况;

典型的代表是法国研究人员Dalal在202_的CVPR发表的HOG+SVM的行人检测算法。

考虑到背景建模和统计学习这两种方法各有优缺点,有研究人员提出将这两种方法予以结合来进行快速准确的行人检测。其中的一个典型系统如下:

这是基于场景模型与统计学习的鲁棒行人检测算法。

研究人员利用GMM来进行背景建模,利用Haar-like特征对行人进行特征描述,以AdaBoost级联结构作为分类器。并提出一种改进的弱分类器选择算法,从而使得弱分类器选择和分类器重新训练得以在10分钟左右完成。

综合前两种算法,可采用两种相结合的算法来进行 行人检测。

第四阶段:行人目标跟踪

行人目标跟踪:(两张PPT)

目标跟踪[3]就是在一个连续视频序列中,在每一帧监控画面中找到感兴趣的运动目标。通过对目标进行特征描述、相似度度量计算、区域搜索匹配来实现跟踪的目的。常见的目标跟踪算法有MeanShift、Kalman滤波等。

我们采取运用传统的MeanShift算法进行目标跟踪。通过手动选取的方式,用鼠标画矩形框选定跟踪的区域,截取目标。然后计算核函数加权下的选定跟踪区域矩形框的直方图分布,用同样的方法计算第N帧对应矩形框的直方图分布,。以两个目标模板分布的相似性最大为原则,使得搜索窗口沿着密度增加最大的方向移动,不断更新中心点的坐标位置,在帧上画矩形框,这样视觉上的效果就是矩形框随人而动,就达到了跟踪的效果。

第五阶段:报告总结

完成所有的设计与报告撰写,在第九

(十)周进行演示、汇报和答辩。

第二篇:《数字图像处理》

实验五 图像的几何变换

一.实验目的及要求

掌握图像几何变换的基本原理,熟练掌握数字图像的缩放、旋转、平移、镜像和转置的基本原理及其MATLAB编程实现方法。

二、实验内容

(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

1.图像缩放 clear all, close all I = imread('cameraman.tif');Scale = 1.35;

% 将图像放大1.35倍

J1 = imresize(I, Scale, 'nearest');

% using the nearest neighbor interpolation J2 = imresize(I, Scale, 'bilinear');

% using the bilinear interpolation imshow(I), title('Original Image');figure, imshow(J1), title('Resized Image--using the nearest neighbor interpolation ');figure, imshow(J2), title('Resized Image--using the bilinear interpolation ');help imresize

% 查看imresize使用帮助

1.95倍

I = imread('cameraman.tif');Scale = 1.96;

% 将图像放大1.96倍

J1 = imresize(I, Scale, 'nearest');

% using the nearest neighbor interpolation J2 = imresize(I, Scale, 'bilinear');

% using the bilinear interpolation imshow(I), title('Original Image');figure, imshow(J1), title('Resized Image--using the nearest neighbor interpolation ');figure, imshow(J2), title('Resized Image--using the bilinear interpolation ');

说明:

注意观察不同插值方法的图像表现; 改变图像缩放因子Scale,重做上述实验。2.图像旋转

clear all, close all I = imread('cameraman.tif');Theta = 45;

% 将图像逆时针旋转45。

J1 = imrotate(I, Theta, 'nearest');

% using the nearest neighbor interpolation Theta =-45;

% 将图像顺时针旋转45。

J2 = imrotate(I, Theta, 'bilinear', 'crop');% using bilinear interpolation and crops the output image imshow(I), title('Original Image');figure, imshow(J1), title('Rotated Image--using the nearest neighbor interpolation ');figure, imshow(J2), title(' Rotated Image--using the bilinear interpolation ');% 查看imrotate使用帮助 help imrotate %-------

图像旋转30顺时针逆时针

clear all, close all I = imread('cameraman.tif');Theta = 30;

% 将图像逆时针旋转30。

J1 = imrotate(I, Theta, 'nearest');

% using the nearest neighbor interpolation Theta =-30;

% 将图像顺时针旋转30。

J2 = imrotate(I, Theta, 'bilinear', 'crop');% using bilinear interpolation and crops the output image imshow(I), title('Original Image');figure, imshow(J1), title('Rotated Image--using the nearest neighbor interpolation ');figure, imshow(J2), title(' Rotated Image--using the bilinear interpolation ');7 说明:

注意观察不同插值方法和输出图像后处理方法的图像表现; 改变旋转角度大小和方向,重做上述实验。

3.图像水平镜象

clear all, close all I = imread('cameraman.tif');I1 = flipdim(I,2);

I2 = flipdim(I,1);figure(1), subplot(1,2,1), imshow(I);subplot(1,2,2), imshow(I1);figure(2), subplot(2,1,1), imshow(I);subplot(2,1,2), imshow(I2);%----

(二)用MATLAB编程实现以下图像几何变换(参考自编讲义相关章节)

1.图像扭曲变换 2.球面变换

三、实验设备

1.PIII以上微机; 2.MATLAB6.5;

四、预习与思考

1.预习实验内容,阅读教材熟悉实验原理;

2.查阅资料,熟悉实验中涉及的有关MATLAB函数;

3.利用课余时间,采用MATLAB底层函数编程实现实验内容

(二)中的图像平移、图像转置等几何变换。

五、实验报告要求

1.简述试验的目的和试验原理;

2.叙述各段程序功能,改变有关函数的参数,分析比较实验结果; 3.打印出所编写的实验程序。4.写出本实验的心得体会及意见。

实验六

数字图像处理应用

一.实验目的及要求

1.利用MATLAB提供的图像处理函数实现图像中物体属性的测量; 2.训练综合运用MATLAB图像处理函数的能力; 3.了解数字图像处理基本应用。

二、实验内容

以大米粒特性测量为例,综合应用课程中图像分割、形态学滤波、图像增强、图像特征提取等图像处理方法,实现大米粒特性自动测量。实验过程简述:

1. 读取和显示图像 2. 估计图像背景 3. 获取背景均匀的图像 4. 图像增强 5. 图像二值化分割 6. 区域标记及为彩色处理

7. 测量图像中的区域特性(面积、质心等)

8.统计大米粒的特性分布规律。

(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结 果。熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

% Read and Display an Image clear, close all,close all;I = imread('rice.png');

figure, imshow(I)

% Use Morphological Opening to Estimate the Background

background = imopen(I,strel('disk',15));

figure, imshow(background);

%Display the Background Approximation as a Surface

figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]);set(gca,'ydir','reverse');% Subtract the Background Image from the Original Image I2 = imsubtract(I,background);figure, imshow(I2)% Adjust the Image Contrast I3 = imadjust(I2, stretchlim(I2), [0 1]);figure, imshow(I3);% Apply Thresholding to the Image level = graythresh(I3);bw = im2bw(I3,level);figure, imshow(bw)% Determine the Number of Objects in the Image [labeled,numObjects] = bwlabel(bw,4);

% Label components.numObjects % Examine the Label Matrix RGB_label = label2rgb(labeled, @spring, 'c', 'shuffle');figure, imshow(RGB_label);% Measure Object Properties in the Image graindata = regionprops(labeled,'basic')allgrains = [graindata.Area];% Compute Statistical Properties of Objects in the Image max(allgrains);biggrain = find(allgrains==695)mean(allgrains);figure, hist(allgrains,20);12

(详见MATLAB IPT的 帮助文档demo中的Correcting Nonuniform Illumination)

(二)查看MATLAB IPT 帮助文档,研究其它应用演示

三、实验设备 1.PIII以上微机; 2.MATLAB6.5;

四、预习与思考

1.预习实验内容,阅读教材熟悉实验原理; 2.查阅资料,熟悉实验中涉及的有关函数。

3.利用课余时间,采用MATLAB函数编程实现实验内容

(二)。

五、实验报告要求

1.简述试验的目的和试验原理;

2.叙述各段程序功能,改变有关函数的参数,分析比较实验结果; 3.打印出所编写的实验程序。4.写出本实验的心得体会及意见。

第三篇:数字图像处理

中南大学

数字图像处理实验 实验名称:空间滤波和频域滤波

班级:电子信息0802班

姓名:李哲 学号:0909080609 实验日期:202_年12月22日

目录

一,实验目的„„„„„„„„„„„„„„„„„„„„„„„3 二,给图像添加噪声„„„„„„„„„„„„„„„„„„„„4 三,对被噪声污染的图像进行中值滤波和均值滤波„„„„„„„5 四,对图像进行空间域的锐化„„„„„„„„„„„„„„„„6 五,MATLAB以外函数空间滤波和图像锐化„„„„„„„„„„7 六,自带函数傅立叶变换和反变换„„„„„„„„„„„„„„8 七,低通滤波器程序„„„„„„„„„„„„„„„„„„„„9 八,心得体会 „„„„„„„„„„„„„„„„„„„„„„10 九,参考文献 „„„„„„„„„„„„„„„„„„„„„„10

一、实验目的 1,空间滤波:

图像平滑主要目的是减少噪声。噪声有很多种类,不同的噪声有不同的抑制措施。本实验要求用平滑线性滤波和中值滤波2种最典型、最常用的处理算法进行程序设计,学习如何对已被噪声污染的图像进行“净化”。通过平滑处理,对结果图像加以比较,得出自己的实验结论。学习如何用锐化处理技术来加强图像的目标边界和图像细节,对图像进行梯度算子、拉普拉斯算子,使图像的某些特征(如边缘、轮廓等)得以进一步的增强及突出。本实验锐化处理主要在空间域中进行 2,频域滤波:

掌握傅里叶变换的基本性质; 掌握傅里叶正变换和反变换; 通过实验了解二维频谱的分布特点; 掌握怎样利用傅立叶变换进行频域滤波

利用MATLAB程序数字图像的傅立叶变换并且进行频域滤波

二,给图像添加椒盐噪声或者高斯噪声: 原理:利用MATLAB自带函数添加噪声 程序代码:A=imread('onion.png');I=rgb2gray(A);imshow(I);J = imnoise(I,'salt & pepper',0.05);figure,imshow(J),title('椒盐噪声');%添加椒盐噪声 K = imnoise(I,'gaussian',0,0.03);

figure,imshow(K),title('高斯噪声');%添加高斯噪声

三,对被噪声污染的图像进行中值滤波和均值滤波: 原理:自带函数进行中值滤波和均值滤波 源程序:A=imread('onion.png');I=rgb2gray(A);J = imnoise(I,'salt & pepper',0.05);k2=medfilt2(J,[5 5]);k3=medfilt2(J,[7 7]);imshow(J),title('原图');figure,imshow(k2),title('中值滤波5*5模板');figure,imshow(k3),title('中值滤波7*7模板');

四,对图像进行空间域的锐化: 原理:自带函数进行空间锐化。源程序:I=imread('coins.png');subplot(121),imshow(I),title('原图像');H=fspecial('sobel');I2=filter2(H ,I);subplot(122),imshow(I2),title('sobel算子锐化图像');

五,MATLAB以外函数空间滤波和图像锐化:

源程序:I = imread('eight.tif');J = imnoise(I,'salt & pepper',0.02);K = medfilt2(J);imshow(J);title('噪声干扰图像')figure, imshow(K);title('medfilt2滤波图像')X=J;a=2;b=2;k=floor(a*b/2)+1;[M,N]=size(X);uint8 Y=zeros(M,N);funBox=zeros(a,b);temp=zeros(a*b);

for i=1:M-a

for j=1:N-b

funBox=X(i:i+a,j:j+b);

temp=funBox(:);

tempSort=sort(temp);

Y(i,j)=tempSort(k);

end;end;figure, imshow(Y);title('滤波图像')

六,利用Matlab的图像处理工具箱中提供的函数实现图像的傅立叶变换和反变换: 源程序:

A=imread('onion.png');f=rgb2gray(A);subplot(131),imshow(f),title('原图');F=fft2(f);% 快速傅立叶变换

subplot(132),imshow(F),title('傅里叶变换')Fabs=abs(F);% 求幅频绝对值 Fc=fftshift(Fabs);% 中心移位 SFc=log(1+Fc);% 对数变换

iFc1=ifftshift(Fc);% 中心移位的逆变换,绝对值 iF2=ifft2(iFc1);% 快速傅立叶变换的逆变换

subplot(133),imshow(iF2),title('快速傅立叶变换的逆变换')

七,低通滤波器程序:

I=imread('testpat1.png');subplot(221),imshow(I);title('原始图像')J1=imnoise(I,'gaussian',0.02);% 叠加高斯白噪声

subplot(222),imshow(J1);title('添加高斯白噪声的图像')f=double(J1);

% 数据类型转换 g=fft2(f);

% 傅立叶变换 g=fftshift(g);

[M,N]=size(g);nn=2;

% 二阶巴特沃斯(Butterworth)低通滤波器 d0=50;

% 设置截止频率 m=fix(M/2);n=fix(N/2);for i=1:M for j=1:N

d=sqrt((i-m)^2+(j-n)^2);

h=1/(1+0.414*(d/d0)^(2*nn));% 计算低通滤波器传递函数

result(i,j)=h*g(i,j);end end result=ifftshift(result);J2=ifft2(result);J3=uint8(real(J2));subplot(223),imshow(J3);title('低通滤波后图像')

心得体会

1,进一步熟悉了Matlab软件、编程以及图像处理工具箱 2,学会利用自带函数对图像做简单的处理,例如:均值化等。3,熟练了一些基本函数的运用,例如fspecial,imfilter等。4,加深了对MATLAB编程的理解。

5,对于试验中的出现的一些问题,懂得怎样去处理。6,通过实际操作,增强了自己的动手能力,把理论用于实践。

参考文献:数字图像处理第二版

MATLAB教程

第四篇:数字图像处理实验报告

数字图像处理

实验报告

目录

1.数字图像处理简介

2.实验目的3.实验内容

4.实验结果及代码展示

5.算法综述

6.Matlab优势

7.总结

8.存在问题

一、数字图像处理简介

图像处理,是对图像进行分析、加工、和处理,使其满足视觉、心理以及其他要求的技术。图像处理是信号处理在图像域上的一个应用。目前大多数的图像是以数字形式存储,因而图像处理很多情况下指数字图像处理。此外,基于光学理论的处理方法依然占有重要的地位。

图像处理是信号处理的子类,另外与计算机科学、人工智能等领域也有密切的关系。

传统的一维信号处理的方法和概念很多仍然可以直接应用在图像处理上,比如降噪、量化等。然而,图像属于二维信号,和一维信号相比,它有自己特殊的一面,处理的方式和角度也有所不同。

二、实验目的

巩固所学知识,提高所学能力

三、实验内容

利用matlab的GUI程序设计一个简单的图像处理程序,并含有如下基本功能: 1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题 2.对给定图像进行旋转

3.对给定的图像添加噪声(椒盐噪声、高斯噪声)

四、实验结果及代码展示

1.软件设计界面

2.各模块功能展示以及程序代码

(1)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题

效果展示:

代码:

a = imread('C:Documents and SettingsAdministrator桌面数字图像舞美.JPG');

i = rgb2gray(a);I = im2bw(a,0.5);

subplot(3,1,1);imshow(a);title('源图像')subplot(3,1,2);imshow(i);title('灰度图像')subplot(3,1,3);imshow(I);title('二值图像')

(2)图像旋转 原图

效果展示:

代码:

clc;clear all;close all;

Img=imread('D:My DocumentsMy Pictures5.JPG');Img=double(Img);[h w]=size(Img);alpha=pi/4;

wnew=w*cos(alpha)+h*sin(alpha);hnew=w*sin(alpha)+h*cos(alpha);wnew=ceil(wnew);

hnew=ceil(hnew);u0=w*sin(alpha);

T=[cos(alpha),sin(alpha);-sin(alpha),cos(alpha)];Imgnew2=zeros(hnew,wnew);Imgnew1=zeros(hnew,wnew);for u=1:hnew

for v=1:wnew

tem=T*([u;v]-[u0;0]);x=tem(1);y=tem(2);if x>=1&&x<=h&&y>=1&&y<=w x_low=floor(x);x_up=ceil(x);y_low=floor(y);y_up=ceil(y);if(x-x_low)<=(x_up-x)x=x_low;

else

x=x_up;

end

if(y-y_low)<=(y_up-y)y=y_low;

else

y=y_up;

end

p1=Img(x_low,y_low);p2=Img(x_up,y_low);p3=Img(x_low,y_low);p4=Img(x_up,y_up);s=x-x_low;t=y-y_low;Imgnew1(u,v)=Img(x,y);

Imgnew2(u,v)=(1-s)*(1-t)*p1+(1-s)*t*p3+(1-t)*s*p2+s*t*p4;end

end end

figure;imshow(Imgnew2,[]);B=imrotate(Img,alpha/pi*180);figure;imshow(B,[]);

(3)对给定的图像添加噪声(斑点噪声、高斯噪声)效果展示:

代码:

I= imread('D:My DocumentsMy Pictures5.JPG');figure,subplot(211);imshow(I);title('原图');J1=imnoise(I,'gaussian',0,0.02);

subplot(223);imshow(J);title('添加高斯噪声');J=imnoise(I,'speckle',0.04);

subplot(224);imshow(J);title('添加斑点噪声');

五、算法综述 灰度图像:

一幅完整的图像,是由红色、绿色、蓝色三个通道组成的。红色、绿色、蓝色三个通道的缩览图都是以灰度显示的。用不同的灰度色阶来表示“ 红,绿,蓝”在图像中的比重。通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255。

通道是整个Photoshop显示图像的基础。色彩的变动,实际上就是间接在对通道灰度图进行调整。通道是Photoshop处理图像的核心部分,所有的色彩调整工具都是围绕在这个核心周围使用的。

在计算机领域中,灰度数字图像是每个像素只有一个采样颜色的图像。这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;灰度图像在黑色与白色之间还有许多级的颜色深度。但是,在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。在一些关于数字图像的文章中单色图像等同于灰度图像,在另外一些文章中又等同于黑白图像。灰度图像经常是在单个电磁波频谱如可见光内测量每个像素的亮度得到的。

用于显示的灰度图像通常用每个采样像素 8 位的非线性尺度来保存,这样可以有 256 级灰度。这种精度刚刚能够避免可见的条带失真,并且非常易于编程。在医学图像与遥感图像这些技术应用中经常采用更多的级数以充分利用每个采样 10 或 12 位的传感器精度,并且避免计算时的近似误差。在这样的应用领域每个采样 16 位即 65536 级得到流行。

二值图像:

是指每个像素不是黑就是白,其灰度值没有中间过渡的图像。二值图像一般用来描述文字或者图形,其优点是占用空间少,缺点是,当表示人物,风景的图像时,二值图像只能描述其轮廓,不能描述细节。这时候要用更高的灰度级。

二值图像是每个像素只有两个可能值的数字图像。人们经常用黑白、B&W、单色图像表示二值图像,但是也可以用来表示每个像素只有一个采样值的任何图像,例如灰度图像等。

二值图像中所有的像素只能从0和1这两个值中取,因此在MATLAB中,二值图像用一个由0和1组成的二维矩阵表示。这两个可取的值分别对应于关闭和打开,关闭表征该像素处于背景,而打开表征该像素处于前景。以这种方式来操作图像可以更容易识别出图像的结构特征。二值图像操作只返回与二值图像的形式或结构有关的信息,如果希望对其他类型的图像进行同样的操作,则首先要将其转换为二进制的图像格式,可以通过调用MATLAB提供的im2bw()来实现。

二值图像经常出现在数字图像处理中作为图像掩码或者在图像分割、二值化和dithering的结果中出现。一些输入输出设备,如激光打印机、传真机、单色计算机显示器等都可以处理二值图像。

二值图像经常使用位图格式存储。

二值图像可以解释为二维整数格Z,图像变形处理领域很大程度上就是受到这个观点启发。

图像旋转:

图像旋转是指图像以某一点为中心旋转一定的角度,形成一幅新的图像的过程。当然这个点通常就是图像的中心。既然是按照中心旋转,自然会有这样一个属性:旋转前和旋转后的点离中心的位置不变.根据这个属性,我们可以得到旋转后的点的坐标与原坐标的对应关系。由于原图像的坐标是以左上角为原点的,所以我们先把坐标转换为以图像中心为原点。假设原图像的宽为w,高为h,(x0,y0)为原坐标内的一点,转换坐标后的点为(x1,y1)。那么不难得到: x1 = x0-w/2;y1 =-y0 + h/2;在新的坐标系下,假设(x0,y0)距离原点的距离为r,点与原点之间的连线与x轴的夹角为b,旋转的角度为a,旋转后的点为(x1,y1)

噪声:

是电路或系统中不含信息量的电压或电流。在工业与自然界中,存在着各种干扰源(噪声源),如大功率电力电子器件的接入、大功率用电设备的开启与断开、雷击闪电等都会使空间电场和磁场产生有序或无序的变化,这些都是干扰源(或噪声源)。这些源产生的电磁波或尖峰脉冲通过磁、电耦合或是通过电源线等路径进入放大电路,各种电气设备,形成各种形式的干扰。

斑点噪声:

斑点噪声是SAR成像系统的一大特色,源自基本分辨单元内地物的随机散射,在图像上表现为信号相关(如在空间上相关)的小斑点,它既降低了图像的画面质量,又严重影响图像的自动分割、分类、目标检测以及其它定量专题信息的提取。

SAR图像斑点噪声的去除一方面要抑制图像均匀区域斑点噪声,另一方面要保持图像边缘和纹理细节信息。SAR斑点噪声的抑制可通过非相干多视处理,也可使用空间域滤波实现。非相干多视处理会降低图像的地面分辨率。因此,涌现出了一系列空间域滤波方法,如均值滤波、中值滤波、Lee滤波、Kuan滤波、Frost滤波、Sigma滤波以及Gamma Map滤波等。但这类算法存在自身无法克服的矛盾:一方面为增强斑点去噪效果需选较大的滤波窗口,另一方面为保持图像的实际分辨率要求所选的窗口较小。

高斯噪声:

所谓高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。高斯白噪声包括热噪声和散粒噪声。

实验中是通过MATLAB自带的函数产生噪声,各函数如下: J1=imnoise(I,'salt & pepper',0.05);%添加椒盐噪声

J2=imnoise(I,'gaussian',0,0.03);

%添加均值为0,方差为0.03的高斯噪声。

六、Matlab优势

MATLAB是一个包含大量算法的集合。其可以快捷的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和差错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。图形处理功能

图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足

模块集合工具箱

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

七、总结

运用matlab软件对图像进行处理,让我巩固了之前所学的知识,同时也在这次作业中更加了解到matlab语言在生活中的运用环境和掌握这门语言的重要性

八、存在问题

1.在进行图像增强时要不要讲图像先进行平滑处理? 2.如何增加这个算法的准确度

3.在此次作业中,为何添加椒盐噪声时无法显示

第五篇:数字图像处理实验报告

数字图像处理

实验报告

班级:通信103 学号:201027201 姓名:计富威 指导教师:孙洁

实验一 MATLAB数字图像处理初步

一、实验目的与要求

1.熟悉及掌握在MATLAB中能够处理哪些格式图像。2.熟练掌握在MATLAB中如何读取图像。

3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。

4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。5.图像间如何转化。

二、实验内容及步骤

1.利用imread()函数读取一幅图像,假设其名为”第一个.tif”,存入一个数组中;

>>I=imread('第一个.tif');2.利用whos命令提取该读入图像”第一个.tif”的基本信息; >>whos I 3.利用imshow()函数来显示这幅图像; >>imshow(I);

第一个.tif 4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;

>>imfinfo('第一个.tif');5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。

>>imwrite(I,'第一个.jpg','quality',50)6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。>>imwrite(I,'第一个.bmp');7.用imread()读入图像:Lenna256.jpg 和camemaman.jpg; >>b=imread('lena256.bmp');>>c=imread('cameraman.tif');8.用imfinfo()获取图像Lenna256.jpg和camemaman.jpg 的大小; >>imfinfo('lena256.bmp');>>imfinfo('cameraman.tif');9.用figure,imshow()分别将Lenna256.jpg和camemaman.jpg显示出来,观察两幅图像的质量。>>figure >>imshow(b);>>figure >>imshow(c);

(Lena256.jpg图像截图)

(cameraman.jpg图像截图)

10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。>> d=im2bw(b);>>figure >>imshow(b);>>figure >>imshow(d);

(二值化截图)

三、实验总结

通过实验MatLab软件的基本使用有了基本的了解,学会了使用MatLab软件来读取一个特定格式的图像,并通过相关的命令语句对图像进行格式转换、图像压缩、二值化等的处理,掌握了利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息,掌握在MATLAB中如何通过imshow()语句来读取图像等等。

第二 图像基本运算

一、实验目的

1.了解图像的算术运算在数字图像处理中的初步应用。2.体会图像算术运算处理的过程和处理前后图像的变化。

二、实验原理

图像的代数运算是图像的标准算术操作的实现方法,是两幅输入图像之间进行的点对点的加、减、乘、除运算后得到输出图像的过程。如果输入图像为A(x,y)和B(x,y),输出图像为C(x,y),则图像的代数运算有如下四种形式:

C(x,y)= A(x,y)+ B(x,y)C(x,y)= A(x,y)-B(x,y)C(x,y)= A(x,y)* B(x,y)C(x,y)= A(x,y)/ B(x,y)

三、实验步骤 1.图像的加法运算

在MATLAB中,如果要进行两幅图像的加法,或者给一幅图像加上一个常数,可以调用imadd函数来实现。imadd函数将某一幅输入图像的每一个像素值与另一幅图像相应的像素值相加,返回相应的像素值之和作为输出图像。imadd函数的调用格式如下:

Z = imadd(X,Y)首先读入两幅图像

>>a=imread('第二个原图1.jpg');>>b=imread('第二个原图2.jpg')通过一个加法操作:>> c=imadd(a,b);

给图像的每一个像素加上一个常数可以使图像的亮度增加。如截图

第一张为原图,第二张为亮度加50,第三张为亮度减50 2.图像的减法运算

在MATLAB中,使用imsubtract函数可以将一幅图像从另一幅图像中减去,或者从一幅图像中减去一个常数。imsubtract函数将一幅输入图像的像素值从另一幅输入图像相应的像素值中减去,再将这个结果作为输出图像相应的像素值。imsubtract函数的调用格式如下:

Z = imsubtract(X,Y); 读入一幅画后通过减法 >>a3=imsubtract(a,50);

3.图像的乘法运算

在MATLAB中,使用immultiply函数实现两幅图像的乘法。immultiply函数将两幅图像相应的像素值进行元素对元素的乘法操作(MATLAB点乘),并将乘法的运算结果作为输出图形相应的像素值。immulitply函数的调用格式如下:

Z = immulitply(X,Y)读入一幅图后通过乘法操作 >> a=imread('cameraman.tif');>> b=immultiply(a,1.5);

4.图像的除法运算

在MATLAB中使用impide函数进行两幅图像的除法。impide函数对两幅输入图像的所有相应像素执行元素对元素的除法操作(点除),并将得到的结果作为输出图像的相应像素值。impide函数的调用格式如下:

Z = impide(X,Y)读入一幅图后通过除法操作

四、实验总结

通过对图像的四则运算了结图像的不同变化过程,对软件的进一步使用也有了更加深刻的认识。

实验三 图像增强—空域滤波

一、实验目的

进一步了解MatLab软件/语言,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。

了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。

二、实验设备与软件

(1)IBM-PC计算机系统

(2)MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)

(3)实验所需要的图片

三、实验内容与步骤

a)调入并显示原始图像“原图像.jpg”。>>I=imread('原图像.jpg');b)利用imnoise命令在图像“原图像.jpg”上加入高斯(gaussian)噪声

>>J = imnoise(I,'gauss',0.02);

%添加高斯噪声 c)利用预定义函数fspecial命令产生平均(average)滤波器 d)分别采用3x3和5x5的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果;

>>ave1=fspecial('average',3);

%产生3×3的均值模版 >>ave2=fspecial('average',5);

%产生5×5的均值模版 >>K = filter2(ave1,J)/255;

%均值滤波3×3 >>L = filter2(ave2,J)/255;

%均值滤波5×5 e)选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。

>>M = medfilt2(J,[3 3]);

%中值滤波3×3模板 >>N = medfilt2(J,[4 4]);

%中值滤波4×4模板

f)利用imnoise命令在图像Sample2-1.jpg 上加入椒盐噪声(salt & pepper)>>J = imnoise(I,'salt& pepper',0.02);

%添加椒盐噪声

四、实验总结

椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起,去除脉冲干扰及椒盐噪声最常用的算法是中值滤波。椒盐噪声是指两种噪声,一种是盐噪声,另一种是胡椒噪声。盐=白色,椒=黑色。前者是高灰度噪声,后者属于低灰度噪声。一般两种噪声同时出现,呈现在图像上就是黑白杂点。这点我们通过实验结果可以明显看到。中值滤波对于滤除图像的椒盐噪声非常有效。

实验四图像分割

一、实验目的

使用MatLab 软件进行图像的分割。使学生通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响。

二、实验要求

要求学生能够自行评价各主要算子在无噪声条件下和噪声条件下的分割性能。能够掌握分割条件(阈值等)的选择。完成规定图像的处理并要求正确评价处理结果,能够从理论上作出合理的解释。

三、实验内容与步骤

(1)使用Roberts 算子的图像分割实验,使用的原图是cameraman.jpg,截图如下

(2)使用Prewitt 算子的图像分割实验 截图如下

(3)使用Sobel 算子的图像分割实验

(4)使用LoG(拉普拉斯-高斯)算子的图像分割实验

四、实验结果

对Roberts算子、Prewitt 算子、Sobel 算子、LoG(拉普拉斯-高斯)算子的运算对图像的结果有了基本的认识,加深学习效果。

实验五 形态学运算

1、实验目的

学习常见的数学形态学运算基本方法,了解腐蚀、膨胀、开运算、闭运算取得的效果,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。

2、实验要求

利用MatLab工具箱中关于数学形态学运算的函数,计算本指导书中指定二值图像进行处理。

3、实验设备与软件

1.LC-PC计算机系统

2.MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox)3.实验所需要的图片

4、实验内容与步骤

1.调入并显示图像“原图.jpg”; 2.调入并显示图像“原图.jpg”;

3.选取合适的阈值,得到二值化图像“原图.jpg”; >>bw = im2bw(I,level);

%二值化 4.设置结构元素;

5.对得到的二值图像“原图.jpg”进行腐蚀运算; >>BW2 = imerode(bw,SE1);

%腐蚀 6.对得到的二值图像“原图.jpg”进行膨胀运算; >>BW1 = imdilate(bw,SE);

%膨胀 7.对得到的二值图像“原图.jpg”进行开运算;

>>BW3 = bwmorph(bw, 'open');

%开运算 8.对得到的二值图像“原图.jpg”进行闭运算; >>BW4 = bwmorph(bw, 'close');

%闭运算 9.将两种处理方法的结果作比较;

五、实验总结

通过本次实验,学习了常见的数学形态学运算基本方法,了解腐蚀、膨胀、开运算、闭运算取得的效果,培养处理实际图像的能力,通过自己动手的实验,对课本上的知识有了更加深刻的理解。

相关内容

热门阅读

最新更新

随机推荐