(完整版)数字图像处理代码大全

(完整版)数字图像处理代码大全
(完整版)数字图像处理代码大全

1.图像反转

MATLAB程序实现如下:

I=imread('xian.bmp');

J=double(I);

J=-J+(256-1); %图像反转线性变换

H=uint8(J);

subplot(1,2,1),imshow(I);

subplot(1,2,2),imshow(H);

2.灰度线性变换

MATLAB程序实现如下:

I=imread('xian.bmp');

subplot(2,2,1),imshow(I);

title('原始图像');

axis([50,250,50,200]);

axis on; %显示坐标系

I1=rgb2gray(I);

subplot(2,2,2),imshow(I1);

title('灰度图像');

axis([50,250,50,200]);

axis on; %显示坐标系

J=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1]

subplot(2,2,3),imshow(J);

title('线性变换图像[0.1 0.5]');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

K=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1]

subplot(2,2,4),imshow(K);

title('线性变换图像[0.3 0.7]');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

3.非线性变换

MATLAB程序实现如下:

I=imread('xian.bmp');

I1=rgb2gray(I);

subplot(1,2,1),imshow(I1);

title('灰度图像');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

J=double(I1);

J=40*(log(J+1));

H=uint8(J);

subplot(1,2,2),imshow(H);

title('对数变换图像');

axis([50,250,50,200]);

grid on; %显示网格线axis on; %显示坐标系4.直方图均衡化

MATLAB程序实现如下:

I=imread('xian.bmp');

I=rgb2gray(I);

figure;

subplot(2,2,1);

imshow(I);

subplot(2,2,2);

imhist(I);

I1=histeq(I);

figure;

subplot(2,2,1);

imshow(I1);

subplot(2,2,2);

imhist(I1);

5.线性平滑滤波器

用MATLAB实现领域平均法抑制噪声程序:

I=imread('xian.bmp');

subplot(231)

imshow(I)

title('原始图像')

I=rgb2gray(I);

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

subplot(232)

imshow(I1)

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

k1=filter2(fspecial('average',3),I1)/255; %进行3*3模板平滑滤波

k2=filter2(fspecial('average',5),I1)/255; %进行5*5模板平滑滤波k3=filter2(fspecial('average',7),I1)/255; %进行7*7模板平滑滤波

k4=filter2(fspecial('average',9),I1)/255; %进行9*9模板平滑滤波

subplot(233),imshow(k1);title('3*3模板平滑滤波');

subplot(234),imshow(k2);title('5*5模板平滑滤波');

subplot(235),imshow(k3);title('7*7模板平滑滤波');

subplot(236),imshow(k4);title('9*9模板平滑滤波'); 6.中值滤波器

用MATLAB实现中值滤波程序如下:

I=imread('xian.bmp');

I=rgb2gray(I);

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

subplot(231),imshow(I);title('原图像');

subplot(232),imshow(J);title('添加椒盐噪声图像');

k1=medfilt2(J); %进行3*3模板中值滤波k2=medfilt2(J,[5,5]); %进行5*5模板中值滤波k3=medfilt2(J,[7,7]); %进行7*7模板中值滤波k4=medfilt2(J,[9,9]); %进行9*9模板中值滤波subplot(233),imshow(k1);title('3*3模板中值滤波'); subplot(234),imshow(k2);title('5*5模板中值滤波'); subplot(235),imshow(k3);title('7*7模板中值滤波'); subplot(236),imshow(k4);title('9*9模板中值滤波'); 7.用Sobel算子和拉普拉斯对图像锐化:

I=imread('xian.bmp');

subplot(2,2,1),imshow(I);

title('原始图像');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

I1=im2bw(I);

subplot(2,2,2),imshow(I1);

title('二值图像');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

H=fspecial('sobel'); %选择sobel算子

J=filter2(H,I1); %卷积运算subplot(2,2,3),imshow(J);

title('sobel算子锐化图像');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

h=[0 1 0,1 -4 1,0 1 0]; %拉普拉斯算子

J1=conv2(I1,h,'same'); %卷积运算subplot(2,2,4),imshow(J1);

title('拉普拉斯算子锐化图像');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

8.梯度算子检测边缘

用MATLAB实现如下:

I=imread('xian.bmp');

subplot(2,3,1);

imshow(I);

title('原始图像');

axis([50,250,50,200]);

grid on; %显示网格线axis on; %显示坐标系I1=im2bw(I);

subplot(2,3,2);

imshow(I1);

title('二值图像');

axis([50,250,50,200]);

grid on; %显示网格线axis on; %显示坐标系I2=edge(I1,'roberts');

figure;

subplot(2,3,3);

imshow(I2);

title('roberts算子分割结果');

axis([50,250,50,200]);

grid on; %显示网格线axis on; %显示坐标系I3=edge(I1,'sobel');

subplot(2,3,4);

imshow(I3);

title('sobel算子分割结果');

axis([50,250,50,200]);

grid on; %显示网格线axis on; %显示坐标系I4=edge(I1,'Prewitt');

subplot(2,3,5);

imshow(I4);

title('Prewitt算子分割结果');

axis([50,250,50,200]);

grid on; %显示网格线axis on; %显示坐标系9.LOG算子检测边缘

用MATLAB程序实现如下:

I=imread('xian.bmp');

subplot(2,2,1);

imshow(I);

title('原始图像');

I1=rgb2gray(I);

subplot(2,2,2);

imshow(I1);

title('灰度图像');

I2=edge(I1,'log');

subplot(2,2,3);

imshow(I2);

title('log算子分割结果'); 10.Canny算子检测边缘

用MATLAB程序实现如下:I=imread('xian.bmp'); subplot(2,2,1);

imshow(I);

title('原始图像')

I1=rgb2gray(I);

subplot(2,2,2);

imshow(I1);

title('灰度图像');

I2=edge(I1,'canny'); subplot(2,2,3);

imshow(I2);

title('canny算子分割结果');

11.边界跟踪(bwtraceboundary函数)

clc

clear all

I=imread('xian.bmp');

figure

imshow(I);

title('原始图像');

I1=rgb2gray(I); %将彩色图像转化灰度图像threshold=graythresh(I1); %计算将灰度图像转化为二值图像所需的门限

BW=im2bw(I1, threshold); %将灰度图像转化为二值图像

figure

imshow(BW);

title('二值图像');

dim=size(BW);

col=round(dim(2)/2)-90; %计算起始点列坐标

row=find(BW(:,col),1); %计算起始点行坐标connectivity=8;

num_points=180;

contour=bwtraceboundary(BW,[row,col],'N',connectivity,num_p oints);

%提取边界

figure

imshow(I1);

hold on;

plot(contour(:,2),contour(:,1), 'g','LineWidth' ,2); title('边界跟踪图像');

12.Hough变换

I= imread('xian.bmp');

rotI=rgb2gray(I);

subplot(2,2,1);

imshow(rotI);

title('灰度图像');

axis([50,250,50,200]);

grid on;

axis on;

BW=edge(rotI,'prewitt');

subplot(2,2,2);

imshow(BW);

title('prewitt算子边缘检测后图像');

axis([50,250,50,200]);

grid on;

axis on;

[H,T,R]=hough(BW);

subplot(2,2,3);

imshow(H,[],'XData',T,'YData',R,'InitialMagnification','fit'); title('霍夫变换图');

xlabel('\theta'),ylabel('\rho');

axis on , axis normal, hold on;

P=houghpeaks(H,5,'threshold',ceil(0.3*max(H(:))));

x=T(P(:,2));y=R(P(:,1));

plot(x,y,'s','color','white');

lines=houghlines(BW,T,R,P,'FillGap',5,'MinLength',7); subplot(2,2,4);,imshow(rotI);

title('霍夫变换图像检测');

axis([50,250,50,200]);

grid on;

axis on;

hold on;

max_len=0;

for k=1:length(lines)

xy=[lines(k).point1;lines(k).point2];

plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');

plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','yellow');

plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');

len=norm(lines(k).point1-lines(k).point2);

if(len>max_len)

max_len=len;

xy_long=xy;

end

end

plot(xy_long(:,1),xy_long(:,2),'LineWidth',2,'Color','cyan'); 13.直方图阈值法

用MATLAB实现直方图阈值法:

I=imread('xian.bmp');

I1=rgb2gray(I);

figure;

subplot(2,2,1);

imshow(I1);

title('灰度图像')

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

[m,n]=size(I1); %测量图像尺寸参数

GP=zeros(1,256); %预创建存放灰度出现概率的向量

for k=0:255

GP(k+1)=length(find(I1==k))/(m*n); %计算每级灰度出现的概率,将其存入GP中相应位置

end

subplot(2,2,2),bar(0:255,GP,'g') %绘制直方图

title('灰度直方图')

xlabel('灰度值')

ylabel('出现概率')

I2=im2bw(I,150/255);

subplot(2,2,3),imshow(I2);

title('阈值150的分割图像')

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

I3=im2bw(I,200/255); %

subplot(2,2,4),imshow(I3);

title('阈值200的分割图像')

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

14. 自动阈值法:Otsu法

用MATLAB实现Otsu算法:

clc

clear all

I=imread('xian.bmp');

subplot(1,2,1),imshow(I);

title('原始图像')

axis([50,250,50,200]);

grid on; %显示网格线axis on; %显示坐标系level=graythresh(I); %确定灰度阈值BW=im2bw(I,level);

subplot(1,2,2),imshow(BW);

title('Otsu法阈值分割图像')

axis([50,250,50,200]);

grid on; %显示网格线axis on; %显示坐标系15.膨胀操作

I=imread('xian.bmp'); %载入图像I1=rgb2gray(I);

subplot(1,2,1);

imshow(I1);

title('灰度图像')

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

se=strel('disk',1); %生成圆形结构元素

I2=imdilate(I1,se); %用生成的结构元素对图像进行膨胀

subplot(1,2,2);

imshow(I2);

title('膨胀后图像');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

16.腐蚀操作

MATLAB实现腐蚀操作

I=imread('xian.bmp'); %载入图像

I1=rgb2gray(I);

subplot(1,2,1);

imshow(I1);

title('灰度图像')

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

se=strel('disk',1); %生成圆形结构元素

I2=imerode(I1,se); %用生成的结构元素对图像进行腐蚀

subplot(1,2,2);

imshow(I2);

title('腐蚀后图像');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

17.开启和闭合操作

用MATLAB实现开启和闭合操作

I=imread('xian.bmp'); %载入图像

subplot(2,2,1),imshow(I);

title('原始图像');

axis([50,250,50,200]);

axis on; %显示坐标系

I1=rgb2gray(I);

subplot(2,2,2),imshow(I1);

title('灰度图像');

axis([50,250,50,200]);

axis on; %显示坐标系

se=strel('disk',1); %采用半径为1的圆作为结构元素

I3=imclose(I1,se); %闭合操作subplot(2,2,3),imshow(I2);

title('开启运算后图像');

axis([50,250,50,200]);

axis on; %显示坐标系subplot(2,2,4),imshow(I3);

title('闭合运算后图像');

axis([50,250,50,200]);

axis on; %显示坐标系18.开启和闭合组合操作

I=imread('xian.bmp'); %载入图像subplot(3,2,1),imshow(I);

title('原始图像');

axis([50,250,50,200]);

axis on; %显示坐标系I1=rgb2gray(I);

subplot(3,2,2),imshow(I1);

title('灰度图像');

axis([50,250,50,200]);

axis on; %显示坐标系se=strel('disk',1);

I3=imclose(I1,se); %闭合操作

subplot(3,2,3),imshow(I2);

title('开启运算后图像');

axis([50,250,50,200]);

axis on; %显示坐标系

subplot(3,2,4),imshow(I3);

title('闭合运算后图像');

axis([50,250,50,200]);

axis on; %显示坐标系

se=strel('disk',1);

I4=imopen(I1,se);

I5=imclose(I4,se);

subplot(3,2,5),imshow(I5); %开—闭运算图像title('开—闭运算图像');

axis([50,250,50,200]);

axis on; %显示坐标系

I6=imclose(I1,se);

I7=imopen(I6,se);

subplot(3,2,6),imshow(I7); %闭—开运算图像title('闭—开运算图像');

axis([50,250,50,200]);

axis on; %显示坐标系

19.形态学边界提取

利用MATLAB实现如下:

I=imread('xian.bmp'); %载入图像

subplot(1,3,1),imshow(I);

title('原始图像');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

I1=im2bw(I);

subplot(1,3,2),imshow(I1);

title('二值化图像');

axis([50,250,50,200]);

grid on; %显示网格线

axis on; %显示坐标系

I2=bwperim(I1); %获取区域的周长subplot(1,3,3),imshow(I2);

title('边界周长的二值图像');

axis([50,250,50,200]);

grid on;

axis on;

数字图像处理实验1

实验一 实验内容和步骤 练习图像的读取、显示和保存图像数据,步骤如下: (1)使用命令figure(1)开辟一个显示窗口 (2)读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内显示、二值图像和灰度图像,注上文字标题。 (3)保存转换后的灰度图像和二值图像 (4)在同一个窗口显示转换后的灰度图像的直方图 I=imread('BaboonRGB.bmp'); figure,imshow(I); I_gray=rgb2gray(I); figure,imshow(I_gray); I_2bw=Im2bw(I_gray); figure,imshow(I_2bw); subplot(1,3,1),imshow(I),title('RGB图像'); subplot(1,3,2),imshow(I_gray),title('灰度图像'); subplot(1,3,3),imshow(I_2bw),title('二值图像'); imwrite(I_gray,'Baboongray.png'); imwrite(I_2bw,'Baboon2bw.tif'); figure;imhist(I_gray);

RGB 图 像灰度图 像二值图 像 050100150200250 500 1000 1500 2000 2500 3000

(5)将原RGB 图像的R 、G 、B 三个分量图像显示在figure(2)中,观察对比它们的特点,体会不同颜色所对应的R 、G 、B 分量的不同之处。 [A_RGB,MAP]=imread('BaboonRGB.bmp'); subplot(2,2,1),imshow(A_RGB),title('RGB'); subplot(2,2,2),imshow(A_RGB(:,:,1)),title('R'); subplot(2,2,3),imshow(A_RGB(:,:,2)),title('G'); subplot(2,2,4),imshow(A_RGB(:,:,3)),title('B'); (6)将图像放大1.5倍,插值方法使用三种不同方法,在figure(3)中显示放大后的图像,比较不同插值方法的结果有什么不同。将图像放大到其它倍数,重复实验;A=imread('BaboonRGB.bmp'); figure(3),imshow(A),title('原图像'); B=imresize(A,1.5,'nearest'); figure(4),imshow(B),title('最邻近法') C=imresize(A,1.5,'bilinear'); ; figure(5),imshow(C),title('双线性插值'); D=imresize(A,1.5,'bicubic'); figure(6),imshow(D),title('双三次插值 '); RGB R G B

数字图像处理课程心得

数字图像处理课程心得 本学期,我有幸学习了数字图像处理这门课程,这也是我大学学习中的最后一门课程,因此这门课有着特殊的意义。人类传递信息的主要媒介是语音和图像。据统计,在人类接受的信息中,听觉信息占20%,视觉信息占60%,其它如味觉、触觉、嗅觉信息总的加起来不过占20%。可见图像信息是十分重要的。通过十二周的努力学习,我深刻认识到数字图像处理对于我的专业能力提升有着比较重要的作用,我们可以运用Matlab对图像信息进行加工,从而满足了我们的心理、视觉或者应用的需求,达到所需图像效果。 数字图像处理起源于20世纪20年代,当时通过海底电缆从英国伦敦到美国纽约采用数字压缩技术传输了第一幅数字照片。此后,由于遥感等领域的应用,使得图像处理技术逐步受到关注并得到了相应的发展。第三代计算机问世后,数字图像处理便开始迅速发展并得到普遍应用。由于CT的发明、应用及获得了备受科技界瞩目的诺贝尔奖,使得数字图像处理技术大放异彩。目前数字图像处理科学已成为工程学、计算机科学、信息科学、统计学、物理、化学、生物学、医学甚至社会科学等领域中各学科之间学习和研究的对象。随着信息高速公路、数字地球概念的提出以及Internet的广泛应用,数字图像处理技术的需求与日俱增。其中,图像信息以其信息量大、传输速度快、作用距离远等一系列优点成为人类获取信息的重要来源及利用信息的重要手段,因此图像处理科学与技术逐步向其他学科领域渗透并为其它学科所利用是必然的。 数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。图像处理科学是一门与国计民生紧密相联的应用科学,它给人类带来了巨大的经济和社会效益,不久的将来它不仅在理论上会有更深入的发展,在应用上亦是科学研究、社会生产乃至人类生活中不可缺少的强有力的工具。它的发展及应用与我国的现代化建设联系之密切、影响之深远是不可估量的。在信息社会中,数字图象处理科学无论是在理论上还是在实践中都存在着巨大的潜力。近几十年,数字图像处理技术在数字信号处理技术和计算机技术发展的推动下得到了飞速的发展,正逐渐成为其他科学技术领域中不可缺少的一项重要工具。数字图像处理的应用领域越来越广泛,从空间探索到微观研究,从军事领域到工农业生产,从科学教育到娱乐游戏,越来越多的领域用到了数字图像处理技术。 虽然通过一学期的课程学习我们还没有完全掌握数字图像处理技术,但也收获了不少,对于数字图像处理方面的知识有了比较深入的了解,当然也更加理解了数字图像的本质,即是一些数字矩阵,但灰度图像和彩色图像的矩阵形式是不同的。对于一些耳熟能详的数字图像相关术语有了明确的认识,比如常见的:像素(衡量图像的大小)、分辨率(衡量图像的清晰程度)、位图(放大后会失真)、矢量图(经过放大不会失真)等大家都能叫上口却知识模糊的名词。也了解图像处理技术中一些常用处理技术的实质,比如锐化处理是使模糊的图像变清晰,增强图像的边缘等细节。而平滑处理是的目的是消除噪声,模糊图像,在提取大目标之前去除小的细节或弥合目标间的缝隙。对常提的RGB图像和灰度图像有了明确的理解,这对大家以后应用Photoshop等图像处理软件对图像进行处理打下了

数字图像处理技术试题答案

数字图像处理技术试题库 一、单项选择题:(本大题 小题, 2分/每小题,共 分) 1.自然界中的所有颜色都可以由()组成 A.红蓝绿 B.红黄绿 C.红黄蓝绿 D.红黄蓝紫白 2. 有一个长宽各为200个象素,颜色数为16色的彩色图,每一个象素都用R(红)、G(绿)、B(蓝)三个分量表示,则需要()字节来表示 A.100 B.200 C.300 D. 400 3.颜色数为16种的彩色图,R(红)、G(绿)、B(蓝)三个分量分别由1个字节表示,则调色板需要()字节来表示 A.48 B.60 C.30 D. 40 4.下面哪一个不属于bmp 文件的组成部分 A .位图文件信息头 B. 位图文件头 C.调色板 D. 数据库标示 5.位图中,最小分辨单元是 A.像素 B.图元 C.文件头 D.厘米 6.真彩色的颜色数为 A.888?? B. 161616?? C.128128128?? D.256256256?? 7.如果图像中出现了与相邻像素点值区别很大的一个点,即噪声,则可以通过以下方式去除 A.平滑 B.锐化 C. 坐标旋转 D. 坐标平移 8.下面哪一个选项不属于图像的几何变换() A.平移 B.旋转 C. 镜像 D. 锐化 9.设平移量为x x t t (,),则平移矩阵为() A .1 0 00 1 0 1x y t t ?????????? B. 1 0 00 -1 0 1x y t t ??-???????? C.1 0 00 1 0 - 1x y t t ????????-?? D.1 0 00 1 0 - -1x y t t ?????????? 10.设旋转角度为a ,则旋转变换矩阵为() A .cos() sin() 0sin() cos() 00 0 1a a a a -?????????? B .cos() sin() 0sin() cos() 00 0 1a a a a ?????????? C .sin() cos() 0 sin() cos() 0 0 0 1a a a a -?????????? D .cos() sin() 0sin() cos() 00 0 1a a a a -????-?????? 11.下面哪一个选项是锐化模板 A .-1 -1 -1-1 9 -1-1 -1 -1??????????g B .-1 -1 -1-1 -9 -1-1 -1 -1??????????g C .-1 -1 -1-1 8 -1-1 -1 -1??????????g D .-1 -1 -1-1 6 -1-1 -1 -1?????????? g 12.真彩色所能表示的颜色数目是 A .128128? B .256256256 ?? C .256 D .6059

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 1)掌握读、写图像的基本方法。 2)掌握MATLAB语言中图像数据与信息的读取方法。 3)理解图像灰度变换处理在图像增强的作用。 4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方 法。 二、实验内容与要求 1.熟悉MATLAB语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。 1)将MATLAB目录下work文件夹中的forest.tif图像文件读出.用到imread, imfinfo 等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。将这个图像显示出来(用imshow)。尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。 2)将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray() 将其 转化为灰度图像,记为变量B。 2.图像灰度变换处理在图像增强的作用 读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。 3.绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程和调用Matlab函数完成如下实验。 1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用 imadjust函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰

度直方图与原灰度直方图的区别。 2) 对B 进行直方图均衡化处理,试比较与源图的异同。 3) 对B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。 图1.1 分段线性变换函数 三、实验原理与算法分析 1. 灰度变换 灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。 1) 图像反转 灰度级范围为[0, L-1]的图像反转可由下式获得 r L s --=1 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围, 如直接使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换: s = c log(1 + r ),c 为常数,r ≥ 0 3) 幂次变换: 0,0,≥≥=γγc cr s 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

数字图像处理的概念教学总结

数字图像处理的概念

二、数字图像处理的概念 1.什么是图像 “图”是物体投射或反射光的分布,“像”是人的视觉系统对图的接受在大脑中形成的印象或反映。 是客观和主观的结合。 2数字图像是指由被称作象素的小块区域组成的二维矩阵。将 物理图象行列划分后,每个小块区域称为像素(pixel)。 –每个像素包括两个属性:位置和灰度。 对于单色即灰度图像而言,每个象素的亮度用一个数值来表示,通常数值范围在0到255之间,即可用一个字节来表示, 0表示黑、255表示白,而其它表示灰度级别。 物理图象及对应 的数字图象 3彩色图象可以用红、绿、蓝三元组的二维矩阵来表示。 –通常,三元组的每个数值也是在0到255之间,0表示相应的基色在该象素中没有,而255则代表相应的基色在该象素中取得最大值,这种情况下每个象素可用三个字节来表示。 4什么是数字图像处理 数字图像处理就是利用计算机系统对数字图像进行各种目的的处理 5对连续图像f(x,y)进行数字化:空间上,图像抽样;幅度上,灰度级量化 x方向,抽样M行 y方向,每行抽样N点

整个图像共抽样M×N个像素点 一般取M=N=2n=64,128,256,512,1024,2048 6数字图像常用矩阵来表示: f(i,j)=0~255,灰度级为256,设灰度量化为8bit 7 数字图像处理的三个层次 8 图像处理: 对图像进行各种加工,以改善图像的视觉效果;强调图像之间进行的变换;图像处理是一个从图像到图像的过程。 9图像分析:对图像中感兴趣的目标进行提取和分割,获得目标的客观信息 以观察者为中心研究客观世界; 图像分析是一个从图像到数据的过程。 10图像理解:研究图像中各目标的性质和它们之间的相互联系;得出对图像内 以客观世界为中心,借助知识、经验来推理、认识客观世界,属于高层操作 (符号运算) N N N N f N f N f N f f f N f f f y x f ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - - - - - - = )1 ,1 ( )1,1 ( )0,1 ( )1 ,1( )1,1( )0,1( )1 ,0( )1,0( )0,0( ) ,( 符号 目标 像素 高层 中层 低层 高 低 抽 象 程 度 数 据 量 操 作 对 象 小 大语 义

数字图像处理技术练习

数字图像处理技术练习

1. 图像中每个像素点的灰度值如下图所示: 分别求经过邻域平滑模板、邻域高通模板和中值滤波处理后的结果。其中不能 处理的点保持不变如果处理后的值为负数则变为0。邻域平滑模 板01011 14010H ????=??????,邻域高通模板010141010H -????=--????-?? ,中值滤波窗口取3×3矩阵,窗口中心为原点。 2. 图像中每个像素点的灰度值如下图所示: 分别求经过邻域平滑模板、邻域高通模板和中值滤波处理后的结果。其 中不能处理的点保持不变如果处理后的值为负数则变为0。邻域平滑模 板11111018111H ????=??????,邻域高通模板111181111H ---????=--????---?? ,中值滤波窗口取3×3矩阵,窗口中心为原点。 3.设有以下信源符号w1,w2,w3,w4,w5和概率P(w1)=0.3, P(w2)=0.2, P(w3)=0.2, P(w4)=0.2, P(w5)=0.1。请对此信源进行Huffman 编码,并计 算熵,平均码长和编码效率。 (log 20.3= -1.737,log 20.2= -2.322,log 20.1=-3.322) 4.设有以下信源符号w1,w2,w3,w4,w5和概率P(w1)=0.5, P(w2)=0.2, P(w3)=0.1, P(w4)=0.1, P(w5)=0.1, 请对此信源进行Huffman 编码,并计算熵,平均码

幅 4.一个灰度变换形式如下图所示,该灰度变换的作用是( B )。 A .灰度反转 B .二值化 C .灰度均衡 D .对比度增强 5.一个灰度变换形式如下图所示,该灰度变换的作用是( A )。 A .灰度反转 B .二值化 C .灰度均衡 D .对比度增强 6.一个三段线性变换如下图所示,横轴表示原始灰度,纵轴表示变换后灰度。以下关于该变换的说法错误的是( A )。 A .(0,80)区间的灰度对比度增强 B .(80,130)区间的灰度对比度增强 C .(130,255)区间的灰度对比度降低 D .变换后的灰度的区间还是(0,255) 7.将灰度或单一波段的图像变换为彩色图像,从而把人眼不能区分的微小的灰度差别显示为明显的彩色差异。这种处理方法称为( C )。 A .真彩色增强 B .假彩色增强 C .伪彩色增强 D .彩色图像灰度化 8.灰度图像的高帽变换的定义为THT()()f f f g =-,该变换的作用是0 320255

武汉科技大学 数字图像处理实验报告

二○一四~二○一五学年第一学期电子信息工程系 实验报告书 班级:电子信息工程(DB)1102班姓名 学号: 课程名称:数字图像处理 二○一四年十一月一日

实验一图像直方图处理及灰度变换(2学时) 实验目的: 1. 掌握读、写、显示图像的基本方法。 2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。 3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。 实验内容: 1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。 2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。 3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。 实验步骤: 1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图: I1=imread('pic.jpg'); %读取图像 I2=rgb2gray(I1); %将彩色图变成灰度图 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('灰度图'); subplot(3,2,4); imhist(I2); %统计直方图 title('统计直方图'); subplot(3,2,5); J=histeq(I2); %直方图均衡 imshow(J); title('直方图均衡'); subplot(3,2,6); imhist(J); title('统计直方图');

原 图 灰度图 01000 2000 3000统计直方图 100200直方图均衡 0统计直方图 100200 仿真分析: 将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。从直方图上反应,暗部到亮部像素分布更加均匀。 2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png'); I2=im2bw(I1,0.5); %选取阈值为0.5 I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('阈值变换'); subplot(3,2,5); imshow(I3); title('灰度调整'); subplot(3,2,2); imhist(I1); title('统计直方图'); subplot(3,2,4);

数字图像处理实验 实验二

实验二MATLAB图像运算一、实验目的 1.了解图像的算术运算在数字图像处理中的初步应用。 2.体会图像算术运算处理的过程和处理前后图像的变化。 二、实验步骤 1.图像的加法运算-imadd 对于两个图像f x,y和 (x,y)的均值有: g x,y=1 f x,y+ 1 (x,y) 推广这个公式为: g x,y=αf x,y+β (x,y) 其中,α+β=1。这样就可以得到各种图像合成的效果,也可以用于两张图像的衔接。说明:两个示例图像保存在默认路径下,文件名分别为'rice.png'和'cameraman.tif',要求实现下图所示结果。 代码: I1 = imread('rice.png'); I2 = imread('cameraman.tif'); I3 = imadd(I1, I2,'uint8'); I4 = imadd(I1, I2,'uint16'); subplot(2, 2, 1), imshow(I1), title('?-ê?í???1'); subplot(2, 2, 2), imshow(I2), title('?-ê?í???2'); subplot(2, 2, 3), imshow(I3), title('8??í?????ê?'); subplot(2, 2, 4), imshow(I4), title('16??í?????ê?'); 结果截图:

2.图像的减法运算-imsubtract 说明: 背景图像可通过膨胀算法得到background = imopen(I,strel('disk',15));,要求实现下图所示结果。 示例代码如下: I1 = imread('rice.png'); background = imerode(I1, strel('disk', 15)); rice2 = imsubtract(I1, background); subplot(2, 2, 1), imshow(I1), title('?-ê?í???'); subplot(2, 2, 2), imshow(background), title('±3?°í???'); subplot(2, 2, 3), imshow(rice2), title('′|àíoóμ?í???'); 结果截图: 3.图像的乘法运算-immultiply

数字图像处理

院系:计算机科学学院 专业:计算机科学与技术 年级: 09级 课程名称:数字图像处理 组号: 25组 指导教师:孙阳光 学号: 姓名: 2012 年 6 月 13 日

年 级 班号学号 专 业 姓名实 验名称MATLAB图像处理编程基础 实验 类型 设计型综合型创新型 √ 实验目的或要求加深对数字图像处理理论课程的理解,进一步熟悉数字图像处理课程的相关算法和原理选择一副图像,叠加椒盐噪声,分别用邻域平均法和中值滤波法对该图像进行滤波,显示滤波后的图像,比较和分析各滤波器的效果。 选择一副图像,叠加零均值高斯噪声,设计一种处理方法,既能去噪声,又能保持边缘清晰。

实验原理(算法流程图或者含注释的源代码)二、算法原理 平滑滤波器用滤波模板确定的领域内象素的平均灰度值去代替图像中的每一个像素点的值,这种处理减少了图像灰度的“尖锐”变化,常称为邻域平均法。邻域平均法有力地抑制了噪声,同时也引起了模糊,模糊程度与邻域半径成正比。 中值滤波法是一种非线性平滑技术,它将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值.中值滤波法对消除椒盐噪音非常有效。 图像平滑往往使图像中的边界、轮廓变得模糊,为了减少这类不利效果的影响,这就需要利用图像锐化技术,使图像的边缘变的清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变的清晰。 三、Matlab代码 1: I = imread('eight.tif'); J = imnoise(I,'salt & pepper',0.02); subplot(231); imshow(I);title('原图象'); subplot(232); imshow(J);title('添加椒盐噪声图象'); k1 = filter2(fspecial('average', 3), J); k2 = filter2(fspecial('average', 5), J); k3 = filter2(fspecial('average', 7), J); k4 = filter2(fspecial('average', 9), J); subplot(233); imshow(uint8(k1));title('3×3模板平滑滤波'); subplot(234); imshow(uint8(k2));title('5×5模板平滑滤波'); subplot(235); imshow(uint8(k3));title('7×7模板平滑滤波'); subplot(236); imshow(uint8(k4));title('9×9模板平滑滤波'); I = imread('eight.tif'); J = imnoise(I,'salt & pepper',0.02); subplot(231); imshow(I);title('原图象'); subplot(232); imshow(J);title('添加椒盐噪声图象'); k1 = medfilt2(J); k2 = medfilt2(J,[5,5]); k3 = medfilt2(J,[7,7]); k4 = medfilt2(J,[9,9]); subplot(233); imshow(k1);title('3×3模板中值滤波'); subplot(234); imshow(k2);title('5×5模板中值滤波'); subplot(235); imshow(k3);title('7×7模板中值滤波'); subplot(236); imshow(k4);title('9×9模板中值滤波');

数字图像处理技术现状及发展趋势

数字图像处理技术现状及发展趋势 摘要现今是计算机技术、网络技术以及多媒体技术高速发展的时代,更多高科技技术正在全面发展,数字图像处理技术作为一种新式技术,如今已经广泛地应用于人们的生产生活中。数字图像处理技术的应用和发展为人们的生活发展带来了很多的便利,在遥感技术、工业检测方面发展迅速,在医学领域,气象通信领域也有很大的成就。由此,本文主要探讨数字图像处理技术的现状及发展趋势。 关键词数字图像处理技术;现状;发展趋势 现今是计算机和网络技术高速发展的时代,计算机的应用给人们的生产生活带来了很大的便利,人们应用计算机处理各种复杂的数据,将传统方式不能处理的问题以全新的技术和方式有效解决[1]。数字图像处理技术是应用较为广泛的一种技术,在具体应用过程中,能够经过增强、复原、分割等过程对数据进行处理,且具有多样性、精度高、处理量大的显著优势,本文对数字图像处理技术的现状及发展趋势进行研究和探讨。 1 数字图像处理技术发展现状 数字图像处理技术是近年来发展较为迅速的一种技术,具体是指应用计算机对图像进行一系列的处理,最终达到人们要求的水平,在具体的处理过程中,以改善图像的视觉效果为核心,最终呈现出人们想要表达的意思。笔者查阅国内外诸多文献库,发现对数字图像处理技术的研究多数集中于图像数字化、图像增强、图像还原、图像分割等领域[2]。最初数字图像处理技术产生于20世纪20年代,当时普遍将其应用于报纸业,发展至20世纪50年代,图像处理技术跟随着计算机的发展而迅速发展,也有更多的人开始关注和应用该技术,当时在各国的太空计划中发挥了巨大作用,尤其是对月球照片的处理,获得了很大的成功。发展到20世纪70年代时,数字图像处理技术的应用已经很普遍了,尤其是在计算机断层扫面(CT)等方面,该技术的应用得到了一致好评,而现今,数字图像处理技术随处可见,已广泛应用在各行各业中。 2 数字图像处理技术的特点 数字图像处理技术有以下几个特点:①图像处理的多样性特点。数字图像处理技术可以编写多样的算法,以不同的程序模式施加于数字图像技术上,根据实际需求对图像进行处理,因此最终获取的图像效果也截然不同。②图像处理精度高。应用数字图像处理技术处理的图像,其精度和再现性都提高了一个层次,尤其是在各种算法和程序的支撑下,进一步确保了计算的精度和正确性。③交叉融合了多门学科和新技术。数字图像处理的应用基础包含了众多学科和技术,其中数学和物理是关键,而通信、计算机、电子等技术则是确保其处理质量的关键技术。④数据处理量大[3]。图像本身就包含了大量的信息,数字图像处理技术可以更好地区分有用信息和冗余信息,从而获取处理的关键性信息。

数字图像处理实验报告

目录 实验一:数字图像的基本处理操作 (4) :实验目的 (4) :实验任务和要求 (4) :实验步骤和结果 (5) :结果分析 (8) 实验二:图像的灰度变换和直方图变换 (9) :实验目的 (9) :实验任务和要求 (9) :实验步骤和结果 (9) :结果分析 (13) 实验三:图像的平滑处理 (14) :实验目的 (14) :实验任务和要求 (14) :实验步骤和结果 (14) :结果分析 (18) 实验四:图像的锐化处理 (19) :实验目的 (19) :实验任务和要求 (19) :实验步骤和结果 (19) :结果分析 (21)

实验一:数字图像的基本处理操作 :实验目的 1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用; 2、实现图像的读取、显示、代数运算和简单变换。 3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。:实验任务和要求 1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分 成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分 别显示,注上文字标题。 3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换, 显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。 4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里 叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的 对应关系。 :实验步骤和结果 1.对实验任务1的实现代码如下: a=imread('d:\'); i=rgb2gray(a); I=im2bw(a,; subplot(1,3,1);imshow(a);title('原图像'); subplot(1,3,2);imshow(i);title('灰度图像'); subplot(1,3,3);imshow(I);title('二值图像'); subplot(1,3,1);imshow(a);title('原图像'); 结果如图所示:

数字图像处理——彩色图像实验报告

6.3实验步骤 (1)对彩色图像的表达和显示 * * * * * * * * * * * *显示彩色立方体* * * * * * * * * * * * * rgbcube(0,0,10); %从正面观察彩色立方体 rgbcube(10,0,10); %从侧面观察彩色立方 rgbcube(10,10,10); %从对角线观察彩色立方体 %* * * * * * * * * *索引图像的显示和转换* * * * * * * * * * f=imread('D:\Picture\Fig0604(a)(iris).tif'); figure,imshow(f);%f是RGB真彩图像 %rgb图像转换成8色索引图像,不采用抖动方式 [X1,map1]=rgb2ind(f,8,'nodither'); figure,imshow(X1,map1); %采用抖动方式转换到8色索引图像 [X2,map2]=rgb2ind(f,8,'dither'); figure,imshow(X2,map2); %显示效果要好一些 g=rgb2gray(f); %f转换为灰度图像 g1=dither(g);%将灰色图像经过抖动处理,转换打二值图像figure,imshow(g);%显示灰度图像 figure,imshow(g1);%显示抖动处理后的二值图像 程序运行结果:

彩色立方体原图 不采用抖动方式转换到8色索引图像采用抖动方式转换到8色索引图像 灰度图像抖动处理后的二值图像

(2)彩色空间转换 f=imread('D:\Picture\Fig0604(a)(iris).tif'); figure,imshow(f);%f是RGB真彩图像 %转换到NTSC彩色空间 ntsc_image=rgb2ntsc(f); figure,imshow(ntsc_image(:,:,1));%显示亮度信息figure,imshow(ntsc_image(:,:,2));%显示色差信息figure,imshow(ntsc_image(:,:,3));%显示色差信息 %转换到HIS彩色空间 hsi_image=rgb2hsi(f); figure,imshow(hsi_image(:,:,1));%显示色度信息figure,imshow(hsi_image(:,:,2)); %显示饱和度信息figure,imshow(hsi_image(:,:,3));%显示亮度信息 程序运行结果: 原图 转换到NTSC彩色空间

数字图像处理心得体会

《数字图像处理》心得体会 图像处理是指对图像信息进行加工,从而满足人类的心理、视觉或者应用的需求的一种行为。图像处理方法一般有数字法和光学法两种,其中数字法的优势很明显,已经被应用到了很多领域中,相信随着科学技术的发展,其应用空间将会更加广泛。数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。数字图像处理是从20世纪60年代以来随着计算机技术和VLSL的发展而产生、发展和不断成熟起来的一个新兴技术领域。数字图像处理技术其实就是利用各种数字硬件与计算机,对图像信息通过转换而得到的电信号进行相应的数学运算,例如图像去噪、图像分割、提取特征、图像增强、图像复原等,以便提高图像的实用性。其特点是处理精度比较高,并且能够对处理软件进行改进来优化处理效果,操作比较方便,但是由于数字图像需要处理的数据量一般很大,因此处理速度有待提高。 由于数字图像处理的方便性和灵活性,因此数字图像处理技术已经成为了图像处理领域中的主流。数字图像处理技术主要涉及到的关键技术有:图像的采集与数字化、图像的编码、图像的增强、图像恢复、图像分割、图像分析等。? 图像的采集与数字化:就是通过量化和取样将一个自然图像转换为计算机能够处理的数字形式。? 图像编码:图像编码的目的主要是来压缩图像的信息量,以便能够满足存储和传输的要求。? 图像的增强:图像的增强其主要目的是使图像变得清晰或者将其变换为机器能够很容易分析的形式,图像增强方法一般有:直方图处理、灰度等级、伪彩色处理、边缘锐化、干扰抵制。?

图像的恢复:图像恢复的目的是减少或除去在获得图像的过程中因为各种原因而产生的退化,可能是由于光学系统的离焦或像差、被摄物与摄像系统两者之间的相对运动、光学或电子系统的噪声与介于被摄像物跟摄像系统之间的大气湍流等等。? 图像的分割:图像分割是将图像划分为一些互相不重叠的区域,其中每一个区域都是像素的一个连续集,通常采用区域法或者寻求区域边界的境界法。? 图像分析:图像分析是指从图像中抽取某些有用的信息、数据或度量,其目的主要是想得到某种数值结果。图像分析的内容跟人工智能、模式识别的研究领域有一定的交叉。? 数字图像处理的特点主要表现在以下几个方面:? 1)?数字图像处理的信息大多是二维信息,处理信息量很大。因此对计算机的计算速度、存储容量等要求较高。? 2)?数字图像处理占用的频带较宽。与语言信息相比,占用的频带要大几个数量级。所以在成像、传输、存储、处理、显示等各个环节的实现上技术难度较大,成本亦高。这就对频带压缩技术提出了更高的要求。? 3)?数字图像中各个像素不是独立的,其相关性大。在图像画面上,经常有很多像素有相同或接近的灰度。所以,图像处理中信息压缩的潜力很大。?图像受人的因素影响较大,因为图像一般是给人观察和评价的。? 数字图像处理的优点主要表现在4个方面。? 1)?再现性好。数字图像处理与模拟图像处理的根本不同在于它不会因图像的存储、传输或复制等一系列变换操作而导致图像质量的退化。只要图像在数字化时准确地表现了原稿,那么数字图像处理过程始终能保持图像的再现。? 2)?处理精度高。将一幅模拟图像数字化为任意大小的二维数组,主要取决于

数字图像处理技术的现状及其发展方向(笔记)

数字图像处理技术的现状及其发展方向 一、数字图像处理历史发展 数字图像处理(Digital Image Processing)将图像信号转换成数字信号并利用计算机对其进行处理。 1.起源于20世纪20年代。 2.数字图像处理作为一门学科形成于20世纪60年代初期,美国喷气推进实验室(JPL)推动了数字图像处理这门学科的诞生。 3.1972年英国EMI公司工程师Housfield发明了用于头颅诊断的X射线计算机断层摄影装置即CT(Computer Tomograph),1975年EMI公司又成功研制出全身用的CT装置,获得了人体各个部位鲜明清晰的断层图像。 4.从70年代中期开始,随着计算机技术和人工智能、思维科学研究的迅速发展,数字图像处理向更高、更深层次发展,人们已开始研究如何用计算机系统解释图像,实现类似人类视觉系统理解外部世界,其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论。 二、数字图像处理的主要特点 1.目前数字图像处理的信息大多是二维信息,处理信息量很大,对计算机的计算速度、存储容量等要求较高。 2.数字图像处理占用的频带较宽,在成像、传输、存储、处理、显示等各个环节的实现上,技术难度较大,成本也高,这就对频带压缩技术提出了更高的要求。 3.数字图像中各个像素是不独立的,其相关性大。因此,图像处理中信息压缩的潜力很大。 4.由于图像是三维景物的二维投影,一幅图像本身不具备复现三维景物的全部几何信息的能力,要分析和理解三维景物必须作合适的假定或附加新的测量。在理解三维景物时需要知识导引,这也是人工智能中正在致力解决的知识工程问题。 5.一方面,数字图像处理后的图像一般是给人观察和评价的,因此受人的因素影响较大,作为图像质量的评价还有待进一步深入的研究;另一方面,计算机视觉是模仿人的视觉,人的感知机理必然影响着计算机视觉的研究,这些都是心理学和神经心理学正在着力研究的课题。 三、数字图像处理的优点 1.再现性好;图像的存储、传输或复制等一系列变换操作不会导致图像质量的退化。 2.处理精度高;可将一幅模拟图像数字化为任意大小的二维数组,现代扫描仪可以把每个像素的灰度等级量化为16位甚至更高。 3.适用面宽;图像可以来自多种信息源,图像只要被变换为数字编码形式后,均是用二维数组表示的灰度图像组合而成,因而均可用计算机来处理。 4.灵活性高;数字图像处理不仅能完成线性运算,而且能实现非线性处理,即凡是可以用数学公式或逻辑关系来表达的一切运算均可用数字图像处理实现。 四、数字图像处理过程及其主要进展 常见的数字图像处理有:图像的采集、数字化、编码、增强、恢复、变换、

数字图像处理实验报告

数字图像处理实验 报告 学生姓名:学号: 专业年级: 09级电子信息工程二班

实验一常用MATLAB图像处理命令 一、实验内容 1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 实验结果如右图: 代码如下: Subplot (1,3,1) i=imread('E:\数字图像处理\2.jpg') imshow(i) title('RGB') Subplot (1,3,2) j=rgb2gray(i) imshow(j) title('灰度') Subplot (1,3,3) k=im2bw(j,0.5) imshow(k) title('二值') 2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (3,2,1) i=imread('E:\数字图像处理 \16.jpg') x=imresize(i,[250,320]) imshow(x) title('原图x') Subplot (3,2,2) j=imread(''E:\数字图像处理 \17.jpg') y=imresize(j,[250,320]) imshow(y) title('原图y') Subplot (3,2,3) z=imadd(x,y) imshow(z)

title('相加结果');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果') Subplot (3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果') Subplot (3,2,6);z=imdivide(x,y);imshow(z);title('相除结果') 3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (2,2,1) i=imread('E:\数字图像处理 \23.jpg') imshow(i) title('原图') Subplot (2,2,2) J = imadjust(i,[],[],3); imshow(J) title('变暗') Subplot (2,2,3) J = imadjust(i,[],[],0.4) imshow(J) title('变亮') Subplot (2,2,4) J=255-i Imshow(J) title('变负') 二、实验总结 分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。 解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。 乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。 除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。 加法运算的一个重要应用是对同一场景的多幅图像求平均值 减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

数字图像处理实验

《数字图像处理》 实验报告 学院:信息工程学院 专业:电子信息工程 学号: 姓名: 2015年6月18日

目录 实验一图像的读取、存储和显示 (2) 实验二图像直方图分析 (6) 实验三图像的滤波及增强 (15) 实验四噪声图像的复原 (19) 实验五图像的分割与边缘提取 (23) 附录1MATLAB简介 (27)

实验一图像的读取、存储和显示 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像的显示。 二、实验原理 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 三、实验设备 (1) PC计算机 (2) MatLab软件/语言包括图像处理工具箱(Image Processing Toolbox) (3) 实验所需要的图片 四、实验内容及步骤 1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中; 2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像; 4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息; 5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件设为flower.jpg语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。 6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。 7.用imread()读入图像:Lenna.jpg 和camema.jpg; 8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;

相关文档
最新文档