数字图像处理
实验指导书
电子工程与自动化学院
实验一 matlab数字图像处理基础
一、实验目的
●熟悉MatLab软件中图像输入/输出/显示/转换的基本命令;
●了解图像IO基本函数、矩阵与图像和图像格式的对应关系、灰度/彩色/二值图
像的相互转换
二、实验基本命令
●数字图像读入与输出:
1) InImg=imread(‘图像文件’): 读入指定的图像文件到内存
InImg:矩阵变量,保存读入的数字图像;图像文件:全路径的图像文件名(格式为:*.bmp 或 *.jpg);
2) imwrite(OutImg, ‘图像文件’): 输出内存中图像数据到文件
OutImg:矩阵变量,保存的数字图像;图像文件:全路径的图像文件名(格式为:*.bmp 或 *.jpg);
3) whos ImgData: 屏幕输出图像的相关信息
ImgData: 矩阵变量,保存在内存中的数字图像
●数字图像显示:
1) imshow(ImgData): 将图像文件显示到屏幕
ImgData: 矩阵变量,保存待显示的数字图像;
2) subPlot(行数,列数,区域索引); imshow(ImgData): 将图像文件显示到指定的屏幕区域
ImgData: 矩阵变量,保存待显示的数字图像;
行数,列数:屏幕划分区域数(行数x列数);区域索引:第n块区域(1<=n<=行数x列数)
●数字图像转换:
1) I=rgb2gray(rgbImg):将彩色图像转换为灰度图像
rgbImg: 矩阵变量,保存彩色图像;
I: 矩阵变量,保存灰度图像
2) bw=im2bw(Img,level):将灰度图像转换为二值图像;
Img: 矩阵变量,保存彩色图像或灰度图像;
level: 灰度级阀值(> level 为1;< level 为0)
bw: 矩阵变量,二值图像
3) I=mat2gray(X) : 将矩阵转换为灰度图像;
X: 矩阵变量;I: 灰度图像;
三、实验内容
1) 熟悉运用以上命令,得出各条指令的运行效果,参考代码如下(需修改):
例如1:
InImg=ImRead(‘d:\DirName\demoImg_InPut.bmp’);
I=rgb2gray(InImg);
subPlot(1,2,1);Imshow(InImg);%显示彩色图像于屏幕第一块区域
subPlot(1,2,2);Imshow(I);%显示灰度图像于屏幕第二块区域
ImWrite (I,‘d:\DirName\demoImg_outPut.bmp’); %存盘
例如2:
InImg=ImRead(‘d:\DirName\demoImg_InPut.bmp’)
bw = im2bw (InImg, 5)
subPlot(1,2,1);Imshow(InImg);显示彩色图像于屏幕第一块区域
subPlot(1,2,2);Imshow(bw) ;显示二值图像于屏幕第二块区
2)综合设计程序:
●将给定彩色图像转换为灰度图像,从大到小设定不同的6个灰度级阀值,分别
将其二值化,将原图、灰度图及6个二值化结果显示在屏幕的8个区域,并保
存成磁盘图像文件,对比不同阀值的结果;
●在Matlab中设计矩阵,将其转化为图像,完成如下工作
编写一个函数BWBand(w,h)(请勿编写脚本程序,必须是函数)。该函数用于产生一个数组,该数组代表长201、高321的8比特灰度图像,图像背景是纯黑色,中间有一个纯白色的矩形(长w、高h),w、h是函数的参数。将BWBand(7,11)对应的图像显示在屏幕上并存盘。(请注意保存该函数文件,以后的实验会继续使用)
w=7;
h=11
img=BWBand(w, h);
imshow(img);#将显示右图
四、思考题
1)什么是图像的分辨率;
1)什么是灰度级;
1)二值化时灰度级阀值的作用。
五、实验预习要求
学习彩色图像、灰度图像、二值图像的有关知识;熟悉实验基本命令,思考综合设计程序的流程。
实验二数字图像空域增强运算(设计性)
一、实验目的
●要求熟练运用MatLab软件中数字图像灰度增强点运算,包括灰度对比度增强和
直方图均衡的相关命令;
●熟练运用MatLab软件中相关的数字图像灰度增强区域运算命令进行空域灰度
增强、中值滤波。
二、实验基本命令
1. 数字图像灰度增强运算.
1) J=imadjust(I,[low high], [bottom top],gamma): 对灰度图像进行直接灰度变换.
I: 增强前灰度图像;
J: 增强后灰度图像;
[low high]: 待增强的灰度级范围;
[bottom top]: 增强后的灰度级范围(对应于[low high]);
gamma: 描述I和J关系形状的曲线(gamma<1,越亮输出值越加强; gamma>1,越亮输出值越减弱; gamma=1,线性变换;
2) imhist(I): 计算灰度图像直方图;
J=histeq(I): 图像直方图均衡化.
I: 灰度图像; J: 直方图均衡化后灰度图像;
2. 数字图像空域滤波
1) J=imnoise(I,TYPE,…):向灰度图像中加入噪声.
I: 输入的灰度图像;
TYPE:噪声类型,取值为’gaussian’(高斯噪声), ’salt & pepper’(椒盐噪声), ’speckle’(斑点噪声);
J: 噪声图像;
2) S=medfilt2(J): 对图像进行中值滤波.
J: 输入的噪声图像; S: 滤波后的图像;
三、实验内容
1.熟悉运用以上命令,得出各条指令的运行效果,参考代码如下(需修改):
例如1:
InImg=ImRead(‘d:\DirName\demoImg_InPut.bmp’);
I=rgb2gray(InImg);
J1=histeq(I);
J2=imadjust(I,[0.1 0.8], [0 1],0.5);
subPlot(2,2,1);Imshow(I);显示原始灰度图像于屏幕第一块区域
subPlot(2,2,2);Imshow(J1);显示直方图均衡化后灰度图像于屏幕第二块区域
subPlot(2,2,3);imhist(I);显示原灰度图像直方图于屏幕第三块区域
subPlot(2,2,4);imhist(J);显示均衡化后灰度图像直方图于屏幕第四块区域
subPlot(2,2,5);Imshow(J2);显示增强后灰度图像于屏幕第五块区域例如2:
InImg=ImRead(‘d:\DirName\demoImg_InPut.bmp’)
I=rgb2gray(InImg)
J1=imnoise(I, ’gaussian’,M,V): 加入均值为M(缺省值:0),方差为V(缺省值:0.01)的高斯噪声.
S=medfilt2(J1)
subPlot(1,3,1);Imshow(I) : 显示原始灰度图像于屏幕第一块区域
subPlot(1,3,2);Imshow(J1) : 显示高斯噪声灰度图像于屏幕第二块区域
subPlot(1,3,3);Imshow(J2) : 显示中值滤波后图像于屏幕第三块区域
2.综合设计程序:
●将给定彩色图像转换为灰度图像,计算给定灰度图像的灰度直方图,对灰度图像进
行灰度反转变换,再计算其直方图,对比灰度反转前后结果,然后对反转后的图像
进行直方图均衡化,并计算均衡化后的直方图,对比均衡化前后结果;
●将给定彩色图像转换为灰度图像,对其分别加入椒盐噪声、高斯噪声、斑点噪声,
然后用中值滤波分别对其滤波,对比其结果。
四、思考题
1)不同gamma值对应的灰度增强映射曲线是什么样的?
2)直方图均衡化的作用是什么?
3)中值滤波适合于什么噪声?
五、实验预习要求
学习灰度映射、直方图均衡化、中值滤波的有关知识;熟悉实验基本命令,思考综合设计程序的流程。
实验三数字图像变换及频域增强(设计性)
一、实验目的
●熟悉MatLab软件中与图像变换相关的傅里叶变换/滤波等基本命令;
●要求熟练运用MatLab软件中相关的命令编制程序进行给定图像频域增强滤
波。
二、实验基本命令
1.傅里叶变换:
F=fft2(I): 2D傅里叶正变换
I: 矩阵变量,保存输入的灰度图像;
F: 矩阵变量,保存傅里叶正变换结果;
Pha=angle(F): 计算相位谱
F: 矩阵变量,保存傅里叶正变换结果;
Pha: 矩阵变量,保存傅里叶正变换相位分量
R= abs(F): 计算功率谱
F: 矩阵变量,保存傅里叶正变换结果;
R: 矩阵变量,保存傅里叶正变换功率分量
F1=real(F): 获得傅里叶变换实部分量
F: 矩阵变量,保存傅里叶正变换结果;
F1: 矩阵变量,保存傅里叶正变换实部分量
F2=imag(F): 获得傅里叶变换虚部分量
F: 矩阵变量,保存傅里叶正变换结果;
F2: 矩阵变量,保存傅里叶正变换虚部分量
fftshift(F): 移动傅里叶频谱中心至零频率
F: 矩阵变量,保存傅里叶正变换结果
I=ifft2(F): 2D傅里叶逆变换
I: 矩阵变量,保存傅里叶逆变换结果;
F: 矩阵变量,保存傅里叶正变换结果;
三、实验内容
1.熟悉运用以上命令,得出各条指令的运行效果,参考代码如下(需修改):
例如1:
InImg=ImRead(‘d:\DirName\demoImg_InPut.bmp’)
I=rgb2gray(InImg)
F1=fft2(I) //傅里叶正变换
f1=ifft2(F1) //傅里叶逆变换
I1=abs(f1)
I1= mat2gray(I1)
subPlot(1,2,1);Imshow(I) : //显示灰度图像
subPlot(1,2,2);Imshow(I1) : //显示傅里叶正逆变换后图像
Pha=ANGLE(F1) //计算相位谱
Pha1 =mat2gray(Pha) //将相位谱转换为灰度图像
F=fftshift(f1) //移动傅里叶频谱中心至零频率
R= abs(F) //计算功率谱
R1=log(R) //利用log函数对灰度级数进行非线性压缩
R2 =mat2gray(R1)
subPlot(1,2,3);Imshow(R) : //显示log变换前的功率谱图像
subPlot(1,2,4);Imshow(R1) : //显示log变换后的功率谱图像
subPlot(1,2,5);Imshow(Pha1) : //显示相位谱图像
I2=ifft2(Pha) //仅由相位信息进行逆傅里叶变换重建图像
I2= abs(I2)
I2 =mat2gray(I2)
I3=ifft2(f1) //仅由功率信息进行逆傅里叶变换重建图像
I3= abs(I3)
I3 =mat2gray(I3)
subPlot(1,2,6);Imshow(I1) : //显示功率谱重构图像
subPlot(1,2,7);Imshow(I2) : //显示相位谱重构图像
2.综合设计程序:
●使用实验1的BWBand函数完成如下内容:
(1) 比较BWBand(21, 31)和BWBand(21, 61)的功率谱的图像;
(2) 比较imrotate(BWBand(21, 31),30)(即图像BWBand(21, 31)旋转30°)和
BWBand(21, 31)的功率谱的图像。
●将给定彩色图像转换为灰度图像,对其加入椒盐噪声,然后设计数字图像频域低通
滤波器对其滤波,对比其结果,参考带通滤波器的设计程序:
[f1 f2]=freqspace([30 40],’meshgrid’) //产生等间隔采样的频率响应
R=sqrt(f1.^2+ f2.^2) //计算功率谱
HD=ones([30 40]);
HD((R<0.1) | (R>0.5))=0; //产生理想的带通滤波器,频率带宽[0.1 0.5]
Win= fspecial('gaussian',[30 40],2) //采用高斯函数生成同样大小的窗函数
Win= win. /max(win(:)) //窗口函数归一化
H=fwind2(HD,win) //利用窗口函数产生实际的带通滤波器
四、思考题
1)图像的功率谱有什么特点?
2) 图像频谱的零频在什么位置?
五、实验预习要求
学习傅里叶变换、频域滤波的有关知识;熟悉实验基本命令,思考综合设计程序的流程。
实验4 图像的滤波复原(设计性)
一、实验目的
●熟悉 MatLab 软件中与图像滤波复原相关的现有滤波算子及基本命令;
●数字图像滤波器的设计, 要求熟练运用MatLab软件中运算命令进行平滑滤波、
锐化滤波器的设计。
二、实验基本命令
1. 经典滤波器:
H=fspecial(type): 生成预定义的2D滤波器
Type:预定义的滤波器类型,取值为:'average' (均值滤波器)、'disk' (圆均值滤波器)、'gaussian' (高斯滤波器)、'laplacian' (拉普拉斯滤波器)、'log' (高
斯-拉普拉斯滤波器)、'prewitt'、'sobel' (边缘增强滤波器);
H: 矩阵变量,保存离散的数字滤波器;
Y= imfilter(I,H) : 实施数字图像滤波
I:矩阵变量,为滤波前2D数字图像;
H:矩阵变量,生成的滤波器2D矩阵;
Y:矩阵变量,保存滤波后的2D数字图像;
J = WIENER2(I,[M N]): 对灰度图像实施维纳自适应滤波
I:矩阵变量,保存待滤波的2D数字图像;
J:矩阵变量,保存滤波后的2D数字图像;
[M N]:象素的领域大小,用来估计局部图像的均值和方差,作为信号的谱密度。
2. 数字图像空域滤波
C=conv2(A,B) : 计算矩阵A和B的卷积
A:矩阵变量,即为滤波前2D数字图像;
B:矩阵变量,离散的2D卷积函数;
C:矩阵变量,保存滤波后的2D数字图像;
三、实验内容
1.熟悉运用以上命令,得出各条指令的运行效果,参考代码如下(需修改):
例如1:
InImg=ImRead(‘d:\DirName\demoImg_InPut.bmp’)
I=rgb2gray(InImg)
J1=imnoise(I, ’gaussian’)
H = fspecial('average',[5 5]);
Blurred1 = imfilter (H,J1);
H = fspecial('gaussian',[5 5]);
Blurred2 = imfilter (J1,H);
K = wiener2(J1,[5 5]);
subPlot(1,3,1);Imshow(J1) : 显示噪声图像
subPlot(1,3,2);Imshow(Blurred1) : 显示均值滤波图像
subPlot(1,3,3);Imshow(Blurred2) : 显示高斯滤波图像
subPlot(1,3,4);Imshow(K) : 显示维纳滤波器滤波图像
例如2:
InImg=ImRead(‘d:\DirName\demoImg_InPut.bmp’)
I=rgb2gray(InImg)
J = imnoise(I,'gaussian',0,0.005);
B1=[0 0.2 0;0.2 0.2 0.2; 0 0.2 0] //平滑滤波器
B2=[0 -1 0;-1 4 -1; 0 -1 0] //锐化滤波器
C1=conv2(I,B1, 'same') //对加噪后的图像平滑滤波
C1=mat2gray(C1) //将矩阵转换为灰度图像
C2=conv2(J,B2, 'same') //对平滑滤波后的图像锐化滤波
C2=mat2gray(C2) //将矩阵转换为灰度图像
subPlot(2,2,1);Imshow(I) : 显示灰度图像于屏幕第一块区域
subPlot(2,2,2);Imshow(J) : 显示噪声图像于屏幕第二块区域
subPlot(2,2,3);Imshow(C1) : 显示平滑图像于屏幕第三块区域
subPlot(2,2,4);Imshow(C2) : 显示锐化图像于屏幕第四块区域
2.综合设计程序:
●设计3x3,5x5,7x7 的卷积函数(模板)对给定灰度图像进行锐化滤波,输出结
果到屏幕区域及磁盘文件;
●设计3x3,5x5,7x7 的卷积函数(模板)对给定灰度图像进行平滑滤波,输出结
果到屏幕区域及磁盘文件;
四、思考题
1) 平滑、锐化卷积模块各有什么特点?
2) 滤波器窗口越大对滤波效果有什么影响?
五、实验预习要求
学习图像平滑、图像锐化的有关知识;熟悉实验基本命令,思考综合设计程序的流程。
实验5 图像的无损压缩(设计性)
一、实验目的
●掌握好哈夫曼无损压缩编码的基本思想、流程;
●在给出的主要模块的基础上设计实现整个哈夫曼编码算法,并验证其编码效
率。
二、实验原理
1)哈夫曼编码简介
哈夫曼编码是依据字符出现的概率来构造其码字,是一种变长编码(Variable
-Length Coding,VLC),同时也是一种无失真编码,属于熵编码范畴。在具有相同信源概率分布的前提下,它的平均码字长度比其他任何一种有效编码方法都短。
哈夫曼编码效率高,运算速度快,实现方式灵活,在数据压缩、CP/M和DOS 系统领域得到了广泛的应用。
2)哈夫曼编码的一般步骤
哈夫曼编码的一般步骤如下:
(1)首先统计信源中各符号出现的概率,按符号出现的概率从大到小排序。
(2)把最小的两个概率相加合并成新的概率,与剩余的概率组成新的概率集合。
(3)对新的概率集合重新排序,再次把其中最小的两个概率相加,组成新的概率集合,如此重复进行,直到最后两个概率的和为1。
(4)分配码字。码字分配从最后一步开始反向进行。
三、实验内容
1. 哈夫曼的主要模块代码(代码不全):
(1)首先,对图像的灰度统计,接着计算各元素出现的概率,并初始化各变量。部分程序如下:
GrayStatistics=GrayStatistics';
GrayRatioo=GrayStatistics/sum(GrayStatistics);
GrayRatioNO=find(GrayRatioo~=0);
Len=length(GrayRatioNO);
GrayRatio=ones(1,Len); %初始化灰度集,防止系统随即赋予其垃圾值
for i=1:Len
GrayRatio(i)=GrayRatioo(i);
end
GrayRatio=abs(sort(-GrayRatio));
for i=1:Len
HufData(i).value=GrayRatio(i); %将图像灰度概率赋予结构体
End
(2)将各元素按概率排序,把出现的元素概率最小的两个相加合并成新的概率,与剩余的概率组成新的概率集合,直到剩下最后两个概率。部分程序如下:
function HuffmanCode(OriginSize)
for i=1:Len
HufData(i).left=1; %%霍夫曼编码树左边纪录为1
HufData(i).right=0; %%霍夫曼编码树右边纪录为0
HufData(i).code=[];%%输出码初始化为0
%%排序列表初始化
SortList(i).symbol=i;
SortList(i).value=HufData(i).value;
end
newsymbol=OriginSize; %初始化原始消息数目
for n=OriginSize:-1:2
SortList=sortdata(SortList,n); %将N个消息进行排序
%将最后两个出现概率最小的消息合成一个消息
newsymbol=newsymbol+1;
HufData(newsymbol).value=SortList(n-1).value+SortList(n).value
HufData(newsymbol).left=SortList(n-1).symbol;
HufData(newsymbol).right=SortList(n).symbol;
%将消息添加到列队的最后,为N-1个消息重新排序作好准备
SortList(n-1).symbol=newsymbol;
SortList(n-1).value=HufData(newsymbol).value;
end
visit(newsymbol,Len,[]); %遍历霍夫曼树,获得霍夫曼编码/哈夫曼编码
end
(3)冒泡排序法函数:
function reData=sortdata(SortList,n)
%根据消息概率进行从小到大排序
for k=n:-1:2
for j=1:k-1
min=SortList(j).value;
sbl=SortList(j).symbol;
if(min ……(自己添加) end end end reData=SortList; end (4)遍历哈夫曼编码/霍夫曼编码树搜索函数visit.m function visit(node,n,ocode) global HufData if node<=n %如果没有哈夫曼编码/霍夫曼编码树的子接点直接输出原始码,这里为空码 HufData(node).code=ocode; else if(HufData(node).left>0) %遍历左分支接点输出1,这里采用子函数嵌套调用 ocode1=[ocode 1]; visit(HufData(node).left,n,ocode1); end if(HufData(node).right>0) %遍历右分支接点输出0,这里采用子函数嵌套调用 ocode2=[ocode 0]; visit(HufData(node).right,n,ocode2); end end end (5)显示编码的压缩信息,各元素编码结果,部分程序如下所示: zippedHuffman=1; for i=1:Len tmpData=HufData(i).code; str=''; for j=1:length(tmpData) str=strcat(str,num2str(tmpData(j))); zippedHuffman=zippedHuffman+1; end disp(strcat('a',num2str(i),'= ',str)) end 看懂上述代码 2.综合设计程序: ●在看懂完善上述代码的基础上通过子函数的调用设计程序实现功能:对灰度图像出 现的各个级别灰度概率进行Huffman 编码 ●设计程序计算出压缩比 四、思考题 1) Huffman 编码的压缩下限是多少? 2)其中的0,1 分配对压缩比有没有影响? 五、实验预习要求 学习无损数据压缩、哈夫曼编码的有关知识;熟悉哈夫曼编码的基本流程,思考综合设计程序的流程。 实验6 图像的边缘特征分析及提取(设计性) 一、实验目的 ●熟悉MatLab软件中与图像几何纠正、边缘检测相关的基本命令; ●综合运用和设计算子从给定的噪声图像中提取边缘; ●能对数字图像频域提取边缘,要求根据截止频率设计低通、高通滤波器对噪声 图像进行滤波后提取边缘。 二、实验基本命令 1. 图像几何纠正、边缘检测: B=imresize(A,m,type): 图像大小调整 A: 矩阵变量,保存待调整的2D数字图像; B: 矩阵变量,保存调整后2D数字图像; Type:图像大小调整时所采用的灰度插值方式('nearest’:最近邻插值、'bilinear':双线性插值); m: 大于零的常数(m>1: 图像放大; m<1: 图像缩小;m=1: 图像大小不便 B=imrotate(A,angle,method): 图像旋转调整 A: 矩阵变量,保存待调整的2D数字图像;B: 矩阵变量,保存调整后2D 数字图像; method:图像大小调整时所采用的灰度插值方式('nearest’:最近邻插值、'bilinear':双线性插值); angle: 逆时针方向将图像旋转的角度大小 2. 边缘提取: BW=edge(I,method,thresh): 检测灰度图像的边缘 I:矩阵变量,保存检测边缘的2D灰度图像的; BW :矩阵变量,保存二进制图像,其中元素1为发现I中的边缘; method:MATLIB中预定义的边缘检测器('sobel’、'prewitt'、'robert'、'log':); thresh: 阈值,所有不强于该阈值的边缘将被忽略 三、实验内容 1.熟悉运用以上命令,得出各条指令的运行效果,参考代码如下(需修改): 例如1: InImg=ImRead(‘d:\DirName\demoImg_InPut.bmp’) I=rgb2gray(InImg) B1=imresize(I1,1.5, 'narest’) B2=imresize(I2,1.5, 'bilinear') C1= imrotate (I2,45, 'nearest’) C2= imrotate (I1,45, 'bilinear') subPlot(2,3,1);Imshow(I) : 显示原始图像于 subPlot(2,3,2);Imshow(B2) : 显示调整图像(最近邻插值) subPlot(2,3,3);Imshow(B1) : 显示调整图像(双线性插值) subPlot(2,3,4);Imshow(C1) : 显示旋转图像(最近邻插值) subPlot(2,3,5);Imshow(C2) : 显示旋转图像(双线性插值) 例如2: InImg=ImRead(‘d:\DirName\demoImg_InPut.bmp’) I=rgb2gray(InImg) BW1= edge (I1, 'sobel’,50) BW2= edge (I2, 'prewitt',50) BW3= edge (I3, 'robert',50) BW4= edge (I4, 'log',50,2.0) subPlot(2,2,1);Imshow(BW1) : 显示边缘图像 subPlot(2,2,2);Imshow(BW2) : 显示边缘图像 subPlot(2,2,3);Imshow(BW3) : 显示边缘图像 subPlot(2,2,4);Imshow(BW4) : 显示边缘图像 2.综合设计程序: ●综合运用所学图像知识自己设计程序对给定的噪声图像在空域中处理提取边缘,不 能使用matlab内部现成的去噪、锐化、边缘提取命令;自己设计matlab程序,对 噪声图像进行边缘提取,基本思路:加噪-》去噪-》锐化-》边缘提取(二值化); 附:噪声图像的生成过程:(可修改调整) InImg=ImRead(‘d:\\DirName\\demoImg_InPut2.bmp’) I=rgb2gray(InImg) J = imnoise(C,'gaussian',0,0.005); ●综合运用所学图像知识自己设计程序对给定的噪声图像运用频域滤波的方法提取 边缘,不能使用matlab内部现成的去噪、锐化、边缘提取命令;自己设计matlab 程序,对噪声图像进行边缘提取,基本思路:加噪-》去噪-》锐化-》边缘提取; 附:频域高通滤波,二阶巴特沃斯(Butterworth)高通滤波器 [M,N]=size(g); % 转换数据矩阵 nn=2; % 二阶巴特沃斯(Butterworth)高通滤波器 d0=5; m=fix(M/2); n=fix(N/2); for i=1:M for j=1:N d=sqrt((i-m)^2+(j-n)^2); if (d==0) h=0; else h=1/(1+0.414*(d0/d)^(2*nn));% 计算传递函数 end result(i,j)=h*g(i,j); end end 四、思考题 1)最近邻插值、双线性插值有什么不同? 2) 'sobel’、'prewitt'、'robert'进行边缘检测时适合什么样的边缘? 五、实验预习要求 学习图像边缘提取、几何校正、综合前面图像处理的有关知识;熟悉实验基本命令,思考综合设计程序的流程。