数字图像处理上机实验(02091008)

数字图像处理上机实验(02091008)
数字图像处理上机实验(02091008)

数字图像处理上机作业

数字图像处理上机作业

1. 产生右图所示亮块图像 f

1(x,y)(128×128大小,暗处=0,亮处=255),对其进行FFT:

(1)同屏显示原图f1和FFT(f1)的幅度谱图;

图像:

(2)若令f2(x,y)=(-1)x+y f1(x,y),重复以上过程,比较二者幅度谱的异同,简述理由;(3)若将f2(x,y)顺时针旋转45度得到f3(x,y),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较。

结论:不同点:f2的频谱是对f1频谱的移位,它时f1的频谱从原点(0,0)移到了中心(64,64),而得到了一个完整的频谱。

相同点:频谱的实质没有改变,幅度等都没有发生变化。

(3)若将f2(x,y)顺时针旋转45度得到f3(x,y),试显示FFT(f3)的幅度谱,并与FFT(f2)的幅度谱进行比较。

源程序:f1=zeros(128,128);

for i=38:1:90

for j=58:1:70

f1(i,j)=255;

end

end

figure(1)

subplot(1,2,1);

imshow (f1);

subplot(1,2,2);

imshow (fft2(f1));

% f2(x,y)=(-1)^(x+y)* f1(x,y)

for i=1:1:128

for j=1:1:128

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

end

end

figure(2);

subplot(1,3,1);

imshow (f2);

f3=imrotate(f2,-45,'bilinear');%将f2顺时针旋转45度

subplot(1,3,2);

imshow(fft2(f2));%显示f2的频谱

subplot(1,3,3);

imshow(fft2(f3));%显示f3的频谱

结论:均衡化后的直方图并非完全均匀分布的原因:因为图像的像素个数和灰度等级均为离散值,而且均衡化后使灰度级并归。

2. 对256 256大小、256级灰度的数字图像lena进行频域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。

源代码:

figure(1);

fid=fopen('d:\img\lena.img','r');

data=(fread(fid,[256,256],'uint8'))';

subplot(2,2,1)

imagesc(data);

colormap(gray);

title('LENA','Color','r');

subplot(2,2,2);

imshow(fft2(data));

s=fftshift(fft2(data));

[M,N]=size(s); %分别返回s的行数到M中,列数到N中

n=2; %对n赋初值

%GLPF滤波,d0=5,15,30(程序中以d0=30为例)

d0=30; %初始化d0

n1=floor(M/2); %对M/2进行取整

n2=floor(N/2); %对N/2进行取整

for i=1:M

for j=1:N

d=sqrt((i-n1)^2+(j-n2)^2); %点(i,j)到傅立叶变换中心的距离 h=1*exp(-1/2*(d^2/d0^2)); %GLPF滤波函数

s(i,j)=h*s(i,j); %GLPF滤波后的频域表示

end

end

s=ifftshift(s); %对s进行反FFT移动

%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数

s=uint8(real(ifft2(s)));

subplot(2,2,3); %创建图形图像对象

imshow(s);

p=fftshift(fft2(data));

[M,N]=size(p); %分别返回p的行数到M中,列数到N中

n=2; %对n赋初值

%GLPF滤波d1=30

d1=30; %初始化d1

n3=floor(M/2); %对M/2进行取整

n4=floor(N/2); %对N/2进行取整

for i=1:M

for j=1:N

dd=sqrt((i-n3)^2+(j-n4)^2); %点(i,j)到傅立叶变换中心的距离

h1=1-exp(-1/2*(dd^2/d1^2)); %GHPF滤波函数

p(i,j)=h1*p(i,j); %GHPF滤波后的频域表示

end

end

p=ifftshift(p); %对p进行反FFT移动

%对s进行二维反离散的Fourier变换后,取复数的实部转化为无符号8位整数

p=uint8(real(ifft2(p)));

subplot(2,2,4); %创建图形图像对象

imshow(p);

3. 对给定的两种128 128、256级灰度的数字图像(图像磁盘文件名分别为Fing_128.img(指纹图)和Cell_128.img(显微医学图像)进行如下处理:

(1)对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,并回答为什么数字图像均衡化后其直方图并非完全均匀分布。

异同:由于原图像中目标物的灰度主要集中于低亮度部分,而且象素总数比较多,经过直方图均衡后,目标物的所占的灰度等级得到扩展,对比度加强,使整个图像得到增强。

数字图像均衡化后其直方图并非完全均匀分布的原因:由于原图像中目标物的灰度主要集中于低亮度部分,而且象素总数比较少,而所占的灰度等级比较多,因此图像的对比度比较好,亮度比较大,整体图像清晰。经过直方图均衡后,目标物的所占的灰度等级被压缩,对比度减弱,反而使目标物变的难以辨认。

数字图像均衡化后,其直方图并非完全均匀分布,这是因为图像的象素个数和灰度等级均为离散值;而且均衡化使灰度级并归,因此,均衡化后,其直方图并非完全均匀分布。

源代码:

figure(1);

fid=fopen('D:\img\cell_128.img','r'); %打开无格式文件

data1=(fread(fid,[128,128],'uint8'))'; %将打开的文件读入到data1

subplot(4,2,1); %将figure(1)分成4*2的8个子窗口,

data11=uint8(data1);

imshow(data11);%图象显示

title('CELL','Color','b'); %加标题

subplot(4,2,2);

title('原图像直方图');

imhist(data11);

subplot(4,2,3); %取第二个子窗口

data2=uint8(data1);%将灰度图象转换成uint8格式

b=histeq(data2); %直方图均衡化

imshow(b,256); %显示均衡化图象,256可缺省

title('均衡化','Color','b');

subplot(4,2,4);

imhist(b);

title('均衡化后图像直方图');

subplot(4,2,5)

fid=fopen('d:\img\fing_128.img','r'); %打开无格式文件

data3=(fread(fid,[128,128],'uint8'))';%将打开的文件读入到data3

data31=uint8(data3); %将灰度图象转换成uint8格式

imshow(data31); %显示灰度图象

title('FING','Color','b');

subplot(4,2,6)

imhist(data31);

title('原图像直方图'); subplot(4,2,7);

data4=uint8(data3);%将灰度图象转换成uint8格式 d=histeq(data4); %直方图均衡化

imshow(d,256); %显示均衡化图象,256可缺省 title('均衡化','Color','b'); subplot(4,2,8); imhist(d);

title('均衡化后原图像直方图');

(2)对原图像加入高斯噪声,用4-邻域平均法平滑加噪声图像(图像四周边界不处理,下同),同屏显示原图像、加噪图像和处理后的图像。

① 不加门限;

② 加门限 2(,)T f m n =,(其中∑∑=i

j

j i f N n m f ),(1

),(2

源代码: % CELL figure(2);

fid=fopen('D:\img\cell_128.img','r'); %打开无格式文件

data1=(fread(fid,[128,128],'uint8'))'; %将打开的文件读入到data1 I=uint8(data1);

I1=imnoise(I,'gaussian'); %加乘性噪声 H1=[0 1 0;1 0 1;0 1 0]/4; %4×4领域模板 J=imfilter(I,H1); %领域平均

subplot(2,4,1),imshow(I); %显示图像I title('原图像');

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

title('加噪声后图像');

subplot(2,4,3),imshow(J); %不加门限平滑

title('不加门限平滑后图像');

%加门限后滤波

T= 2*sum(I1 (:))/128^2;

im_T = zeros(128,128);

for i = 1:128

for j = 1:128

if abs(I1(i,j) - J(i,j))>T

im_T(i,j) = J(i,j);

else

im_T(i,j) = I1(i,j);

end

end

end

subplot(2,4,4);

imshow(im_T);

title('加门限后');

% FING

figure(2);

fid=fopen('D:\img\fing_128.img','r'); %打开无格式文件

data1=(fread(fid,[128,128],'uint8'))'; %将打开的文件读入到data1 I=uint8(data1);

I1=imnoise(I,'gaussian'); %加乘性噪声

H1=[0 1 0;1 0 1;0 1 0]/4; %4×4领域模板

J=imfilter(I,H1); %领域平均

subplot(2,4,5),imshow(I); %显示图像I

title('原图像');

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

title('加噪声后图像');

subplot(2,4,7),imshow(J); %不加门限平滑

title('不加门限平滑后图像');

%加门限后滤波

T= 2*sum(I1 (:))/128^2;

im_T = zeros(128,128);

for i = 1:128

for j = 1:128

if abs(I1(i,j) - J(i,j))>T

im_T(i,j) = J(i,j);

else

im_T(i,j) = I1(i,j);

end end end

subplot(2,4,8); imshow(im_T); title('加门限后');

4. (1) 用Laplacian 锐化算子(分1=α和2=α两种情况)对256?256大小、256级灰度的数字图像lena 进行锐化处理,显示处理前、后图像。

源代码:

%laplacian 算子锐化

I=imread('D:\img\LENA256.bmp'); % 读入原图像 figure(1);

subplot(1,3,1);imshow(I);title('原始图像'); L=fspecial('laplacian'); L1=[0 -1 0;-1 5 -1;0 -1 0]; L2=[0 -2 0;-2 9 -2;0 -2 0];

LP1=imfilter(I,L1,'replicate');% α=1时的拉普拉斯算子 LP2=imfilter(I,L2,'replicate');% α=2时的拉普拉斯算子

subplot(1,3,2);imshow(LP1);title('Laplacian 算子α=1锐化图像'); subplot(1,3,3);imshow(LP2);title('Laplacian 算子α=2锐化图像');

(2) 若令

f n m f n m

g 21),(),(?-=α,

2(,)4(,)[(1,)(1,)(,1)(,1)g m n f m n f m n f m n f m n f m n αα=--+++-++

)]1,()1,(++-+n m f n m f

则回答如下问题:

① ),(n m f 、),(1n m g 和),(2n m g 之间有何关系? ② ),(2n m g 代表图像中的哪些信息? ③ 由此得出图像锐化的实质是什么?

①因为),(),(22n m f n m g ?-=α,所以),(n m f 、),(1n m g 和),(2n m g 之间有以下关系:

),(),(),(21n m g n m f n m g +=

②),(2n m g 代表了原图像中的二阶梯度信息;),(1n m g 是边缘增强后的数字图像;

③由此可以得出:图像锐化的实质是将原图像与梯度信息叠加(梯度信息所占的比例由α的大小决定,α值越大则梯度信息所占的比例越大),相当于对目标物的边缘进行了增强。

5. 分别利用Roberts、Prewitt和Sobel边缘检测算子,对256?256大小、256级灰度的数字图像lena进行边缘检测,显示处理前、后图像。

图像:

源代码:

I=imread('D:\img\LENA256.bmp'); % 读入原图像

figure(1)

%Roberts梯度法锐化

subplot(2,2,1);imshow(I);title('原始图像');

J=double(I);

[IX,IY]=gradient(J); %计算梯度

A=sqrt(IX.*IX+IY.*IY);

subplot(2,2,2);imshow(A,[]);title('Roberts梯度法锐化图像');

%Prewitt算子锐化

S=imfilter(I,fspecial('Prewitt'));

subplot(2,2,3);imshow(S);title('Prewitt算子锐化图像');

%Sobel算子锐化

S=imfilter(I,fspecial('sobel'));

subplot(2,2,4);imshow(S);title('Sobel算子锐化图像');

6、学习数字图像处理课程的心得体会,该课程在哪些方面需要改进,对该课程或者任课老师有哪些意见或建议。

通过对数字图像处理课程的认真学习,在课堂听课和课余实践中了解了数字图像的基础知识,培养了一定的软件编程能力,在努力完成课堂作业的同时,发现了对图像方面的兴趣。老师认真负责,布置合理的作业。但希望能够通过更加丰富的授课方式,提高更多人学习该门课程的兴趣和主动性。也同样希望老师能够加强点名和作业的验收,督促学生更加认真的学习知识。

数字图像处理实验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)掌握读、写图像的基本方法。 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数字图像处理初步 一、显示图像 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)

数字图像处理上机作业

数字图像处理上机实验题

一、产生右图所示图像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)');

数字图像处理实验 实验二

实验二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上机作业(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('原图的幅度谱');

数字图像处理期末复习题2教学总结

第六章图像的锐化处理 一.填空题 1. 在图像的锐化处理中,通过一阶微分算子和二阶微分算子都可以进行细节的增强与检测。垂直方向的微分算子属于________________。(填“一阶微分算子”或“二阶微分算子”) 2. 在图像的锐化处理中,通过一阶微分算子和二阶微分算子都可以进行细节的增强与检测。Roberts交叉微分算子属于________________。(填“一阶微分算子”或“二阶微分算子”) 3. 在图像的锐化处理中,通过一阶微分算子和二阶微分算子都可以进行细节的增强与检测。Sobel 微分算子属于________________。(填“一阶微分算子”或“二阶微分算子”) 4. 在图像的锐化处理中,通过一阶微分算子和二阶微分算子都可以进行细节的增强与检测。Priwitt微分算子属于________________。(填“一阶微分算子”或“二阶微分算子”) 5. 在图像的锐化处理中,通过一阶微分算子和二阶微分算子都可以进行细节的增强与检测。Laplacian微分算子属于________________。(填“一阶微分算子”或“二阶微分算子”) 6. 在图像的锐化处理中,通过一阶微分算子和二阶微分算子都可以进行细节的增强与检测。Wallis 微分算子属于________________。(填“一阶微分算子”或“二阶微分算子”) 7. 在图像的锐化处理中,通过一阶微分算子和二阶微分算子都可以进行细节的增强与检测。水平方向的微分算子属于________________。(填“一阶微分算子”或“二阶微分算子”) 8. 图像微分______________了边缘和其他突变的信息。(填“增强”或“削弱”) 9. 图像微分______________了灰度变化缓慢的信息。(填“增强”或“削弱”) 10. 图像微分算子______________用在边缘检测中。(填“能”或“不能”) 四.简答题 1. 图像中的细节特征大致有哪些?一般细节反映在图像中的什么地方? 2. 一阶微分算子与二阶微分算子在提取图像的细节信息时,有什么异同? 3. 简述水平方向的微分算子的作用模板和处理过程。 4. 简述垂直方向的微分算子的作用模板和处理过程。 5. 已知Laplacian微分算子的作用模板为:,请写出两种变形的Laplacian算子。解答: 1. 图像的细节是指画面中的灰度变化情况,包含了图像的孤立点、细线、画面突变等。孤 立点大都是图像的噪声点,画面突变一般体现在目标物的边缘灰度部分。 2. 一阶微分算子获得的边界是比较粗略的边界,反映的边界信息较少,但是所反映的边界 比较清晰;二阶微分算子获得的边界是比较细致的边界。反映的边界信息包括了许多的细节 信息,但是所反映的边界不是太清晰。 五.应用题 1. 已知Roberts算子的作用模板为:,Sobel算子的作用模板为: 。 设图像为:

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

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彩色空间

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

数字图像处理与分析实验作业 作业说明:作业题目分为基本题和综合应用题。基本题主要是考察大家对教材涉及的一些基本图像处理技术的理解和实现。而综合应用题主要是考察大家综合利用图像处理的若干技术来解决实际问题的能力。 注:所有实验用图像均可从网上下载,文档中的图片只是示例。 作业要求: 编程工具:Matlab或者VC(可以使用OpenCV:https://www.360docs.net/doc/9710612709.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、原始图像的直方图和上述三种方式对应均衡化后的直方图。

数字图像处理期末考题

数字图像处理 一、填空题 1、数字图像的格式有很多种,除GIF格式外,还有jpg 格式、tif 格式。 2、图像数据中存在的有时间冗余、空间冗余、结构冗余、信息熵冗余、知识 冗余、视觉冗余。 3、在时域上采样相当于在频域上进行___延拓。 4、二维傅里叶变换的性质___分离性、线性、周期性与共轨对称性、__位 移性、尺度变换、旋转性、平均值、卷积。(不考) 5、图像中每个基本单元叫做图像元素;在早期用picture表示图像时就称为 像素。 6、在图象处理中认为线性平滑空间滤波器的模板越大,则对噪声的压制越 好 ;但使图像边缘和细节信息损失越多; 反之, 则对噪声的压制不好 ,但对图像的细节等信息保持好。模板越平,则对噪声的压制越好 ,但对图像细节的保持越差;反之,则对噪声的压制不好,但对图像细节和边缘保持较好。 7、哈达玛变换矩阵包括___+1 和___—1 两种矩阵元素。(不要) 8、对数变换的数学表达式是t = Clog ( 1 + | s | ) 。 9、傅里叶快速算法利用了核函数的___周期性和__对称性。(不要) 10、直方图均衡化的优点是能自动地增强整个图像的对比度。(不要) 二、选择题 ( d )1.一幅灰度级均匀分布的图象,其灰度范围在[0,255],则该图象的信息量为: a. 0 .255 c ( c )2.采用模板[-1 1]主要检测____方向的边缘。 a.水平 b.45 c.垂直 ( c )3. 下列算法中属于图象平滑处理的是: a.梯度锐化 b.直方图均衡 c. 中值滤波增强 ( b )4.图象与灰度直方图间的对应关系是: a.一一对应 b.多对一 c.一对多 d.都不对 ( a )5.对一幅图像采样后,512*512的数字图像与256*256的数字图像相比较具有的细节。 a.较多 b.较少 c.相同 d.都不对 ( b )6.下列算法中属于点处理的是: a.梯度锐化 b.二值化 c.傅立叶变换 d.中值滤波 ( d )7.二值图象中分支点的连接数为: .1 c ( a )8.对一幅100100像元的图象,若每像元用8bit表示其灰度值,经霍夫曼编码后压缩图象的数据量为40000bit,则图象的压缩比为: :1 :1 c.4:1 :2 ( d )9.下列算法中属于局部处理的是: a.灰度线性变换 b.二值化 c.傅立叶变换 d.中值滤波 ( b )10.下列图象边缘检测算子中抗噪性能最好的是: a.梯度算子算子算子d. Laplacian算子

数字图像处理实验

《数字图像处理》 实验报告 学院:信息工程学院 专业:电子信息工程 学号: 姓名: 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 的大小;

数字图像处理上机实验三

医学图像处理实验三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算子处理后的图像');

数字图像处理期末作业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 ) {

数字图像处理期末复习

遥感与数字图像处理基础知识 一、名词解释: 数字影像图像采样灰度量化像素 数字影像:数字影像又称数字图像,即数字化的影像。基本上是一个二维矩阵,每个点称为像元。像元空间坐标和灰度值均已离散化,且灰度值随其点位坐标而异。 图像采样:指将在空间上连续的图像转换成离散的采样点集的操作。 灰度量化:将各个像素所含的明暗信息离散化后,用数字来表示。 像素:像素是A/D转换中的取样点,是计算机图像处理的最小单元 二、填空题: 1、光学图像是一个连续的光密度函数。 2、数字图像是一个_离散的光密度_函数。 3、通过成像方式获取的图像是连续的,无法直接进行计算机处理。此外,有些遥感图像是通过摄影方式获取的,保存在胶片上。只有对这些获取的图像(或模拟图像)进行数字化后,才能产生数字图像。数字化包括两个过程:___采样___和__量化___。 4、一般来说,采样间距越大,图像数据量____小____,质量____低_____;反之亦然。 5、一幅数字图像为8位量化,量化后的像素灰度级取值范围是________的整数。设该数字图像为600行600列,则图像所需要的存储空间为________字节。 6、设有图像文件为200行,200列,8位量化,共7个波段,则该图像文件的大小为________。 三、不定项选择题:(单项或多项选择) 1、数字图像的________。 ①空间坐标是离散的,灰度是连续的②灰度是离散的,空间坐标是连续的 ③两者都是连续的④两者都是离散的 2、采样是对图像________。 ①取地类的样本②空间坐标离散化③灰度离散化 3、量化是对图像________。 ①空间坐标离散化②灰度离散化③以上两者。 4、图像灰度量化用6比特编码时,量化等级为________。 ①32个②64个③128个④256个 5、数字图像的优点包括________。 ①便于计算机处理与分析②不会因为保存、运输而造成图像信息的损失 ③空间坐标和灰度是连续的

数字图像处理实验一

数字图像处理—实验一 一.实验内容: 图像灰度变换 二.实验目的: 学会用Matlab软件对图像灰度进行变换;感受各种不同的灰度变换方法对最终图像效果的影响。 三.实验步骤: 1.获取实验用图像:rice.jpg. 使用imread函数将图像读入Matlab。 程序: clc;clear; figure; subplot(4,4,1); i = imread('rice.png'); i = im2double(i); imshow(i);title('1'); 2.产生灰度变换函数T1,使得: 0.3r r < 0.35 s = 0.105 + 2.6333(r – 0.35) 0.35 ≤r ≤0.65

1 + 0.3(r – 1) r > 0.65 用T1对原图像rice.jpg进行处理,使用imwrite函数保存处理后的新图像。程序: subplot(4,4,2); r=[0:0.001:1]; s=[r<0.35].*r*0.3+[r<=0.65].*[r>=0.35].*(0.105+2.6333*(r-0.35))+[r>0.65].*(1 +0.3*(r-1)); plot(r,s);title('2p'); subplot(4,4,3); T1=[i<0.35].*i*0.3+[i<=0.65].*[i>=0.35].*(0.105+2.6333*(i-0.35))+[i>0.65].*( 1+0.3*(i-1)); imshow(T1);title('2i'); imwrite(T1,'rice_T1.jpg','jpg');

3.产生灰度变换函数T2,使得: 用T2对原图像rice.jpg进行处理,使用imwrite保存处理后的新图像。 %3 subplot(4,4,4); r = [0:0.001:1];

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

数字图像处理上机实 验三

医学图像处理实验三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图像处理工具箱,在掌握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,即

数字图像处理期末复习试题3

1、数字图像:指由被称作像素的小块区域组成的二维矩阵。将物理图像行列划分后,每个小块区域称为像素(pixel)。 数字图像处理:指用数字计算机及其它有关数字技术,对图像施加某种运算和处理,从而达到某种预想目的的技术. 2、8-连通的定义:对于具有值V的像素p和q ,如果q在集合N8(p)中,则称这两个像素是8-连通的。 3、灰度直方图:指反映一幅图像各灰度级像元出现的频率。 4、中值滤波:指将当前像元的窗口(或领域)中所有像元灰度由小到大进行排序,中间值作为当前像元的输出值。 像素的邻域 邻域是指一个像元(x,y)的邻近(周围)形成的像元集合。即{(x=p,y=q)}p、q为任意整数。 像素的四邻域 像素p(x,y)的4-邻域是:(x+1,y),(x-1,y) ,(x,y+1), (x,y-1) 三、简答题( 每小题10分,本题共30 分 ): 1. 举例说明直方图均衡化的基本步骤。 直方图均衡化是通过灰度变换将一幅图象转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。 直方图均衡化变换:设灰度变换s=f(r)为斜率有限的非减连续可微函数,它将输入图象Ii(x,y)转换为输出图象Io(x,y),输入图象的直方图为Hi(r),输出图象的直方图为Ho(s),则根据直方图的含义,经过灰度变换后对应的小面积元相等:Ho(s)ds=Hi(r)dr 直方图修正的例子 假设有一幅图像,共有6 4(6 4个象素,8个灰度级,进行直方图均衡化处理。 根据公式可得:s2=0.19+0.25+0.2l=0.65,s3=0.19+0.25+0.2l+0.16=0.8l,s4=0.89,s5=0.95,s6=0.98,s7=1.00 由于这里只取8个等间距的灰度级,变换后的s值也只能选择最靠近的一个灰度级的值。因此,根据上述计算值可近似地选取: S0≈1/7,s 1≈3/7,s2≈5/7,s3≈6/7,s4≈6/7,s5≈1,s6≈l,s7≈1。 可见,新图像将只有5个不同的灰度等级,于是我们可以重新定义其符号: S0’=l/7,s1’=3/7,s2’=5/7,s3’=6/7,s4’=l。 因为由rO=0经变换映射到sO=1/7,所以有n0=790个象素取sO这个灰度值;由rl=3/7映射到sl=3/7,所以有1 02 3个象素取s 1这一灰度值;依次类推,有850个象素取s2=5/7这一灰度值;由于r3和r4均映射到s3=6/7这一灰度值,所以有656+329=98 5个象素都取这一灰度值;同理,有245+1 22+81=448个象素都取s4=1这一灰度值。上述值除以n=4096,便可以得到新的直方图。 2. 简述JPEG的压缩过程,并说明压缩的有关步骤中分别减少了哪种冗余? 答:分块->颜色空间转换->零偏置转换->DCT变换->量化->符号编码。颜色空间转换,减少了心理视觉冗余;零偏置转换,减少了编码冗余;量化减少了心理视觉冗余;符号编码由于是霍夫曼编码加行程编码,因此即减少了编码冗余(霍夫曼编码)又减少了像素冗余(行程编码)。 JPEG2000的过程:图像分片、直流电平(DC)位移,分量变换,离散小波变换、量化,熵编码。3、Canny边缘检测器 答:Canny边缘检测器是使用函数edge的最有效边缘检测器。该方法总结如下:1、图像使用带有指定标准偏差σ的高斯滤波器来平滑,从而可以减少噪声。2、在每一点处计算局部梯度g(x,y)=[G2x+G2y]1/2 和边缘方向α(x,y)=arctan(Gy/Gx)。边缘点定义为梯度方向上其强度局部最大的点。3、第2条中确定的边缘点会导致梯度幅度图像中出现脊。然后,算法追踪所有脊的顶部,并将所有不在脊的顶部的像素设为零,以便在输出中给出一条细线,这就是众所周知的非最大值抑制处理。脊像素使用两个阈值T1和T2做阈值处理,其中T1

相关文档
最新文档