欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PDF文档下载
     

    数字图像处理实验报告全答案.pdf

    • 资源ID:5146889       资源大小:4.63MB        全文页数:39页
    • 资源格式: PDF        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数字图像处理实验报告全答案.pdf

    实验一常用 MATLAB 图像处理命令 一、实验目的 1 、熟悉并掌握MA TLAB工具的使用; 2、实现图像的读取、显示、代数运算和简单变换。 二、实验环境 MATLAB 6.5以上版本、WIN XP或 WIN2000计算机 三、常用函数 读写图像文件 1 imread imread函数用于读入各种图像文件,如:a=imread('e:w01.tif') 2 imwrite imwrite函数用于写入图像文件,如:imwrite(a,'e:w02.tif',tif) 3 imfinfo imfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:w01.tif') 图像的显示 1image image函数是 MATLAB 提供的最原始的图像显示函数,如: a=1,2,3,4;4,5,6,7;8,9,10,11,12; image(a); 2 imshow imshow函数用于图像文件的显示,如: i=imread('e:w01.tif'); imshow(i); title(原图像) % 加上图像标题 3 colorbar colorbar函数用显示图像的颜色条,如: i=imread('e:w01.tif'); imshow(i); colorbar; 4 figure figure函数用于设定图像显示窗口,如:figure(1); /figure(2); 5 subplot 把图形窗口分成多个矩形部分,每个部分可以分别用来进行显示。 Subplot (m ,n,p)分成 m*n个小窗口,在第p 个窗口中创建坐标轴为当 前坐标轴,用于显示图形。 6 plot 绘制二维图形 plot (y) Plot (x,y)xy 可以是向量、矩阵。 图像类型转换 1 rgb2gray 把真彩图像转换为灰度图像 i=rgb2gray (j ) 2 im2bw 通过阈值化方法把图像转换为二值图像 I=im2bw(j ,level ) Level 表示灰度阈值,取值范围01(即 0.n ),表示阈值取自原图像灰度 范围的 n% 3 imresize 改变图像的大小 I=imresize(j ,m n )将图像 j 大小调整为 m行 n 列 图像运算 1 imadd 两幅图像相加,要求同样大小,同种数据类型 Z=imadd(x,y)表示图像 x+y 2 imsubstract 两幅图像相减,要求同样大小,同种数据类型 Z=imsubtract (x,y)表示图像 x-y 3 immultiply Z=immultiply(x,y)表示图像 x*y 4 imdivide Z=imdivide (x,y)表示图像 x/y 四、实验内容(请将实验程序填写在下方合适的位置,实验图像结果拷屏粘贴) 1、读入一幅 RGB 图像,变换为灰度图像和二值图像,并在同一个窗口内分 成三个子窗口来分别显示RGB 图像和灰度图像,注上文字标题。 a=imread('f:1.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、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子 窗口来分别显示,注上文字标题。 a=imread('f:1.jpg') A=imresize(a,800 800) b=imread('f:2.jpg') B=imresize(b,800 800) Z1=imadd(A,B) Z2=imsubtract(A,B) Z3=immultiply(A,B) Z4=imdivide(A,B) subplot(3,2,1); imshow(A);title('原图像 A') subplot(3,2,2); imshow(B);title('原图像 B') subplot(3,2,3); imshow(Z1);title('加法图像 ') subplot(3,2,4); imshow(Z2);title('减法图像 ') subplot(3,2,5); imshow(Z3);title('乘法图像 ') subplot(3,2,6); imshow(Z2);title('除法图像 ') 3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个 窗口内分成四个子窗口来分别显示,注上文字标题。 a=imread('f:1.jpg'); m = imadjust(a,0.5;1) ;%图像变亮 n = imadjust(a,0;0.5) ;%图像变暗 g=255-a;%负片效果 subplot(2,2,1);imshow(a);title('原图像 ') subplot(2,2,2);imshow(m);title('图像变亮 ') subplot(2,2,3);imshow(n);title('图像变暗 ') subplot(2,2,4);imshow(g);title('负片效果 ') 4、熟悉数字图像处理常用函数的使用,调出帮助文档查看其各种不同用法。 方法:选择函数(函数所在区变暗),点右键弹出菜单,选择“Help on Selection” 五、实验总结 分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用 领域。 实验四常用图像增强方法 一、实验目的 1、熟悉并掌握 MATLAB 图像处理工具箱的使用; 2、理解并掌握常用的图像的增强技术。 二、实验环境 MATLAB 6.5以上版本、 WIN XP 或 WIN2000计算机 三、相关知识 1 imnoise imnoise函数用于对图像生成模拟噪声,如: i=imread('e:w01.tif'); j=imnoise(i,'gaussian',0,0.02);模拟均值为 0 方差为 0.02 的高斯噪声, j=imnoise(i,'salt%sobel水平边缘增强滤波器 h=fspecial('gaussian');%高斯低通滤波器 h=fspecial('laplacian');%拉普拉斯滤波器 h=fspecial('log');%高斯拉普拉斯( LoG)滤波器 h=fspecial('average');%均值滤波器 3 基于卷积的图像滤波函数 imfilter函数, filter2函数,二维卷积 conv2 滤波,都可用于图像滤波, 用法类似,如: i=imread('e:w01.tif'); h=1,2,1;0,0,0;-1,-2,-1;%产生 Sobel 算子的水平方向模板 j=filter2(h,i); 或者: h = fspecial(prewitt) I = imread('cameraman.tif'); imshow(I); H = fspecial('prewitt); % 预定义滤波器 M = imfilter(I,H); imshow(M) 或者: i=imread('e:w01.tif'); h=1,1,1;1,1,1;1,1,1; h=h/9; j=conv2(i,h); 4 其他常用滤波举例 (1)中值滤波 medfilt2函数用于图像的中值滤波,如: i=imread('e:w01.tif'); j=medfilt2(i,M N);对矩阵 i 进行二维中值滤波,领域为M*N ,缺省值 为 3*3 (2)利用拉氏算子锐化图像 , 如: i=imread('e:w01.tif'); j=double(i); h=0,1,0;1,-4,0;0,1,0;%拉氏算子 k=conv2(j,h,'same'); 三、实验步骤 1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口 分别采用 3*3,5*5,7*7 I = imread('f:lena.png'); J = imnoise(I,'salt K1 = medfilt2(J,3 3);%对矩阵 i 进行二维中值滤波,领域为3*3 K2 = medfilt2(J,5 5); K3 = medfilt2(J,7 7); subplot(2,2,1);imshow(J);title('椒盐噪声干扰图像 ') subplot(2,2,2);imshow(K1);title('领域为 3*3 二维中值滤波 ') subplot(2,2,3);imshow(K2);title('领域为 5*5 二维中值滤波 ') subplot(2,2,4);imshow(K3);title('领域为 7*7 二维中值滤波 ') 2、采用 MATLAB 中的函数 filter2对受噪声干扰的图像进行均值滤波 I = imread('f:lena.png'); j=imnoise(i,'gaussian',0,0.02);%模拟均值为 0 方差为 0.02 的高斯噪 声, M= filter2(fspecial('average',9),J)/255; %模板尺寸为 9 subplot(2,1,1);imshow(j);title('噪声干扰图像 ') subplot(2,1,2);imshow(M);title('改进后的图像 ') 3、采用三种不同算子对图像进行锐化处理。 i=imread('f:1.jpg') I=rgb2gray(s) H=fspecial('sobel')%应用 Sobel 算子锐化图像 I1=filter2(H,I)%Sobel算子滤波锐化 H=fspecial('prewitt')%应用 prewitt算子锐化图像 I2=filter2(H,I)%prewitt算子滤波锐化 H=fspecial('log')%应用 log 算子锐化图像 I3=filter2(H,I)%log算子滤波锐化 subplot(2,2,1);imshow(i);title('原图像 ') subplot(2,2,2);imshow(I1);title('Sobel算子锐化图像 ') subplot(2,2,3);imshow(I2);title('prewitt算子锐化图像 ') subplot(2,2,4);imshow(I3);title('log算子锐化图像 ') 四、实验总结 1、比较不同平滑滤波器的处理效果,分析其优缺点 2、比较不同锐化滤波器的处理效果,分析其优缺点 实验五图像恢复和图像分割 一、实验目的 1、熟悉并掌握 MATLAB 图像处理工具箱的使用; 2、理解并掌握常用的图像的恢复和分割技术。 二、实验环境 MATLAB 6.5以上版本、 WIN XP 或 WIN2000计算机 三、相关知识 1 deconvwnr 维纳滤波, 用法: J = deconvwnr(I,PSF,NSR) 用维纳滤波算法对图片I 进行图像恢复后返回图像J。 I 是一个 N 维数组。 PSF 是点扩展函数的卷积。 NSP 是加性噪声的噪声对信号的功率比。 如: I = im2double(imread('cameraman.tif'); imshow(I); title('Original Image '); % 模拟运动模糊Matlab中文论坛 LEN = 21; THETA = 11; PSF = fspecial('motion', LEN, THETA); blurred = imfilter(I, PSF, 'conv', 'circular'); figure, imshow(blurred) % 恢复图像 www.iLoveMatlab.cn wnr2 = deconvwnr(blurred_noisy, PSF); figure, imshow(wnr2) title('Restoration of Blurred') 2 edge 检测灰度或者二值图像的边缘,返回一个二值图像,1 像素是检测到的边 缘,0 像素是非边缘。 用法: BW = edge(I,'sobel',thresh,direction), I 为检测对象;边缘检测算子可用sobel ,roberts ,prewitt,zerocross , log ,canny ; thresh指定阈值,检测时忽略所有小于阈值的边缘,默认自动选择阈值; direction方向,在所指定的方向direction上,用 算子进行边缘检测 horizontal(水平方向 )、vertical(垂直方向 )或 both( 两个方向 )。 如:I = imread('circuit.tif'); BW1 = edge(I,'prewitt'); imshow(BW1); 3 strel 创建形态学结构元素。 用法: SE = STREL('arbitrary',NHOOD,HEIGHT) 创建一个指定领域的非平 面结构化元素。HEIGHT 是一个矩阵,大小和 NHOOD 相同,他指定了 NHOOD 中任何非零元素的高度值。 SE = STREL('ball',R,H,N) 创建一个空间椭球状的结构元素,其X-Y 平 面半径为 R,高度为 H。R 必须为非负整数, H 是一个实数。 N 必须为一个非负 偶数。当 N0 时此球形结构元素由一系列空间线段结构元素来近似。 SE = STREL('diamond',R) 创建一个指定大小R 平面钻石形状的结构化 元素。 R 是从结构化元素原点到其点的距离,必须为非负整数。 SE = STREL('disk',R,N) 创建一个指定半径R 的平面圆盘形的结构元素。 这里 R 必须是非负整数 . N 须是 0, 4, 6, 8.当 N 大于 0 时,圆盘形结构元素由一 组 N( 或 N+2) 个周期线结构元素来近似。 当 N 等于 0 时,不使用近似,即结构元 素的所有像素是由到中心像素距离小于等于R 的像素组成。 N 可以被忽略 ,此时 缺省值是 4。注: 形态学操作在 N0 情况下要快于 N=0 的情形。 如: se1 = strel('square',11) % 11乘以 11 的正方形 4 imerode 腐蚀图像 用法: IM2 = imerode(IM,SE) 腐蚀灰度、二进制或压缩二进制图像IM ,返回腐蚀图像IM2 。参数 SE 是函数 strel 返回的一个结构元素体或是结构元素体阵列。 如:使用一个盘状结构元素腐蚀一幅二进制图像。 originalBW = imread('circles.png'); se = strel('disk',11); erodedBW = imerode(originalBW,se); imshow(originalBW), figure, imshow(erodedBW) 5 imdilate 膨胀图像 用法: IM2 = imdilate(IM, SE) 膨胀灰度图像、二值图像、或者打包的二值图像IM ,返回膨胀图像 M2 。变量 SE 是一个结构元素或者一个结构元素的数组,其是通过strel 函数返回的。 如:利用一个运行结构元素膨胀灰度图像。 I = imread('cameraman.tif'); se = strel('ball',5,5); I2 = imdilate(I,se); imshow(I), title('Original') figure, imshow(I2), title('Dilated') 三、实验步骤 1、产生运动模糊图像,运用维纳滤波进行图像恢复,显示结果。 i=imread('f:1.jpg') I=rgb2gray(s) I = im2double(I); % 模拟运动模糊 LEN = 21; THETA = 11; PSF = fspecial('motion', LEN, THETA); blurred = imfilter(I, PSF, 'conv', 'circular'); % 恢复图像 wnr2 = deconvwnr(blurred, PSF); subplot(1,2,1);imshow(blurred);title('运动模糊图像 ') subplot(1,2,2);imshow(wnr2);title('恢复图像 ') 2、采用三种不同算子检测图像边缘,显示结果。 i=imread('f:1.jpg') BW1 = edge(I,'prewitt'); BW2 = edge(I,'zerocross'); BW3 = edge(I,'canny'); subplot(2,2,1);imshow(i);title('原图像 ') subplot(2,2,2);imshow(BW1);title('prewitt边缘图 ') subplot(2,2,3);imshow(BW2);title('zerocross边缘图 ') subplot(2,2,4);imshow(BW3);title('canny边缘图 ') 3、对二值图像分别进行方形模板3*3和 5*5的膨胀和腐蚀操作,显示结 果。 a=imread('f:1.jpg') i = rgb2gray(a) I = im2bw(a,0.5) se3 = strel('disk',3); erodedBW1 = imerode(I,se3); se4 = strel('disk',5); erodedBW2 = imerode(I,se4); se1 = strel('ball',3,3); I1 = imdilate(a,se1); se2 = strel('ball',5,5); I2 = imdilate(a,se2); subplot(2,2,1);imshow(I1);title('3*3膨胀图像 ') subplot(2,2,2);imshow(I2);title('5*5膨胀图像 ') subplot(2,2,3);imshow(erodedBW1);title('3*3腐蚀图像 ') subplot(2,2,4);imshow(erodedBW2);title('5*5腐蚀图像 ') 实验六图像处理实际应用 一、实验目的 1、熟悉并掌握 MATLAB 图像处理工具箱的使用; 2、理解并掌握常用的图像处理技术。 二、实验环境 MATLAB 6.5以上版本、 WIN XP 或 WIN2000计算机 三、实验内容 调试运行下列程序 ,分析程序 ,对每条语句给出注释 ,并显示最终执行结果。总 结算法思想及优缺点 . I=imread('Car.jpg'); y,x,z=size(I); myI=double(I); % RGB to HSI % tic % Y 方向 % Blue_y=zeros(y,1); for i=1:y for j=1:x if(myI(i,j,1)=51) end end end temp MaxY=max(Blue_y); % Y方向车牌区域确定 PY1=MaxY; while (Blue_y(PY1,1)=5) end PY2=MaxY; while (Blue_y(PY2,1)=5) end end end PX1=1; while (Blue_x(1,PX1)PX1) PX2=PX2-1; end PX1=PX1-2; % 对车牌区域的修正 PX2=PX2+2; Plate=I(PY1:PY2,PX1-2:PX2,:); t=toc % 读取计时 % figure,imshow(I); figure,plot(Blue_y);grid figure,plot(Blue_x);grid figure,imshow(IY); 添加注释和改正后的程序: I=imread('f:Car.jpg');% 读取图片 y,x,z=size(I);% 给定图片大小 myI=double(I);% 返回双精度值 % RGB to HSI % tic %计时开始 % Y 方向% Blue_y=zeros(y,1);% 一列全零矩阵 for i=1:y% 给定 i 的范围 for j=1:x% 给定 j 的范围 if(myI(i,j,1)=51) % y 矩阵加一 end end end temp MaxY=max(Blue_y); % Y 方向车牌区域确定 PY1=MaxY;%y 矩阵的最大元素 while (Blue_y(PY1,1)=5) % 对车牌区域的修正,向上调整 end PY2=MaxY; %y矩阵的最大元素 while (Blue_y(PY2,1)=5) % Blue_x 的矩阵加一 end end end PX1=1;% 当 PX1 等于 1 时 while (Blue_x(1,PX1)PX1) %确定蓝色RGB Blue_x 的位置 PX2=PX2-1; % 对车牌区域的修正向下调整 end PX1=PX1-2; % 对车牌区域的修正 PX2=PX2+2; % 对车牌区域的修正 Plate=I(PY1:PY2,PX1-2:PX2,:);%矩阵行列的范围 t=toc % 读取计时 % figure,imshow(I);% 创建图像窗口,显示图像I figure,plot(Blue_y);grid%创建图像窗口,绘制Blue_y 图像,画出网格线 figure,plot(Blue_x);grid%创建图像窗口,绘制Blue_x 图像,画出网格线 figure,imshow(Plate); % 创建图像窗口,显示图像Plate t = 0.5630 实验二图像基本操作 一、实验目的 1、熟悉及掌握图像的采样原理,实现图像的采样过程, 进行图像的灰度转换。 2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图均衡和 直方图规定化方法对图像进行修正。 二、实验环境 MATLAB 6.5以上版本、WIN XP或 WIN2000计算机 三、相关函数 图像的增强 1、 直方图 imhist函数用于数字图像的直方图计算或显示, imhist(I, n)计算和显示图像I 的直方图, n 为指定的灰度级数目,默认为 256 。如果 I 是二值图像,那么n 仅有两个值。 counts,x = imhist(.)返回直方图数据向量counts ,相应的色彩值向 量 x。 如: i=imread('e:w01.tif'); imhist(i); 2 、直方图均衡化 histeq函数用于数字图像的直方图均衡化, J = histeq(I, n) 均衡化后的级数n,缺省值为 64 。 J = histeq(I, hgram) “直方图规定化 “,即将原是图象I 的直方图变换成 用户指定的向量hgram (即指定另一幅图像的直方图数据向量)。 如: i=imread('e:w01.tif'); j=histeq(i,N); 对图像 i 执行均衡化,得到具有N 个灰度级的灰度图像j, N 缺省值为 64 3、 灰度调整 imadjust函数用于数字图像的灰度或颜色调整, J = imadjust(I) 将灰度图像I 中的亮度值映射到J 中的新值并使1 的数据是在低高强度和饱和,这增加了输出图像J 的对比度值。 J = imadjust(I,low_in; high_in,low_out; high_out) 将图像 I 中的亮度值映射到J 中的新值,即将 low_in至 high_in之间的值映射 到 low_out至 high_out之间的值。low_in 以下与 high_in 以上的值被剪切 掉了,也就是说, low_in 以下的值映射到low_out,high_in 以上的值映射 到 high_out。它们都可以使用空的矩阵 ,默认值是 0 1。 如: i=imread('e:w01.tif'); j=imadjust(i,0.3,0.7,);将图像 i 转换为 j,使灰度值从 0.30.7与 缺省值 01相匹配 运算函数 1、Zeros 生成全 0 数组或矩阵 如 B = zeros(m,n) or B = zeros(m n) 返回一个m*n 全 0 矩阵 2、取整函数 floor 最小取整函数 round四舍五入取整函数 ceil 最大取整函数 如 a = -1.9, -0.2, 3.4, 5.6, 7.0, 2.4+3.6i I=round(a) I = -2 0 3 6 7 2+ 4i 四、实验内容 1、对一幅图像进行2 倍、4 倍、8 倍和 16 倍减采样,显示结果。 a=imread('f:/1.jpg'); b=rgb2gray(a); for m=1:4 figure width,height=size(b); quartimage=zeros(floor(width/(m),floor(height/(2*m); k=1; n=1; for i=1:(m):width for j=1:(2*m):height quartimage(k,n)=b(i,j); n=n+1; end k=k+1; n=1; end imshow(uint8(quartimage); End 2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两 幅图像的直方图。 a=imread('f:lena_color.png') c=rgb2gray(a) b=c-46 subplot(2,1,1);imhist(c);title('原图像 ') subplot(2,1,2);imhist(b);title('变暗后的图像 ') 3、对图像 b 进行直方图均衡化,显示结果图像和对应直方图。 b=imread('f:lena_color.png') c=rgb2gray(b) j=histeq(c) subplot(2,2,1),imshow(c) subplot(2,2,2),imshow(j) subplot(2,2,3),imhist(c) % 显示原始图像直方图 subplot(2,2,4),imhist(j) % 显示均衡化后图像的直方图 4、读入图像 c,执行直方图规定化,使图像a 的灰度分布与 c 大致相同, 显示变换后图像及对应直方图。 I=imread('f:lena.png'); J=histeq(I,64); % 均衡化成 32 个灰度级的直方图 counts,x=imhist(J); % 返回直方图图像向量counts b=imread('f:1.jpg') Q=rgb2gray(b) M=histeq(Q,counts); % 将原始图像 Q 的直方图变成指定向量 counts figure, subplot(3,2,1),imshow(I); subplot(3,2,2),imshow(Q); subplot(3,2,3),imhist(I); subplot(3,2,4),imhist(Q) subplot(3,2,5),imhist(J); subplot(3,2,6),imhist(M); 实验三 图像变换 一、实验目的 1、熟悉及掌握图像的变换原理及性质,实现图像的傅里叶变换。 二、实验环境 MATLAB 6.5以上版本、WIN XP或 WIN2000计算机 三、相关函数 图像的变换 1 fft2 fft2函数用于数字图像的二维傅立叶变换,如: i=imread('e:w01.tif'); j=fft2(i); 由于 MATLAB 无法显示复数图像,因此变换后的结果还需进行求模运算,即 调用 abs 函数。 之后常常还进行对数变换,即调用log 函数,以减缓傅里叶谱的快速衰减, 更好地显示高频信息。 2 ifft2 ifft2函数用于数字图像的二维傅立叶反变换,如: i=imread('e:w01.tif'); j=fft2(i); k=ifft2(j); 3 fftshift 用于将变换后图像频谱中心从矩阵的原点移动到矩阵的中心 B=fftshift(i ) 4 利用 fft2计算二维卷积 利用 fft2函数可以计算二维卷积 , 如: a=8,1,6;3,5,7;4,9,2; b=1,1,1;1,1,1;1,1,1; a(8,8)=0; b(8,8)=0; c=ifft2(fft2(a).*fft2(b); c=c(1:5,1:5); 利用 conv2( 二维卷积函数 )校验 , 如: a=8,1,6;3,5,7;4,9,2; b=1,1,1;1,1,1;1,1,1; c=conv2(a,b); 四、实验内容 1、对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅 里叶变换,显示变换后结果, 分析原图的傅里叶谱与平移后傅里叶频谱的对应关 系。 s=imread('f:1.jpg');%读入原图像 i=rgb2gray(s) i=double(i) j=fft2(i); % 傅里叶变换 k=fftshift(j); % 直流分量移到频谱中心 l=log(abs(k); % 对数变换 m=fftshift(j); % 直流分量移到频谱中心 RR=real(m); % 取傅里叶变换的实部 II=imag(m); % 取傅里叶变换的虚部 A=sqrt(RR.2+II.2); % 计算频谱府幅值 A=(A-min(min(A)/(max(max(A)*255; % 归一化 b=circshift(s,800 450); % 对图像矩阵 im 中的数据进行移位操作 b=rgb2gray(b) b=double(b) c=fft2(b); % 傅里叶变换 e=fftshift(c); % 直流分量移到频谱中心 l=log(abs(e); % 对数变换 f=fftshift(c); % 直流分量移到频谱中心 WW=real(f); % 取傅里叶变换的实部B ZZ=imag(f); % 取傅里叶变换的虚部 B=sqrt(WW.2+ZZ.2); % 计算频谱府幅值 B=(B-min(min(B)/(max(max(B)*255; % 归一化 subplot(2,2,1);imshow(s);title('原图像 ') subplot(2,2,2);imshow(uint8(b);title('平移图像 ') subplot(2,2,3);imshow(A);title('离散傅里叶频谱 '); subplot(2,2,4);imshow(B);title('平移图像离散傅里叶频谱 ') 2、对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅 里叶变换,显示变换后结果, 分析原图的傅里叶谱与旋转后傅里叶频谱的对应关 系。 s=imread('f:1.jpg');%读入原图像 i=rgb2gray(s) i=double(i) j=fft2(i); % 傅里叶变换 k=fftshift(j); % 直流分量移到频谱中心 l=log(abs(k); % 对数变换 m=fftshift(j); % 直流分量移到频谱中心 RR=real(m); % 取傅里叶变换的实部 II=imag(m); % 取傅里叶变换的虚部 A=sqrt(RR.2+II.2); % 计算频谱府幅值 A=(A-min(min(A)/(max(max(A)*255; % 归一化 b=imrotate(s, -90); % 对图像矩阵 im 中的数据进行移位操作 b=rgb2gray(b) b=double(b) c=fft2(b); % 傅里叶变换 e=fftshift(c); % 直流分量移到频谱中心 l=log(abs(e); % 对数变换 f=fftshift(c); % 直流分量移到频谱中心 WW=real(f); % 取傅里叶变换的实部B ZZ=imag(f); % 取傅里叶变换的虚部 B=sqrt(WW.2+ZZ.2); % 计算频谱府幅值 B=(B-min(min(B)/(max(max(B)*255; % 归一化 subplot(2,2,1);imshow(s);title('原图像 ') subplot(2,2,2);imshow(uint8(b);title('平移图像 ') subplot(2,2,3);imshow(A);title('离散傅里叶频谱 '); subplot(2,2,4);imshow(B);title('平移图像离散傅里叶频谱 ')

    注意事项

    本文(数字图像处理实验报告全答案.pdf)为本站会员(tbuqq)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开