数字图像处理实验2
2015秋 数字图像处理实验二 综合实验

//细胞核和核仁的面积统计
//统计结果存入数组 parameter[index-1]=(float)area_nucleolus/(area_cell+area_nucleolus); //把当前测量的细胞,细胞核与核仁置不同的标记输出 //测量结果存文件,以分析测量数据
菜单中的消息响应函数
预处理
为何需要预处理?
直接分割的效果
选择何种预处理方法?
中值、均值、形态学开闭运算的效果对比 分析预处理的目的,有针对性的选择合适的方法
预处理
中值滤波
原图
灰值闭运算
分割
分割方法的选择 全局阈值 大津阈值 水域分割 …
中值滤波后分割
分割后的效果 直接分割 噪声、边缘毛刺 滤波后分割
//统计该连通区域的大小
//连通区域太小,滤除,此处大小可根据实际应用自行设定 *(segment.m_pImgData+k*lineByte+l)=255; //滤除 //其余的连通区域被认定为目标,给定编号 *(segment.m_pImgData+k*lineByte+l)=index;
输出测量结果
细胞图像分割测量的方案步骤
数学形态学
腐蚀:集合 A 被集合 B 腐蚀,表示为 A B ,数学形式为
A B = {x : B x A}
膨胀: A 被 B 膨胀表示为 A B , 其定义为:
A B [AC
(-B )]C
A B
A
A B B
腐蚀类似于收缩
利用圆盘膨胀
实验一:现场演示,检查,提问 实验二:现场演示,检查,提问 实验三:现场演示,检查,提问,提交报告和代码 实验成绩占最终成绩的30%。
数字图像处理实验报告

数字图像处理实验报告实验⼀、图像的显⽰与格式变换1、实验⽬的1)熟悉常⽤的图像⽂件格式与格式转换;2)熟悉图像矩阵的显⽰⽅法(灰度、索引、⿊⽩、彩⾊);3)熟悉图像矩阵的格式转换2、实验内容练习图像读写命令imread和imwrite并进⾏图像⽂件格式间的转换。
特别是索引图像与1,4,8,16⽐特图像的存储与转换。
3、实验步骤a.⽤图像读命令(imread)从你的硬盘中读取图像(cameramen.tif);b.⽤图像显⽰功能(imshow)将刚读⼊的图像显⽰在⼀图像窗中;c.显⽰颜⾊条功能(colorbar)在图像的左边画⼀条颜⾊亮度显⽰条;d.⽤(imfinfo)功能得到(gray.bmp)图像的相关信息;e.⽤(colormap )获取当前图像的调⾊板,观察调⾊板中的颜⾊设置;f.⽤(getimage)功能从坐标轴取得当前图像数据;g.⽤(imagesc)功能显⽰图像从64-128的灰度值;h. ⽤(immovie)功能将⼀个4-D 图像创建多帧索引图的电影动画;i. ⽤(warp)功能将图像('testpat1.tif)显⽰到纹理映射柱⾯;思考:怎样让(cameraman.tif)图像如下图⼀样显⽰?四.实验结果及代码a.代码:>>X=imread(‘cameraman.tif’)b.代码:>>y=imshow(X)显⽰的图像为:c、代码:>>I = colorbar('cameraman.tif')H=imshow('cameraman.tif')显⽰的图像为d、代码:>>info=imfinfo(‘gray.bmp')显⽰结果为:Filename: [1x71 char]FileModDate: '16-Apr-2010 11:23:52'FileSize: 107786Format: 'bmp'FormatV ersion: 'V ersion 3 (Microsoft Windows 3.x)' Width: 409Height: 259BitDepth: 8ColorType: 'indexed'FormatSignature: 'BM'NumColormapEntries: 256Colormap: [256x3 double]RedMask: []GreenMask: []BlueMask: []ImageDataOffset: 1078BitmapHeaderSize: 40NumPlanes: 1CompressionType: 'none'BitmapSize: 106708HorzResolution: 0V ertResolution: 0NumColorsUsed: 0NumImportantColors: 0e、代码:>>x=imread(‘256.bmp’)color1=colormap %获取当前图象的调⾊板image (x)info=imfinfo(’256.bmp’)color2=info.Colormap %注意观察调⾊板有多少种颜⾊colormap(color2)f、代码:>>I=getimageg、代码:>> imagesc(x,[64 128])h、代码:>> load mri;mov = immovie(D,map); movie(mov,3)显⽰图像为:i.源代码:>>[x,y,z]=cylinder;I= imread('testpat1.tif');warp(x,y,z,I),图像显⽰为:思考:代码:>>X=inread('cameramen.tif'); Y=[X X];[x,-y,z]=cylinder;I=imread(Y);warp(x,y,z,I)显⽰图像为:实验⼆、图像增强⼀、实验⽬的1.理解图像直⽅图的含义;2.了解直⽅图的应⽤;3.掌握直⽅图均衡化的实现⽅法。
c语言数字图像处理(二):图片放大与缩小-双线性内插法

c语⾔数字图像处理(⼆):图⽚放⼤与缩⼩-双线性内插法图像内插假设⼀幅⼤⼩为500 * 500的图像扩⼤1.5倍到750 * 750,创建⼀个750 * 750 的⽹格,使其与原图像间隔相同,然后缩⼩⾄原图⼤⼩,在原图中寻找最接近的像素(或周围的像素)进⾏赋值,最后再将结果放⼤最邻近内插法寻找最近的像素赋值双线性内插法v(x,y) = ax + by + cxy + d双线性内插法参数计算已知Q11, Q12, Q21, Q22,要插值的点为P点,⾸先在x轴上,对R1,R2两个点进⾏插值然后根据R1和R2对P点进⾏插值化简得对于边界值的处理,若x1 < 0 ,则直接令f(Q11), f(Q12) = 0处理结果原图扩⼤为6000 * 4000缩⼩为1000 * 500下⾯为代码实现的主要部分int is_in_array(short x, short y, short height, short width){if (x >= 0 && x < width && y >= 0 && y < height)return1;elsereturn0;}void bilinera_interpolation(short** in_array, short height, short width, short** out_array, short out_height, short out_width){double h_times = (double)out_height / (double)height,w_times = (double)out_width / (double)width;short x1, y1, x2, y2, f11, f12, f21, f22;double x, y;for (int i = 0; i < out_height; i++){for (int j = 0; j < out_width; j++){x = j / w_times;y = i / h_times;x1 = (short)(x - 1);x2 = (short)(x + 1);y1 = (short)(y + 1);y2 = (short)(y - 1);f11 = is_in_array(x1, y1, height, width) ? in_array[y1][x1] : 0; f12 = is_in_array(x1, y2, height, width) ? in_array[y2][x1] : 0; f21 = is_in_array(x2, y1, height, width) ? in_array[y1][x2] : 0; f22 = is_in_array(x2, y2, height, width) ? in_array[y2][x2] : 0; out_array[i][j] = (short)(((f11 * (x2 - x) * (y2 - y)) +(f21 * (x - x1) * (y2 - y)) +(f12 * (x2 - x) * (y - y1)) +(f22 * (x - x1) * (y - y1))) / ((x2 - x1) * (y2 - y1))); }}}。
数字图像处理实验报告(全部)

实验1直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备:1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果:观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码:I=imread('coins.png');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验2 均值滤波一.实验目的1.熟悉matlab图像处理工具箱及均值滤波函数的使用;2.理解和掌握3*3均值滤波的方法和应用;二.实验设备:1.PC机一台;2.软件matlab三.程序设计在matlab环境中,程序首先读取图像,然后调用图像增强(均值滤波)函数,设置相关参数,再输出处理后的图像。
数字图像处理实验实验报告 实验二

数字图像处理实验实验报告(实验一)一、实验目的:1、直方图显示2、计算并绘制图像直方图3、直方图均衡化二.程序脚本clear all;RGB=imread('me.jpg');figure;imshow(RGB);title('图1 彩色图');%========================================================== I=rgb2gray(RGB);figure;imshow(I);title('图2 灰度图');%========================================================= figure;imhist(I);title('灰度直方图');%========================================================= hi=imhist(I);j=1;%为使画出的直方图更好看,在此进行了抽样for(i=1:256)if(mod(i,10)==1)h(j)=hi(i);j=j+1;endendn=0:10:255;figure;stem(n,h);axis([0 255 0 2500]);title('图3.1 stem显示直方图');figure;bar(n,h);axis([0 255 0 2500]);title('图3.2 bar显示直方图');figure;plot(n,h);axis([0 255 0 2500]);title('图3.3 plot显示直方图');%========================================================= I=rgb2gray(RGB);figure;subplot(3,2,1);imshow(I);title('图4.1 原始灰度图');subplot(3,2,2);imhist(I);title('图4.2 原始灰度直方图');%=============================J1=imadjust(I);subplot(3,2,3);imshow(J1);title('调整对比度以后的图');subplot(3,2,4);imhist(J1);title('调整对比度以后的灰度直方图');%=================================J2=histeq(I);subplot(3,2,5);imshow(J2);title('均衡化以后的的图');subplot(3,2,6);imhist(J2);title('均衡化以后的灰度直方图');三.实验结果图1 彩色图图2 灰度图010002000灰度直方图10020010020005001000150020002500图3.1 stem 显示直方图10020005001000150020002500图3.2 bar 显示直方图10020005001000150020002500图3.3 plot 显示直方图图4.1 原始灰度图10002000图4.2 原始灰度直方图0100200调整对比度以后的图010002000调整对比度以后的灰度直方图0100200均衡化以后的的图02000均衡化以后的灰度直方图100200。
数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告数字图像处理实验报告1一. 实验内容:主要是图像的几何变换的编程实现,具体包括图像的读取、改写,图像平移,图像的镜像,图像的转置,比例缩放,旋转变换等.具体要求如下:1.编程实现图像平移,要求平移后的图像大小不变;2.编程实现图像的镜像;3.编程实现图像的转置;4.编程实现图像的比例缩放,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的缩放效果;5.编程实现以任意角度对图像进行旋转变换,要求分别用双线性插值和最近邻插值两种方法来实现,并比较两种方法的旋转效果.二.实验目的和意义:本实验的目的是使学生熟悉并掌握图像处理编程环境,掌握图像平移、镜像、转置和旋转等几何变换的方法,并能通过程序设计实现图像文件的读、写操作,及图像平移、镜像、转置和旋转等几何变换的程序实现.三.实验原理与主要框架:3.1 实验所用编程环境:Visual C++(简称VC)是微软公司提供的基于C/C++的应用程序集成开发工具.VC拥有丰富的功能和大量的扩展库,使用它能有效的创建高性能的Windows应用程序和Web应用程序.VC除了提供高效的C/C++编译器外,还提供了大量的可重用类和组件,包括著名的微软基础类库(MFC)和活动模板类库(ATL),因此它是软件开发人员不可多得的开发工具.VC丰富的功能和大量的扩展库,类的重用特性以及它对函数库、DLL库的支持能使程序更好的模块化,并且通过向导程序大大简化了库资源的使用和应用程序的开发,正由于VC具有明显的优势,因而我选择了它来作为数字图像几何变换的开发工具.在本程序的开发过程中,VC的核心知识、消息映射机制、对话框控件编程等都得到了生动的体现和灵活的应用.3.2 实验处理的对象:256色的BMP(BIT MAP )格式图像BMP(BIT MAP )位图的文件结构:具体组成图: BITMAPFILEHEADER位图文件头(只用于BMP文件) bfType=”BM” bfSize bfReserved1bfReserved2bfOffBitsbiSizebiWidthbiHeightbiPlanesbiBitCountbiCompressionbiSizeImagebiXPelsPerMeterbiYPelsPerMeterbiClrUsedbiClrImportant单色DIB有2个表项16色DIB有16个表项或更少256色DIB有256个表项或更少真彩色DIB没有调色板每个表项长度为4字节(32位)像素按照每行每列的顺序排列每一行的字节数必须是4的整数倍BITMAPINFOHEADER 位图信息头 Palette 调色板 DIB Pixels DIB图像数据1. BMP文件组成BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成.2. BMP文件头BMP文件头数据结构含有BMP文件的类型(必须为BMP)、文件大小(以字节为单位)、位图文件保留字(必须为0)和位图起始位置(以相对于位图文件头的偏移量表示)等信息.3. 位图信息头BMP位图信息头数据用于说明位图的尺寸(宽度,高度等都是以像素为单位,大小以字节为单位, 水平和垂直分辨率以每米像素数为单位) ,目标设备的级别,每个像素所需的位数, 位图压缩类型(必须是 0)等信息.4. 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色.具体包含蓝色、红色、绿色的亮度(值范围为0-255)位图信息头和颜色表组成位图信息5. 位图数据位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上.Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充.3.3 BMP(BIT MAP )位图的显示:①一般显示方法:1. 申请内存空间用于存放位图文件2. 位图文件读入所申请内存空间中3. 在函数中用创建显示用位图, 用函数创建兼容DC,用函数选择显示删除位图但以上方法的缺点是: 1)显示速度慢; 2) 内存占用大; 3) 位图在缩小显示时图形失真大,(可通过安装字体平滑软件来解决); 4) 在低颜色位数的设备上(如256显示模式)显示高颜色位数的图形(如真彩色)图形失真严重.②BMP位图缩放显示 :用视频函数来显示位图,内存占用少,速度快,而且还可以对图形进行淡化(Dithering )处理.淡化处理是一种图形算法,可以用来在一个支持比图像所用颜色要少的设备上显示彩色图像.BMP位图显示方法如下:1. 打开视频函数,一般放在在构造函数中2. 申请内存空间用于存放位图文件3. 位图文件读入所申请内存空间中4. 在函数中显示位图5. 关闭视频函数 ,一般放在在析构函数中以上方法的优点是: 1)显示速度快; 2) 内存占用少; 3) 缩放显示时图形失真小,4) 在低颜色位数的设备上显示高颜色位数的图形图形时失真小; 5) 通过直接处理位图数据,可以制作简单动画.3.4 程序中用到的访问函数Windows支持一些重要的DIB访问函数,但是这些函数都还没有被封装到MFC中,这些函数主要有:1. SetDIBitsToDevice函数:该函数可以直接在显示器或打印机上显示DIB. 在显示时不进行缩放处理.2. StretchDIBits函数:该函数可以缩放显示DIB于显示器和打印机上.3. GetDIBits函数:还函数利用申请到的内存,由GDI位图来构造DIB.通过该函数,可以对DIB的格式进行控制,可以指定每个像素颜色的位数,而且可以指定是否进行压缩.4. CreateDIBitmap函数:利用该函数可以从DIB出发来创建GDI 位图.5. CreateDIBSection函数:该函数能创建一种特殊的DIB,称为DIB项,然后返回一个GDI位图句柄.6. LoadImage函数:该函数可以直接从磁盘文件中读入一个位图,并返回一个DIB句柄.7. DrawDibDraw函数:Windows提供了窗口视频(VFW)组件,Visual C++支持该组件.VFW中的DrawDibDraw函数是一个可以替代StretchDIBits 的函数.它的最主要的优点是可以使用抖动颜色,并且提高显示DIB的速度,缺点是必须将VFW代码连接到进程中.3.5 图像的几何变换图像的几何变换,通常包括图像的平移、图像的镜像变换、图像的转置、图像的缩放和图像的旋转等.数字图像处理实验报告2一、实验的目的和意义实验目的:本实验内容旨在让学生通过用VC等高级语言编写数字图像处理的一些基本算法程序,来巩固和掌握图像处理技术的基本技能,提高实际动手能力,并通过实际编程了解图像处理软件的实现的基本原理。
《数字图像处理》实验教案

《数字图像处理》实验教案一、实验目的1. 使学生了解和掌握数字图像处理的基本概念和基本算法。
2. 培养学生运用数字图像处理技术解决实际问题的能力。
3. 提高学生使用相关软件工具进行数字图像处理操作的技能。
二、实验内容1. 图像读取与显示:学习如何使用相关软件工具读取和显示数字图像。
2. 图像基本操作:学习图像的旋转、缩放、翻转等基本操作。
3. 图像滤波:学习使用不同类型的滤波器进行图像去噪和增强。
4. 图像分割:学习利用阈值分割、区域增长等方法对图像进行分割。
5. 图像特征提取:学习提取图像的边缘、角点等特征信息。
三、实验环境1. 操作系统:Windows或Linux。
2. 编程语言:Python或MATLAB。
3. 图像处理软件:OpenCV、ImageJ或MATLAB。
四、实验步骤1. 打开相关软件工具,导入图像。
2. 学习并实践图像的基本操作,如旋转、缩放、翻转等。
3. 学习并实践图像滤波算法,如均值滤波、中值滤波等。
4. 学习并实践图像分割算法,如全局阈值分割、局部阈值分割等。
5. 学习并实践图像特征提取算法,如Canny边缘检测算法等。
五、实验要求1. 每位学生需独立完成实验,并在实验报告中详细描述实验过程和结果。
2. 实验报告需包括实验目的、实验内容、实验步骤、实验结果和实验总结。
3. 实验结果要求清晰显示每个步骤的操作和效果。
4. 实验总结部分需对本次实验的学习内容进行归纳和总结,并提出改进意见。
六、实验注意事项1. 实验前请确保掌握相关软件工具的基本使用方法。
3. 在进行图像操作时,请尽量使用向量或数组进行处理,避免使用低效的循环结构。
4. 实验过程中如需保存中间结果,请使用合适的文件格式,如PNG、JPG等。
5. 请合理安排实验时间,确保实验报告的质量和按时提交。
七、实验评价1. 实验报告的评价:评价学生的实验报告内容是否完整、实验结果是否清晰、实验总结是否到位。
2. 实验操作的评价:评价学生在实验过程中对图像处理算法的理解和运用能力。
数字图像处理实验报告

数字图像处理试验报告实验二:数字图像的空间滤波与频域滤波姓名:XX学号:2XXXXXXX 实验日期:2017 年4 月26 日1、实验目的1、掌握图像滤波的基本定义及目的。
2、理解空间域滤波的基本原理及方法。
3、掌握进行图像的空域滤波的方法。
4、掌握傅立叶变换及逆变换的基本原理方法。
5、理解频域滤波的基本原理及方法。
6、掌握进行图像的频域滤波的方法。
2、实验内容与要求1、平滑空间滤波:1) 读出一幅图像,给这幅图像分别加入椒盐噪声与高斯噪声后并与前一张图显示在同一图像窗口中。
2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果, 要求在同一窗口中显示。
3) 使用函数 imfilter 时, 分别采用不同的填充方法( 或边界选项, 如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。
4) 运用for 循环,将加有椒盐噪声的图像进行10 次,20 次均值滤波,查瞧其特点, 显示均值处理后的图像(提示:利用fspecial 函数的’average’类型生成均值滤波器)。
5) 对加入椒盐噪声的图像分别采用均值滤波法,与中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。
6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。
2、锐化空间滤波1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波。
2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5×5的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 11 1 1 1 1]3) 分别采用5×5,9×9,15×15与25×25大小的拉普拉斯算子对blurry_moon、tiff (x, y) -∇2 f (x, y) 完成图像的锐化增强,观察其有何进行锐化滤波,并利用式g(x, y) =不同,要求在同一窗口中显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Exercise 3e picture “Fig0401.tif” to do the following questions:①Read the picture, and write down the Fourier transform program of it. >> f=imread('Fig0401.tif');>> g=fft2(f);Warning: FFTN on values of class UINT8 is obsolete.Use FFTN(DOUBLE(X)) or FFTN(SINGLE(X)) instead.> In uint8.fftn at 10In fft2 at 19>> s=abs(g);>> imshow(s,[])②Use the function fftshift to center the spectrum.>> fc=fftshift(g);>> imshow(abs(fc),[])③Use logarithmic transformation to enhance the centered spectrum. >> s2=log(1+abs(fc));>> imshow(s2,[])④Visualize the dealing results of step②and step③.结果如上2.Generate a filter function H①Use function fspecial to generate a ‘laplacian’ spatial domain filter h>> h=fspecial('laplacian',0.5)h=0.3333 0.3333 0.33330.3333 -2.6667 0.33330.3333 0.3333 0.3333②Use function freqz2 to convert the spatial domain filter h to frequency domain filter H.>>h= freqz2(h);③Use function freqz2 to show a 3-D perspective plot of H and give the result. >> freqz2(h)e function dftfilt to do the DFT Filtering with picture “lena.bmp”①Obtain the padding parameters of the picture use function paddedsize.> f=imread('lena.bmp');>> imshow(f)>> [m ,n]=size(f)m =256n =256>> PQ=paddedsize(size(f))PQ =512 512②Use function fspecial to generate a ‘unsharp’ spatial domain filter.>> h=fspecial('unsharp',0.2)h =-0.1667 -0.6667 -0.1667-0.6667 4.3333 -0.6667-0.1667 -0.6667 -0.1667③Use function freqz2 to convert the spatial domain filter h to frequency domain filter H of >> freqz2(h)④Get the uncentered form of frequency domain filter H.>>H=freqz2(h,PQ(1),PQ(2));>>W=ifftshift(H);>> imshow(abs(H),[])>> imshow(abs(w),[])⑤Use function dftfilt to do the DFT Filtering and give the final result. >> s=imfilter(double(f),h);>> d=dftfilt(f,W);Warning: FFTN on values of class UINT8 is obsolete.Use FFTN(DOUBLE(X)) or FFTN(SINGLE(X)) instead. > In uint8.fftn at 10In fft2 at 21In dftfilt at 17>> imshow(s,[])>> imshow(d,[])4.Try to compute the distance squared from every point in a rectangle of size 7×7 tothe origin of the rectangle with command dftuv and give the result.>> [u,v]=dftuv(7,7);>> d=u.^2+v.^2d =0 1 4 9 9 4 11 2 5 10 10 5 24 5 8 13 13 8 59 10 13 18 18 13 109 10 13 18 18 13 104 5 8 13 13 8 51 2 5 10 10 5 25.Assuming M=200,N=200,D0=20, use function lpfilter to do the following questions:①Generate a ‘ideal’ lowpass filter.②Generate a ‘btw’ lowpass filter.③Show the centered result of the filters which were generated in ①and ②, and then tell the differences between them.>> h=lpfilter('ideal',200,200,20);>> p=fftshift(h);>> iimshow(p)>> f=lpfilter('btw',200,200,20);>> k=fftshift(f);>> imshow(k)6.3-D Visualize the filter H generated in question 5②.①Use function mesh to draw the centered wireframe plot. >> mesh(k)②Use function colormap to get a gray wireframe plot and a blue wireframe plot separately. >> colormap(gray)>>colormap([0 0 1])③Get ride of the axis and grid of gray wireframe plot.>> grid off>> axis off7.Assuming M=200,N=200,D0=20, use function hpfilter to do the following questions:①Generate a ‘ideal’ highpass filter.②Generate a ‘gaussian’ highpass filter.③Show the centered result of the filters which were generated in ①and ②, and then tell the differences between them.>> h=hpfilter('ideal',200,200,20);>> d=fftshift(h);>> imshow(d)>> t=hpfilter('gaussian',200,200,20); >> g=fftshift(t);>> imshow(g)8. 3-D Visualize the filter H generated in question 7②.①Use function surf to draw the centered surface plot. >> t=hpfilter('gaussian',200,200,20);>> g=fftshift(t);>> surf(g)②Smooth and eliminate the mesh line of the surface plot. >> shading interp9. Use ideal lowpass filter to do DFT with picture “lena.bmp” (D0=50). >> f=imread('lena.bmp');>> PQ=paddedsize(size(f));>> y=lpfilter('ideal',PQ(1),PQ(2),50);>> l=dftfilt(f,y);Warning: FFTN on values of class UINT8 is obsolete.Use FFTN(DOUBLE(X)) or FFTN(SINGLE(X)) instead.> In uint8.fftn at 10In fft2 at 21In dftfilt at 17>> imshow(l,[])10. Use ideal highpass filter to do DFT with the same picture “lena.bmp” (D0=50).>> p=hpfilter('gaussian',PQ(1),PQ(2),50);>> r=dftfilt(f,p);Warning: FFTN on values of class UINT8 is obsolete.Use FFTN(DOUBLE(X)) or FFTN(SINGLE(X)) instead.> In uint8.fftn at 10In fft2 at 21In dftfilt at 17>> imshow(r,[])。