数字图像处理 MATLAB上机作业(DOC)

数字图像处理 MATLAB上机作业(DOC)
数字图像处理 MATLAB上机作业(DOC)

数字图像处理实验报告

指导老师:

学号

姓名

班级

1.产生右图所示图像f1(m,n),其中图像大小为256×256,中间亮条为128×32,暗处=0,亮处=100。

对其进行FFT:

①同屏显示原图f1(m,n)和FFT(f1)的幅度谱图;

②若令f2(m,n)=(-1)(m+n)f1(m,n),重复以上过程,

比较二者幅度谱的异同,简述理由;

③若将f2(m,n)顺时针旋转90度得到f3(m,n),试显示FFT(f3)的幅度谱,

并与FFT(f2)的幅度谱进行比较;

④若将f1(m,n)顺时针旋转90度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),

试显示FFT(f5)的幅度谱,并指出其与FFT(f1)和FFT(f4)的关系;

⑤若令f6(m,n)=f2(m,n)+f3(m,n),试显示FFT(f6)的幅度谱,并指出其与FFT(f2)和FFT(f3)的关系,比较FFT(f6)和FFT(f5)的幅度谱。

f1=zeros(256,256);

for i=64:1:192

for j=122:1:144

f1(i,j)=100;

end

end

fft_f1=fft2(f1);

fft_f1=abs(fft_f1);

tmax=fft_f1(1,1);

tmin=fft_f1(1,1);

for i=1:256

for j=1:256

if tmax

tmax=fft_f1(i,j);

end

if tmin>fft_f1(i,j)

tmin=fft_f1(i,j);

end

end

end

delta=tmax-tmin;

for i=1:256

for j=1:256

fft_f1(i,j)=255*(fft_f1(i,j)-tmin)/delta;

end

end

subplot(1,2,1);

imshow(f1);

title('原图');

subplot(1,2,2);

imshow(fft_f1);

title('原图的幅度谱');

for i=1:256

for j=1:256

f2(i,j)=(-1)^(i+j)*f1(i,j);

end

end

fft_f2=fft2(f2);

fft_f2=abs(fft_f2);

tmax=fft_f2(1,1);

tmin=fft_f2(1,1);

for i=1:256

for j=1:256

if tmax

tmax=fft_f2(i,j);

end

if tmin>fft_f2(i,j)

tmin=fft_f2(i,j);

end

end

end

delta=tmax-tmin;

for i=1:256

for j=1:256

fft_f2(i,j)=255*(fft_f2(i,j)-tmin)/delta;

end

end

subplot(2,2,1);

imshow(f1);

title('原图');

subplot(2,2,2);

imshow(fft_f1);

title('原图的幅度谱');

subplot(2,2,3);

imshow(f2);

title('原图中心化');

subplot(2,2,4);

imshow(fft_f2);

title('原图中心化的幅度谱');

f3=imrotate(f2,-90,'bilinear');

fft_f3=fft2(f3);

fft_f3=abs(fft_f3);

tmax=fft_f3(1,1);

tmin=fft_f3(1,1);

for i=1:256

for j=1:256

if tmax

tmax=fft_f3(i,j);

end

if tmin>fft_f3(i,j)

tmin=fft_f3(i,j);

end

end

end

delta=tmax-tmin;

for i=1:256

for j=1:256

fft_f3(i,j)=255*(fft_f3(i,j)-tmin)/delta;

end

end

subplot(2,2,1);

imshow(f2);

title('原图中心化');

subplot(2,2,2);

imshow(fft_f2);

title('原图中心化的幅度谱');

subplot(2,2,3);

imshow(f3);

title('旋转后的图像');

subplot(2,2,4);

imshow(fft_f3);

title('旋转后的幅度谱');

图像旋转90度后,幅度谱也旋转了90度。

f4=imrotate(f1,-90,'bilinear');

f5=f1+f4;

fft_f5=fft2(f5);

fft_f5=abs(fft_f5);

tmax=fft_f5(1,1);

tmin=fft_f5(1,1);

for i=1:256

for j=1:256

if tmax

tmax=fft_f5(i,j);

end

if tmin>fft_f5(i,j)

tmin=fft_f5(i,j);

end

end

end

delta=tmax-tmin;

for i=1:256

for j=1:256

fft_f5(i,j)=255*(fft_f5(i,j)-tmin)/delta;

end

end

subplot(2,2,1);

imshow(f1);

title('原图');

subplot(2,2,2);

imshow(fft_f1);

title('原图的幅度谱');

subplot(2,2,3);

imshow(f5);

title('相加后的图像');

subplot(2,2,4);

imshow(fft_f5);

title('相加后的幅度谱');

原图与旋转90度后的图像进行叠加后,相应的幅度谱也进行叠加。f6=f2+f3;

fft_f6=fft2(f6);

fft_f6=abs(fft_f6);

tmax=fft_f6(1,1);

tmin=fft_f6(1,1);

for i=1:256

for j=1:256

if tmax

tmax=fft_f6(i,j);

end

if tmin>fft_f6(i,j)

tmin=fft_f6(i,j);

end

end

end

delta=tmax-tmin;

for i=1:256

for j=1:256

fft_f6(i,j)=255*(fft_f6(i,j)-tmin)/delta;

end

end

subplot(2,2,1);

imshow(fft_f2);

title('F2');

subplot(2,2,2);

imshow(fft_f3);

title('F3');

subplot(2,2,3);

imshow(fft_f5);

title('F5');

subplot(2,2,4);

imshow(fft_f6);

title('F6');

FFT(2)和FFT(3)相差90度。FFT(6)是FFT(5)的中心化。

2.产生教材104页题图4.18(右图)所示的二值图像(白为1,黑为0),编程实现习题4.18所要

求的处理(3*3的平均滤波和中值滤波)功能(图像四周边界不考虑,处理结果按四舍五入仍取0或1),显示处理前后的图像,比较其异同。

a=zeros(64,64);

f=zeros(256,256);

for i=1:1:32

for j=1:1:32

a(i,j)=1;

end

end

for i=33:1:64

for j=33:1:64

a(i,j)=1;

end

end

for i=1:64:256

for j=1:64:256

f(i:i+63,j:j+63)=a;

end

end

imshow(f)

for i=2:1:255

for j=2:1:255

a=[f(i-1,j-1),f(i-1,j),f(i-1,j+1),f(i,j-1),f(i,j),f(i,j+1),f(i+1,j-1),f(i+1,j),f(i+1, j+1)];

b=[f(i-1,j),f(i,j-1),f(i,j),f(i,j+1),f(i+1,j)];

c=sort(a);

d=sort(b);

zlf1(i,j)=c(5);

zlf2(i,j)=d(5);

end

end

subplot(1,3,1);

imshow(f);

title('原图像');

subplot(1,3,2);

imshow(zlf1);

title('方形中值滤波后图像') subplot(1,3,3);

imshow(zlf2);

title('十字形中值滤波后图像')

for i=2:1:255

for j=2:1:255

jlf4(i,j)=(f(i-1,j)+f(i+1,j)+f(i,j-1)+f(i,j+1))/4;

jlf8(i,j)=(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+1 ,j+1))/8;

jjlf4(i,j)=(f(i-1,j)+f(i+1,j)+f(i,j-1)+f(i,j+1)+f(i,j))/5;

jjlf8(i,j)=(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+ 1,j+1)+f(i,j))/9;

end

end

jlf4=round(jlf4);

jlf8=round(jlf8);

jjlf4=round(jjlf4);

jjlf8=round(jjlf8);

subplot(2,2,1);

imshow(jlf4);

title('4邻域平均滤波后图像');

subplot(2,2,2);

imshow(jlf8);

title('8邻域平均滤波后图像')

subplot(2,2,3);

imshow(jjlf4);

title('4邻域加权平均滤波后图像')

subplot(2,2,4);

imshow(jjlf8);

title('8邻域加权平均滤波后图像')

放大后可看出区别

3.产生教材104页题图

4.16所示的灰度图像(白为255,黑为0),分别加入高斯白噪声和椒盐噪声,再分别进行3*3的平均滤波和中值滤波,显示原图像、加噪图像和滤波结果图像,并比较四种滤波结果。

f=zeros(256,256);

a=255*ones(210,7);

for i=0:1:8

f(24:233,(29+24*i):(29+24*i+6))=a;

end

f1=imnoise(f,'gaussian',0,0.1);%加入均值为零方差为0.1的高斯噪声

f2=imnoise(f,'salt & pepper',0.1);%加入噪声密度为0.1的椒盐噪声

for i=2:1:255

for j=2:1:255

a=[f1(i-1,j-1),f1(i-1,j),f1(i-1,j+1),f1(i,j-1),f1(i,j),f1(i,j+1),f1(i+1,j-1),f1(i+1,j ),f1(i+1,j+1)];

b=[f2(i-1,j-1),f2(i-1,j),f2(i-1,j+1),f2(i,j-1),f2(i,j),f2(i,j+1),f2(i+1,j-1),f2(i+1,j ),f2(i+1,j+1)];

c=sort(a);

d=sort(b);

zlf1(i,j)=c(5); %中值滤波

zlf2(i,j)=d(5);%中值滤波

jlf8(i,j)=(f1(i-1,j-1)+f1(i-1,j)+f1(i-1,j+1)+f1(i,j-1)+f1(i,j+1)+f1(i+1,j-1)+f1(i+1,j )+f1(i+1,j+1)+f1(i,j))/9;%平均滤波

jjlf8(i,j)=(f2(i-1,j-1)+f2(i-1,j)+f2(i-1,j+1)+f2(i,j-1)+f2(i,j+1)+f2(i+1,j-1)+f2(i+1, j)+f2(i+1,j+1)+f2(i,j))/9;%平均滤波

end

end

subplot(2,4,1);imshow(f);

title('原图像');

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

title('高斯噪声污染后的图像');

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

title('中值滤波后的图像');

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

title('平均滤波后的图像');

subplot(2,4,5);imshow(f);

title('原图像');

subplot(2,4,6);imshow(f2);

title('椒盐噪声污染后的图像');

subplot(2,4,7);imshow(zlf2);

title('中值滤波后的图像');

subplot(2,4,8);imshow(jjlf8);

title('平均滤波后的图像');

5.(第4、5题选做一题)编程实现教材214页所给图像门限化分割的迭代阈值算法,实现对某一灰度图像的二值化。

Pic=imread('C:\Users\Administrator\Desktop\242dd42a2834349bfb0c018ccbea15ce36d3beb5.j pg');%读取RGB格式的图像

a= rgb2gray(Pic);%进行RGB到灰度图像的转换

T=0.5*(double(min(a(:)))+double(max(a(:))));

do=false;

while ~do

g=(a>T);

Tnext=0.5*(mean(a(g))+mean(a(~g)));

do=abs(T-Tnext)<0.2;

T=Tnext;

end

figure;subplot(1,2,1);imshow(a);

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

6.

%Read Input Retina Image

inImg = imread(' Input.bmp');

if(dim == 3)

dim = ndims(inImg);

%Input is a color image

inImg = rgb2gray(inImg);

end

%Extract Blood Vessels

Threshold = 10;

bloodVessels = VesselExtract(inImg, Threshold);

%Output Blood Vessels image

figure;

subplot(121);imshow(inImg);title('Input Image');

subplot(122);imshow(bloodVessels);title('Extracted Blood Vessels'); VesselExtract.m:

function bloodVessels = VesselExtract(inImg, threshold)

%Kirsch's Templates

h1=[5 -3 -3;

5 0 -3;

5 -3 -3]/15;

h2=[-3 -3 5;

-3 0 5;

-3 -3 5]/15;

h3=[-3 -3 -3;

5 0 -3;

5 5 -3]/15;

h4=[-3 5 5;

-3 0 5;

-3 -3 -3]/15;

h5=[-3 -3 -3;

-3 0 -3;

5 5 5]/15;

h6=[ 5 5 5;

-3 0 -3;

-3 -3 -3]/15;

h7=[-3 -3 -3;

-3 0 5;

-3 5 5]/15;

h8=[ 5 5 -3;

5 0 -3;

-3 -3 -3]/15;

%Spatial Filtering by Kirsch's Templates

t1=filter2(h1,inImg);

t2=filter2(h2,inImg);

t3=filter2(h3,inImg);

t4=filter2(h4,inImg);

t5=filter2(h5,inImg);

t6=filter2(h6,inImg);

t7=filter2(h7,inImg);

t8=filter2(h8,inImg);

s=size(inImg);

bloodVessels=zeros(s(1),s(2));

temp=zeros(1,8);

for i=1:s(1)

for j=1:s(2)

temp(1)=t1(i,j);temp(2)=t2(i,j);temp(3)=t3(i,j);temp(4)=t4(i,j);

temp(5)=t5(i,j);temp(6)=t6(i,j);temp(7)=t7(i,j);temp(8)=t8(i,j);

if(max(temp)>threshold)

bloodVessels(i,j)=max(temp);

end end end

数字图像处理实验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

数字图像处理上机作业三.

数字图像第三讲作业 1.绘制一幅人像或风景图像的幅频图及相频图,并由幅频图及相频图重建空 间域图像.(使用fft2,ifft2,fftshift函数) 分析:fft2函数可以用来对图相求二维傅里叶变换,fft2作用后得到的只是很大的,要先对它除以图像的像素点个数m*n再进行幅频响应与相频响应的求解。这是得到的频率响应是以(0,0)像素点为频率零点的,我们知道频率响应是关于原点对称的,因此在fft2后通过ifft2可将频率原点移至图像中心点,这样便于对频响的对称性进行观察。abs函数得到幅频度,可经log调整为人眼敏感的范围,如:mag=log(1+50*abs(I2));相频响应可由angle函数获得。最后通过fftshift函数可对频率响应进行空间域图像的重建。 代码及注释如下: function fuliye(x) I=imread(x); [m,n]=size(I); I1=fft2(single(I)); %fft2函数要求输入矩阵为single或double型 I2=fftshift(I1/m/n); mag=log(1+50*abs(I2)); %abs函数得到幅度,经log调整为人眼敏感的范围phase=angle(I2); %angle函数得到相角 imshow(mag);title('幅频图') figure imshow(phase);title('相频图') I3=uint8(ifft2(I1)); %ifft2进行二维傅里叶反变换 figure imshow(I3);title('原图') figure I4=uint8(ifft2(abs(I1))); %仅对傅里叶变换的幅值进行反变换 imshow(I4);title('由幅频信息还原图') figure I5=abs(ifft2(angle(I1))); %仅对傅里叶变换的相角进行反变换 imshow(I5,[]);title('由相频信息还原图') 运行:在命令窗口中输入fuliye(‘Lenna.bmp’)输出五幅图如下:

数字图像处理课后参考答案

数字图像处理 第一章 1、1解释术语 (2) 数字图像:为了便于用计算机对图像进行处理,通过将二维连续(模拟)图像在空间上离散化,也即采样,并同时将二维连续图像的幅值等间隔的划分成多个等级(层次)也即均匀量化,以此来用二维数字阵列并表示其中各个像素的空间位置与每个像素的灰度级数的图像形式称为数字图像。 (3)图像处理:就是指对图像信息进行加工以满足人的视觉或应用需求的行为。 1、7 包括图像变化、图像增强、图像恢复、图像压缩编码、图像的特征提取、形态学图像处理方法等。彩色图像、多光谱图像与高光谱图像的处理技术沿用了前述的基本图像处理技术,也发展除了一些特有的图像处理技术与方法。 1、8基本思路就是,或简单地突出图像中感兴趣的特征,或想方法显现图像中那些模糊了的细节,以使图像更清晰地被显示或更适合于人或及其的处理与分析。 1、9基本思路就是,从图像退化的数学或概率模型出发,研究改进图像的外观,从而使恢复以后的图像尽可能地反映原始图像的本来面目,从而获得与景物真实面貌相像的图像。 1、10基本思路就是,,在不损失图像质量或少损失图像质量的前提下,尽可能的减少图像的存储量,以满足图像存储与实时传输的应用需求。 1、11基本思路就是,通过数学方法与图像变换算法对图像的某种变换,以便简化图像进一步处理过程,或在进一步的图像处理中获得更好的处理效果。 1、12基本目的就是,找出便于区分与描述一幅图像中背景与目标的方法,以方便图像中感兴趣的目标的提取与描述。 第二章 2、1解释下列术语 (18)空间分辨率:定义为单位距离内可分辨的最少黑白线对的数目,用于表示图像中可分辨的最小细节,主要取决于采样间隔值的大小。 (19)灰度分辨率:就是指在灰度级别中可分辨的最小变化,通常把灰度级数L称为图像的灰度级分辨率。 (20)像素的4邻域:对于图像中位于(x,y)的像素p来说,与其水平相邻与垂直相邻的4个像素称为该像素的4邻域像素,她们的坐标分别为(x-1,y)(x,y-1)(x,y+1)(x+1,y)。 (21)像素的8邻域:对于图像中位于(x,y)的像素p来说,与其水平相邻与垂直相邻的8个像素称为该像素的8邻域像素,她们的坐标分别为(x-1,y-1)(x-1,y)(x-1,y+1)(x,y-1)(x,y+1)(x+1,y-1)(x+1,y)(x+1,y+1)。 (28)欧氏距离:坐标分别位于(x,y)与(u,v)处的像素P与像素q之间的欧氏距离定义为:D e(p,q)=[(x-u)2+(y-v)2]1/2 (29)街区距离:欧氏距离:坐标分别位于(x,y)与(u,v)处的像素P与像素q之间的街区距离定义为:D4(p,q)=|x-u|+|y-v|。 (30)棋盘距离:欧氏距离:坐标分别位于(x,y)与(u,v)处的像素P与像素q之间的欧氏距离定义为:D8(p,q)=max(|x-u|,|y-v|)。 (33)调色板:就是指在16色或者256色显示系统中,将图像中出现最频繁的16种或者256种颜色组成的一个颜色表,并将她们分别编号为0~15或0~255,这样就使每一个4位或者8位的颜色编号或者颜色表中的24位颜色值相对应。这种4位或者8位的颜色编号称为颜色的索引号,由颜色索引号及对应的24位颜色值组成的表称为颜色查找表,即调色板。 2、7对图像进行描述的数据信息一般应至少包括: (1)图像的大小,也即图像的宽与高 (2)表示每个像素需要的位数,当其值为1时说明就是黑白图像,当其值为4时说明就是16色或16灰度级图像,当其值为8时说明就是256色或256灰度级图像,当其值为24就是说明就是真彩色图像。 同时,根据每个像素的位数与调色板的信息,可进一步指出就是16色彩色图像还就是16灰度级图像;就是256色彩色图像还就是256灰度级图像。 (3)图像的调色板信息。 (4)图像的位图数据信息。 对图像信息的描述一般用某种格式的图像文件描述,比如BMP等。在用图像文件描述图像信息时,相应的要

数字图像处理实验报告完整版

数字图像处理 实验一 MATLAB数字图像处理初步 一、显示图像 1.利用imread( )函数读取一幅图像,假设其名为lily.tif,存入一个数组中; 2.利用whos 命令提取该读入图像flower.tif的基本信息; 3.利用imshow()函数来显示这幅图像; 实验结果如下图: 源代码: >>I=imread('lily.tif') >> whos I >> imshow(I) 二、压缩图像 4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息; 5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为lily.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。 6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flily.bmp。7.用imread()读入图像Sunset.jpg和Winter.jpg; 8.用imfinfo()获取图像Sunset.jpg和Winter.jpg的大小; 9.用figure,imshow()分别将Sunset.jpg和Winter.jpg显示出来,观察两幅图像的质量。 其中9的实验结果如下图:

源代码: 4~6(接上面两个) >>I=imread('lily.tif') >> imfinfo 'lily.tif'; >> imwrite(I,'lily.jpg','quality',20); >> imwrite(I,'lily.bmp'); 7~9 >>I=imread('Sunset.jpg'); >>J=imread('Winter.jpg') >>imfinfo 'Sunset.jpg' >> imfinfo 'Winter.jpg' >>figure(1),imshow('Sunset.jpg') >>figure(2),imshow('Winter.jpg') 三、二值化图像 10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。实验结果如下图: 源代码: >> I=imread('lily.tif') >>gg=im2bw(I,0.4); F>>igure, imshow(gg)

matlab上机作业

第四次 上机作业 1、 从键盘输入一个4位整数,按照如下规则加密后输出。加密规则:每位数字 都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。 Clear X=ones(1,4); X (1)=input(’输入第一位:‘); X (2)=input(’输入第二位:‘); X (3)=input(’输入第三位:‘); X (4)=input(’输入第四位:‘); X=rem(7+x,10); Y=1000.*x(3)+100.*x(4)+10.*x(1)+x(2) 2、 分别用if 和switch 语句实现以下计算,其中a 、b 、c 的值从键盘输入。 ??? ? ??? <≤+<≤+<≤++=5 .55.3, ln 5.35.1, sin 5.15.0,2x x c b x x b a x c bx ax y c a=input(‘请输入a :’); b=input(‘请输入b :’); c=input(‘请输入c :’); If(x>=0.5&&x<=1.5) y=a.*x^2+b.*x+c Elseif(x>=1.5&&x<=3.5) y=a.*(sin(b))^c+x

Elseif(x>=3.5&&x<=5.5) y=log(abs(b+c./x)) end a=input(‘请输入a:’); b=input(‘请输入b:’); c=input(‘请输入c:’); Switch x case(x>=0.5&&x<=1.5) y=a.*x^2+b.*x+c case(x>=1.5&&x<=3.5) y=a.*(sin(b))^c+x case(x>=3.5&&x<=5.5) y=log(abs(b+c./x)) end 3、产生20个两位随机整数,输出其中小于平均值的偶数。Clear al ;close all ;clc; X=fix(rand(1,20)*89)+10; Disp([‘20个随机数是:’,num2str(x)]); X1=mean(x); Disp([‘平均值为:’,num2str(x1)]); N=find(rem(x,2)==0&x

数字图像处理上机作业

数字图像处理上机实验题

一、产生右图所示图像f1(m,n),其中图像大小为256×256,中间亮条为128×32,暗处 =0,亮处=100。对其进行FFT: 1、屏显示原图f1(m,n)和FFT(f1)的幅度谱图; 2、令f2(m,n)=(-1)^(m+n)*f1(m,n),重复以上过程,比较二者幅度谱的异同,简述理由; 3、若将f2(m,n)顺时针旋转90 度得到f3(m,n),试显示FFT(f3)的幅度谱,并与FFT(f2) 的幅度谱进行比较; 4、若将f1(m,n) 顺时针旋转90 度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n),试显示FFT(f5) 的幅度谱,并指出其与FFT(f1)和FFT(f4)的关系; 5、若令f6(m,n)=f2(m,n)+f3(m,n),试显示FFT(f6)的幅度谱,并指出其与FFT(f 2)和FFT(f3) 的关系,比较FFT(f6)和FFT(f5)的幅度谱。 代码 f1=zeros(256,256); for i =64:1:191 for j = 112:1:143 f1(i,j) = 100; end end f2 = fft2(f1); %f2(m,n) = f3 f3 = ((-1)^(i+j))*f1; f4 = fft2(f3); %f3(m,n) = f5 f5 = imrotate(f3,90,'bilinear'); f6 = fft2(f5); %f4(m,n) = f7 f7 = imrotate(f1,90,'bilinear'); f8 = fft2(f7); %f5(m,n) = f8 f9 = f1 + f7; f10 = fft2 (f9); %f6(m,n) = f2(m,n)+f3(m,n) f11 = f3 + f5; f12 = fft2(f11); figure(1) subplot(1,2,1); imshow(abs(f1)); title('原图f1'); subplot(1,2,2); imshow(abs(f2)); title('幅度谱fft2(f1)');

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 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) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

数字图像处理 MATLAB上机作业(DOC)

数字图像处理实验报告 指导老师: 学号 姓名 班级

1.产生右图所示图像f1(m,n),其中图像大小为256×256,中间亮条为128×32,暗处=0,亮处=100。 对其进行FFT: ①同屏显示原图f1(m,n)和FFT(f1)的幅度谱图; ②若令f2(m,n)=(-1)(m+n)f1(m,n),重复以上过程, 比较二者幅度谱的异同,简述理由; ③若将f2(m,n)顺时针旋转90度得到f3(m,n),试显示FFT(f3)的幅度谱, 并与FFT(f2)的幅度谱进行比较; ④若将f1(m,n)顺时针旋转90度得到f4(m,n),令f5(m,n)=f1(m,n)+f4(m,n), 试显示FFT(f5)的幅度谱,并指出其与FFT(f1)和FFT(f4)的关系; ⑤若令f6(m,n)=f2(m,n)+f3(m,n),试显示FFT(f6)的幅度谱,并指出其与FFT(f2)和FFT(f3)的关系,比较FFT(f6)和FFT(f5)的幅度谱。 f1=zeros(256,256); for i=64:1:192 for j=122:1:144 f1(i,j)=100; end end fft_f1=fft2(f1); fft_f1=abs(fft_f1); tmax=fft_f1(1,1); tmin=fft_f1(1,1); for i=1:256 for j=1:256 if tmaxfft_f1(i,j) tmin=fft_f1(i,j); end end end delta=tmax-tmin; for i=1:256 for j=1:256 fft_f1(i,j)=255*(fft_f1(i,j)-tmin)/delta; end end subplot(1,2,1); imshow(f1); title('原图'); subplot(1,2,2); imshow(fft_f1); title('原图的幅度谱');

《数字图像处理》习题解答

胡学龙编著 《数字图像处理(第 3 版)》思考题与习题参考答案 目录 第 1 章概

述 (1) 第 2 章图像处理基本知识 (4) 第 3 章图像的数字化与显示 (7) 第 4 章图像变换与二维数字滤波 (10) 第 5 章图像编码与压缩 (16) 第 6 章图像增强 (20) 第 7 章图像复原 (25) 第 8 章图像分割 (27) 第 9 章数学形态学及其应用 (31) 第 10 章彩色图像处理 (32)

第1章概述 连续图像和数字图像如何相互转换 答:数字图像将图像看成是许多大小相同、形状一致的像素组成。这样,数字图像可以 用二维矩阵表示。将自然界的图像通过光学系统成像并由电子器件或系统转化为模拟图像 (连续图像)信号,再由模拟/数字转化器(ADC)得到原始的数字图像信号。图像的数字 化包括离散和量化两个主要步骤。在空间将连续坐标过程称为离散化,而进一步将图像的幅 度值(可能是灰度或色彩)整数化的过程称为量化。 采用数字图像处理有何优点 答:数字图像处理与光学等模拟方式相比具有以下鲜明的特点: 1.具有数字信号处理技术共有的特点。(1)处理精度高。(2)重现性能好。(3)灵活性高。 2.数字图像处理后的图像是供人观察和评价的,也可能作为机器视觉的预处理结果。 3.数字图像处理技术适用面宽。 4.数字图像处理技术综合性强。 数字图像处理主要包括哪些研究内容 答:图像处理的任务是将客观世界的景象进行获取并转化为数字图像、进行增强、变换、编码、恢复、重建、编码和压缩、分割等处理,它将一幅图像转化为另一幅具有新的意义的 图像。 说出图像、视频(video)、图形(drawing)及动画(animation)等视觉信息之间的联系和区别。 答:图像是用成像技术形成的静态画面;视频用摄像技术获取动态连续画面,每一帧可

数字图像处理实验 实验二

实验二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

matlab 上机作业1,中国石油大学

第一次上机实习 1.编写一个程序ex1_1.m,对输入的方阵计算其伴随矩阵。 a)要求第一行帮助行注明这个函数的用途,能在matlab命令窗口可以用help或lookfor 查到该帮助; b)对输入的变量进行检测,如果输入的不是方阵或者矩阵元素不是数,则报错,退出程 序。 function A=ex1_1(X) % 建立函数A=ex1_1(X),求矩阵X的伴随矩阵 [a,b]=size(X); if a~=b||~isnumeric(X) || ~ismatrix(X) error('输入的不是方阵或者矩阵元素不是数!'); end for i=1:a for j=1:b A(i,j)=(-1)^(i+j)*X(i,j)*det(X([1:i-1,i+1:end],[1:j-1,j+1:end])); end end A=A'; 2.已知表达式y=6*x^5+4*x^3+2*x^2-7x+10,x的范围是[0,100],使用三阶拟合和五阶的方法得出多项式的表达式,并编程在图中绘制出原曲线、三阶拟合和五段拟合的曲线。 clc clear all x=linspace(0,100,2000); p1=[6 0 4 2 -7 0]; y=polyval(p1,x); p3=polyfit(x,y,3); p5=polyfit(x,y,5); y1=polyval(p3,x); y2=polyval(p5,x); plot(x,y,'r-o') hold on grid on plot(x,y1,'b-.',x,y2,'y--*'); grid on 三条曲线

放大图(原曲线与五阶拟合完全重合): 3.读如图像5.tif(450*450),做fourier变换, a)将变换之后所得到的矩阵只保留前10行10列,后10行10列的数据,其他位置都 设置为0,然后再作反fourier变换,观察结果; 原图:

数字图像处理与分析实验作业(DOC)

数字图像处理与分析实验作业 作业说明:作业题目分为基本题和综合应用题。基本题主要是考察大家对教材涉及的一些基本图像处理技术的理解和实现。而综合应用题主要是考察大家综合利用图像处理的若干技术来解决实际问题的能力。 注:所有实验用图像均可从网上下载,文档中的图片只是示例。 作业要求: 编程工具:Matlab或者VC(可以使用OpenCV:https://www.360docs.net/doc/0511424587.html,/)。因为很多基本的图象处理算法已经集成在很多的编程工具中,而编程训练中基本题的目的是让同学们加深对这些算法的理解,所以基本题要求同学们只能使用图像读取和显示相关的函数(例如Matlab的imread imshow,imwrite,OpenCV的cvCreateImage,cvLoadImage,cvShowImage),而不要直接调用相关的API(例如二维DFT,图象均衡等等),但在综合应用题中则无此限制。 上交的作业包括:实验报告和程序。其中实验报告要求写出算法分析(必要时请附上流程图),函数说明(给出主要函数的接口和参数说明),实验结果(附图)及讨论分析。提交的程序,一定要确保可以运行,最好能写个程序说明。 基本题一共有10道,可以从中任选2道题来完成。综合应用题有2道,可以从中任选1道来完成。 请各位同学务必独立完成,切忌抄袭! 基本题 一、直方图变换 要求对原始Lena 图像实现以下三种取整函数的直方图均衡化: 线性函数: t k= int[(L -1) t k+ 0.5]; 对数函数: t k= int[( L-1)log(1+9t k) + 0.5] ; 指数函数: t k= int[(L -1)exp( t k-1) + 0.5] ; 要求给出: 1、原始图像和分别采用上述三种方式均衡化后的图像; 2、原始图像的直方图和上述三种方式对应均衡化后的直方图。

数字图像处理部分作业答案

3.数字化图像的数据量与哪些因素有关? 答:数字化前需要决定影像大小(行数M、列数N)和灰度级数G的取值。一般数字图像灰度级数G为2的整数幂。那么一幅大小为M*N,灰度级数为G的图像所需的存储空间M*N*g(bit),称为图像的数据量 6.什么是灰度直方图?它有哪些应用?从灰度直方图你能获得图像的哪些信息? 答:灰度直方图反映的是一幅图像中各灰度级像素出项的频率之间的关系。以灰度级为横坐标,纵坐标为灰度级的频率,绘制频率同灰度级的关系图就是灰度直方图。 应用:通过变换图像的灰度直方图可以,使图像更清晰,达到图像增强的目的。 获得的信息:灰度范围,灰度级的分布,整幅图像的平均亮度。但不能反映图像像素的位置。 2. 写出将具有双峰直方图的两个峰分别从23和155移到16和255的图像线性变换。 答:将a=23,b=155 ;c=16,d=255代入公式: 得 1,二维傅里叶变换有哪些性质?二维傅里叶变换的可分离性有何意义? 周期性,线性,可分离性,比例性质,位移性质,对称性质,共轭对称性,差分,积分,卷积,能量。 意义:分离性表明:二维离散傅立叶变换和反变换可用两组一维离散傅立叶变换和反变换来完成。 8.何谓图像平滑?试述均值滤波的基本原理。 答:为了抑制噪声改善图像质量所进行的处理称图像平滑或去噪。 均值滤波是一种局部空间域处理的算法,就是对含有噪声的原始图像f(x,y)的每个像素点取一个领域S,计算S中所有像素的灰度级平均值,作为空间域平均处理后图像g(x,y)像素值。 9.何谓中值滤波?有何特点? 答:中值滤波是对一个滑动窗口内的诸像素灰度值排序,用中值代替窗口中心像素的原来灰度值,它是一种非线性的图像平滑法。 它对脉冲干扰及椒盐噪声的的图像却不太合适。抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。但它对点、线等细节较多 6图像几何校正的一般包括哪两步?像素灰度内插有哪三种方法?各有何特点? 答:1)建立失真图像和标准图像的函数关系式,根据函数关系进行几何校正。 2)最近邻插值,双线性插值,三次卷积法 3)最近邻插值:这种插值方法运算量小,但频域特性不好。 3、若f(1,1)=4,f(1,2)=7,f(2,1)=5,f(2,2)=6,分别按最近邻元法、双线性插值法确定点(1.2,1.6)的灰度值。 最近邻元法:点(1.2,1.6)离(1,2)最近,所以其灰度值为7.双线性法:f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1) 将i=1,j=1,u=0.2,v=0.6代入,求得:f(i+u,j+v)=5.76。四舍五入取整后,得该点其灰度值为6

数字图像处理上机实验三

医学图像处理实验三1、计算图像的梯度,梯度值和梯度角。 I=imread('C:\Users\Administrator\Desktop\cat.jpg'); B=rgb2gray(I); C=double(B); e=1e-6;%10^-6 [dx,dy]=gradient(C);%计算梯度 G=sqrt(dx.*dx+dy.*dy);%梯度幅值 figure,imshow(uint8(G)),title('梯度图像'); pha=atan(dy./(dx+e)) figure,imshow(pha,[]) 图 1

图 2 梯度角图 2、计算图像边缘检测,用滤波器方式实现各种算子。 (1)Roberts算子 clear; I=imread('C:\Users\admin\Desktop\mao.jpg'); B=rgb2gray(I); [m,n]=size(B); nB=B; robertsnum=0;%经roberts算子计算得到的每一个像素的值robertsthreshold=0.6;%设定阈值 for j=1:m-1;%进行边界提取 for k=1:n-1 robertsnum=abs(B(j,k)-B(j+1,k+1))+abs(B(j+1,k)-B(j,k+1)); if(robertsnum>robertsthreshold) nB(j,k)=255; else nB(j,k)=0; end end end subplot(1,2,1);imshow(B);title('原图'); subplot(1,2,2);imshow(nB,[]);title('Robert算子处理后的图像');

Matlab 上机题及答案

1 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。 for m=100:999 m1=fix(m/100); %求m的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 m3=rem(m,10); %求m的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 2.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。 sum=0; n=0; val=input('Enter a number (end in 0):'); while (val~=0) sum=sum+val; n=n+1; val=input('Enter a number (end in 0):'); end if (n > 0) sum mean=sum/n end 3. 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。 for m=1:500 s=0; for k=1:m/2 if rem(m,k)==0 s=s+k; end end if m==s disp(m); end end 4. 从键盘上输入数字星期,在屏幕上显示对应英文星期的单词。 function week n=input('input the number:'); if isempty(n) errror('please input !!')

end if n>7|n<1 error('n between 1 and 7') end switch n case 1 disp('Monday') case 2 disp('Tuesday') case 3 disp('Wednesday') case 4 disp('Thursday') case 5 disp('Friday') case 6 disp('Saturday') case 7 disp('Sunday') end 5. 某公司销售电脑打印机的价格方案如下: ()如果顾客只买一台打印机,则一台的基本价格为$150。 ()如果顾客购买两台以上打印机,则第二台价格为$120。 ()第三台以后,每台$110。 写一段程序分别计算出购买1--10台打印机所需的钱数。打印机台数可以在程序开始处指定,或通过input命令读入。运行程序,计算出购买10台打印机的总价格。 写出程序,生成分别购买1--10台打印机所需价格的图表(使用fprintf命令输出图表,不允许手算)。 x=input('请输入购买的打印机台数:'); for m=1:x if m<=1 y(m)=150*m; elseif m<=2 y(m)=150+120*(m-1); else y(m)=150+120+110*(m-2); y(1,m)=y(m); end end y(x) plot(1:m,y,'r*--')

数字图像处理期末作业1

上海电力学院 实验报告 实验课程名称:数字图像处理 实验项目名称:实验7 细胞面积计算与个数统计 班级: 2009073 姓名:杨祯 学号: 20092006

一、实验目的 1、熟悉Visual C++开发环境和Windows编程模型。 2、掌握设备无关位图的数据格式。 3、学会使用DIBAPI函数访问设备无关位图。 4、结合实例学习如何在应用程序中添加图像处理算法。 5、运用所学的图像处理方法对细胞图像进行细胞面积计算与个数统计。 二、实验原理 在填充孔洞以后的细胞图像中出现粘连,可以通过较为复杂的算法将粘连细胞分割开来。这里采取如下简单方法进行细胞计数和面积计算. (1)对填充孔洞后后细胞图像进行标记处理,初步计算出细胞的个数; (2)计算不同标记区域的像素数,并用区域的像素数代表其面积; (3)若某个标记区域像素数大于1000,则认为该标记区域为两个粘连在一起的细胞,原细胞数量增加1;若某个标记区域像素数小于70,则视为噪声,原细胞数量减1。 三、实验步骤 1、在资源浏览方式下,选择Menu节点,点击IDR_MAINFRAME,增加操作按钮,见下图,如在菜单“细胞计数”中添加“统计个数和面积”按钮。 2、对该按钮进行编辑,如图:

ID设为ID_CELLCOUNT E,标题设为“统计个数和面积”。 3、(1)按下快捷键CTRL+W,弹出向导对话框,利用向导在CCellCounView类中添加 响应函数—腐蚀OnCellcount,如图: 1、注意类名 2、选择ID 4、点击按钮 3、双击COMMAND 添加函数后的结果 (2)点击Edit Code按钮后,在CCellCountView.cpp文件中便添加了OnCellcount ()函数,此 时需要在该函数中添加实现代码,具体如下: void CCellCountView::OnCellcount() { CCellCountDoc* pDoc=GetDocument(); if( pDoc->m_hDIB!=NULL ) {

数字图像处理上机实验三学习资料

数字图像处理上机实 验三

医学图像处理实验三1、计算图像的梯度,梯度值和梯度角。 I=imread('C:\Users\Administrator\Desktop\cat.jpg'); B=rgb2gray(I); C=double(B); e=1e-6;%10^-6 [dx,dy]=gradient(C);%计算梯度 G=sqrt(dx.*dx+dy.*dy);%梯度幅值 figure,imshow(uint8(G)),title('梯度图像'); pha=atan(dy./(dx+e)) figure,imshow(pha,[]) 图 1 图 2 梯度角图

2、计算图像边缘检测,用滤波器方式实现各种算子。 (1)Roberts算子 clear; I=imread('C:\Users\admin\Desktop\mao.jpg'); B=rgb2gray(I); [m,n]=size(B); nB=B; robertsnum=0;%经roberts算子计算得到的每一个像素的值robertsthreshold=0.6;%设定阈值 for j=1:m-1;%进行边界提取 for k=1:n-1 robertsnum=abs(B(j,k)-B(j+1,k+1))+abs(B(j+1,k)-B(j,k+1)); if(robertsnum>robertsthreshold) nB(j,k)=255; else nB(j,k)=0; end end end subplot(1,2,1);imshow(B);title('原图'); subplot(1,2,2);imshow(nB,[]);title('Robert算子处理后的图像'); 图 3 (2)Sobel算子 clear;

东南大学-数值分析上机题作业-MATLAB版

2015.1.9 上机作业题报告 JONMMX 2000

1.Chapter 1 1.1题目 设S N =∑1j 2?1 N j=2 ,其精确值为 )1 1 123(21+--N N 。 (1)编制按从大到小的顺序1 1 131121222-+ ??+-+-=N S N ,计算S N 的通用程序。 (2)编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 (3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 1.2程序 1.3运行结果

1.4结果分析 按从大到小的顺序,有效位数分别为:6,4,3。 按从小到大的顺序,有效位数分别为:5,6,6。 可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N 的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。 2.Chapter 2 2.1题目 (1)给定初值0x 及容许误差ε,编制牛顿法解方程f(x)=0的通用程序。 (2)给定方程03 )(3 =-=x x x f ,易知其有三个根3,0,3321= *=*-=*x x x ○1由牛顿方法的局部收敛性可知存在,0>δ当),(0δδ+-∈x 时,Newton 迭代序列收敛于根x2*。试确定尽可能大的δ。 ○2试取若干初始值,观察当),1(),1,(),,(),,1(),1,(0+∞+-----∞∈δδδδx 时Newton 序列的收敛性以及收敛于哪一个根。 (3)通过本上机题,你明白了什么? 2.2程序

数字图像处理实验一图像的基本操作和基本统计指标计算实验报告

实验一图像的基本操作和基本统计指标计算 一、实验目的 熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。 了解计算图像的统计指标的方法及其在图像处理中的意义。 了解图像的几何操作,如改变图像大小、剪切、旋转等。 二、实验主要仪器设备 (1)台式计算机或笔记本电脑 (2)MATLAB(安装了图像处理工具箱,即Image Processing Toolbox(IPT)) (3)典型的灰度、彩色图像文件 三、实验原理 (1)将一幅图像视为一个二维矩阵。 < (2)利用MATLAB图像处理工具箱读、写和显示图像文件。 ①调用imread函数将图像文件读入图像数组(矩阵)。例如“I=imread(‘’);”。其基本格式为:“A=imread(‘’)”,其中,A为二维矩阵,filename.为文件名,fmt为图像文件格式的扩展名。 ②调用imwrite函数将图像矩阵写入图像文件。例如“imwrite(A,’’);”。其基本格式为“imwrite(a,”。 ③调用imshow函数显示图像。例如“imshow(‘’);”。其基本格式为:I为图像矩阵,N 为显示的灰度级数,默认时为256。 (3)计算图像有关的统计参数。 四、实验内容 (1)利用MATLAB图像处理工具箱和Photoshop读、写和显示图像文件。 (2)利用MATLAB计算图像有关的统计参数。 五、实验步骤 (1)利用“读图像文件I/O”函数读入图像。 (2)利用“读图像文件I/O”的iminfo函数了解图像文件的基本信息:主要包括Filename(文件名)、FileModDate(文件修改时间)、Filesize(文件尺寸)、Format(文件格式)、FormatVersion(格式版本)、Width(图像宽度)、Height(图像高度)、BitDepth(每个像素的位深度)、ColorType(彩色类型)、CodingMethod(编码方法)等。 ' (3)利用“像素和统计处理”函数计算读入图像的二维相关系数(corr2函数)、确定像素颜色值(impixel函数)、确定像素的平均值(mean2函数)、显示像素信息(pixval函数)、计算像素的标准偏移(std2函数)等。 要求:参照例题,对图像J加均值为0、方差为的高斯白噪声形成有噪图像J1,即

相关文档
最新文档