Digital-Image-Processing-4教学文案
《数字图像处理》实验教学大纲
《数字图像处理》课程实验教学大纲电子信息工程教研室编信息与电子工程学院2013 年 8 月课程名称:数字图像处理课程编号:056123英文名称: Digital Image Processing 课程负责人:马加庆课程性质:非独立设课课程属性:专业应开实验学期:第6学期学时学分:课程总学时---48 实验学时---16 课程总学分---3 实验学分---0实验者类别:本科生适用专业:电子信息工程、电子信息科学与技术先修课程:线性代数,信号与系统,数字信号处理,计算机仿真及应用一、课程简介数字图像处理是研究数字图像处理的基本理论、方法及其在智能化检测中应用的学科,本课程侧重于数字图像的基本处理理论和方法,并对图像分析的基本理论和实际应用进行系统介绍。
目的是使学生系统掌握数字图像处理的基本概念、基本原理、实现方法和实用技术,了解数字图像处理基本应用和当前国内外的发展方向。
要求学生通过该课程学习,具备解决智能化检测与控制中应用问题的初步能力,为在计算机视觉、模式识别等领域从事研究与开发打下扎实的理论基础。
二、课程实验教学的目的、任务与要求通过实验使学生加深对课堂上所学专业知识的认识,通过理论与实践相结合提高学生的动手能力。
要求学生利用所学知识完成对图像的锐化、模糊、加噪声、读取、变换等处理。
三、实验方式与基本要求实验方式:学生一人一机,独立实验,注意记录实验数据与结果分析。
基本要求:实验前,学生要认真预习实验任务,了解实验目的和实验内容;实验时,要认真上机,做好观察分析和记录;实验后,按要求编写实验报告。
四、实验项目设置注:实验类型:1.演示/2.验证/3.综合/4.设计研究/5.其他;实验类别:1.基础/2.专业基础/3.专业/4.其它;实验要求:1.必修/2.选修/3.其它五、教材(讲义、指导书):《数字图像处理》,冈萨雷斯著,阮秋琦等译,电子工业出版社,2007.8。
参考书:1.《图像处理》,章毓晋编,清华大学出版社,20052. Digital Image Processing,Castleman R K. 朱志刚等译,清华大学出版社1998六、实验报告要求每个实验均按统一格式编写实验报告。
数字图像处理DigitalImageProcessing教学讲义
T
A
S
(v )
S (1 v )
S
(2
v
)
S (1 u )
C
S
(u
)
S (1 u )
S
(2
u
)
f(i1,j1) f(i1,j) f(i1,j1) f(i1,j2)
B
f(i,j1)
f(i,j)
f(i,j1)
f(i,j2)
f(i1,j1) f(i1,j) f(i1,j1) f(i1,j2)
• 旋转
a(x,y)xcos()ysin() b(x,y)xsin()ycos()
a(x,y) cos() sin() 0x
b(x,y)sin() cos() 0y
1 0
0 11
• 复杂变换
• 右图显示了在失真和相应的校正图像中的四边形区域,四
边的顶点是相应的“控制点”。假设四边形区域中的几何形变 过程用双线性方程对来建模,即:
y方向上作线性插值,以确定:
f( x ,y ) f( x ,0 ) y f( x ,1 ) f( x ,0 )
最后得到双线性插值公式为:
f(x ,y ) f(1 ,0 ) f(0 ,0 )x f(0 ,1 ) f(0 ,0 )y f(1 ,1 ) f(0 ,0 ) f(0 ,1 ) f(1 ,0 )x y f(0 ,0 )
• 3)三次立方插值
• 该方法利用三次多项式 S ( x) 来逼近理论上的最佳插值函
数sinx()/ x,其数学表达式为:
12 x2 x3 S(x) 48 x 5 x2 x3
0
0 x 1 1 x 2
x 2
• 上式中的是周围象素沿方向离原点的距离。待求象素的灰
数字图像处理教案-第04章
Film Lab——胶片模拟系列滤镜 Grain:添加仿真胶片颗粒 Monochrome:勾选设置颗粒为单色 Red/Green/Blue Size:颗粒颜色大小 R/G/B Amount:颗粒数量 R/G/B Softness:颗粒数量模糊度 Response Position:颗粒位置,即控 制在哪种亮度区域颗粒出现颗粒。
(4)形状模糊 使用指定的图形来创建模糊。
(5)特殊模糊 精确地模糊图像。可以指定半径、 阈值和模糊品质。 半径值确定在其中搜索不同像素的 区域大小。阈值确定像素具有多大差异 后才会受到影响。 模式可设置模式(正常),或将色 彩转变的边缘效果的模式(“仅限边缘” 和“叠加边缘”)。
(6)表面模糊 在保留边缘的同时模糊图像。 此 滤镜用于创建特殊效果并消除杂色或粒 度。 “半径”选项指定模糊取样区域 的大小。 “阈值”选项控制相邻像素 色调值与中心像素值相差多大时才能成 为模糊的一部分。 色调值差小于阈值 的像素被排除在模糊之外。
建立选框后的复制修复操作: ①按住Alt键从选区向外拖动可复 制出一个选区副本图像,该副本图像是 一个浮动的选区,可以使用选框工具移 动或按Alt键再次仿制该选区以建立任 意多个副本。 在进行复制操作时,选 区图像将与平面的透视保持一致。 按住Shift键移动选区图像可约束 移动在平面的水平和垂直两个方向上。
高级面板 渐隐量 调整高光或阴影中的锐化量。 色调宽度 控制阴影或高光中色调的修 改范围。 半径 控制每个像素周围的区域的大小, 该大小用于确定像素是在阴影还是在高 光中。
锐化处理技巧 为了在锐化的同时,更好地避免色 彩变化,可以先将图像模式转换成 “Lab颜色”,然后在“通道”调板单 独选择“明度”通道后执行锐化,锐化 完成后在转换为RGB图像。
数字图像处理教学大纲
数字图像处理课程教学大纲(理论课程)◆课程编号:130128◆课程英文名称:Digital Image Processing◆课程类型:☐通识通修☐通识通选☐学科必修√学科选修☐跨学科选修☐专业核心√专业选修(学术研究)☐专业选修(就业创业)◆适用年级专业(学科类):四年级电子信息工程专业、通信工程(专业电气信息类)◆先修课程:信号与系统、数字信号处理、线性代数、概率统计◆总学分:2◆总学时:34一、课程简介与教学目标数字图像处理时模式识别,计算机视觉,图像通信,多媒体技术等学科的基础,是一门涉及多领域的交叉学科。
通过本课程的学习,使学习者系统地了解数字图像的基本概念、数字图像形成的原理,掌握数字图像处理的理论基础和技术方法,了解与各种处理技术相关的应用领域。
为学生今后从事数字图像信息处理工作奠定坚实的理论基础。
二、教学方式与方法教学方式:课堂讲授(以多媒体课件为主导)和课下上机实践相结合;教学方法:采用以BTEC(Business Technology Education Council)模式为主,以TBL(task-based learning)任务型模式为辅的两种教学模式相结合的教学方法。
用任务引导学习,更注重学生个性的发展和个人潜能的开发,考核以平时的课业、表现、出勤、学习态度和最后的考试共同衡量学生的学习水平,达到教学目的。
三、教学重点与难点(一)教学重点重点是第4章图像增强、第6章图像复原、第7章图像分割;(二)教学难点难点是第3章图像变换和第6章图像复原。
四、学时分配计划五、教材与教学参考书(一)教材1.《数字图像处理与分析》,刘直芳、王运琼、朱敏,清华大学出版社,2006;2.《数字图像处理(第二版》,R. C. Gonzalez和R. E. Woods(美国),电子工业出版社,2006;(二)教学参考书1.《图像工程(上册):图像处理》,章毓晋,清华大学出版社,2006;2.《图像工程(中册):图像分析》,章毓晋,清华大学出版社,2005;3.《数字图像处理学》,阮秋琦,电子工业出版社,2003;4.《数字图像处理》,陈天华,清华大学出版社,2007;5.《数字图像处理》,姚敏,机械工业出版社,2006;六、课程考核与成绩评定【考核类型】√考试☐考查【考核方式】☐开卷(Open-Book)√闭卷(Close-Book)☐项目报告/论文☐其它:(填写具体考核方式)【成绩评定】平时成绩占(30-40)%,考试成绩占(70-60)%七、课程内容概述第一章绪论(一)教学要求了解数字图像处理的基本概念和特点,研究的目的和意义,数字图像图像处理的主要研究内容,国内外研究现状与发展趋势,主要应用领域。
Digital-Image-Processing-通用图像处理
Digital Image Processing
1.1 图像和图像处理
Digital Image Processing
1.1 图像和图像处理
静止图像,与时间t无关;单色图像(也称灰度图像), 波长λ为一常数;平面图像,则与坐标z无关。
即在每一种情况下,图像的表示可省略掉一维,即 (1) 静止图像: I = f(x,y,z, λ) (2) 灰度图像: I = f(x,y,z,t ) (3) 平面图像: I = f(x,y,λ,t ) 而对于平面上的静止灰度图像,其数学表达式可简化为:
图像处理芯片:将许多图像处理功能集成在一个很小的芯片上,形成 专用或通用的图像处理芯片 。
Digital Image Processing
1.4 数字图像处理的主要应用
▓ 宇宙探测中的应用:主要是星体图片的获取、传送和处理。 ▓ 通信方面的应用:图像信息传输、电视电话、卫星通信、数 字电话等。主要是压缩图像数据和动态图像(序列)传送 。 ▓ 遥感方面的应用:(航空遥感和卫星遥感),地形、地质、 资源的勘测,自然灾害监测、预报和调查,环境监测、调查 等。 ▓ 生物医学方面的应用:细胞分析、染色体分类、放射图像 处理、血球分类、各种CT、核磁共振图像分析、DNA显示分析、 显微图像处理、癌细胞识别、心脏活动的动态分析、超声图 像成像、生物进化的图像分析等等 。
第1章 绪论
◆1.1 图像和图像处理 ◆1.2 数字图像处理的步骤和方法 ◆1.3 数字图像处理系统的组成 ◆1.4 数字图像处理的主要应用 ◆1.5 课程内容简介
《数字图像处理》课程教学大纲
《数字图像处理》课程教学大纲一、课程基本信息课程编号:dq04091010课程名称:数字图像处理Digital Image Processing学时/学分:32/2实验学时:12课程类别:专业类课程课程性质:必修课适用专业:电子信息工程开设学期:第六学期先行课程:概率与数理统计、线性代数、信号与系统、数字信号处理责任单位:电气与信息工程学院电子信息工程系二、课程简介《数字图像处理》是面向电子信息工程专业开设的一门专业课程。
通过本课程的学习,学生将获得图像处理的系统设计、相关软件设计与开发知识,并理解图像处理的设计需求、设计原理、设计方法、具有相应实践能力。
能够运用深入的图像处理方法进行数学建模及仿真验证;掌握多层次的实验设计、实现及结果分析的方法,并能将其用于复杂工程实践中。
并为学习后续课程以及从事与本专业相关的工程技术等工作奠定必要的理论基础。
三、课程目标通过本课程的学习,应达到的目标及能力如下:目标1:能够利用数字图像处理所需的数学工具。
学会图像分析的基本方法,具备解决图像应用问题的初步能力;目标2:能够学会数字图像处理基本算法,分析数字图像处理领域复杂工程问题;目标3:能够自行编写MATLAB程序,仿真实现图像处理分析过程,准确筛选、处理、分析实验数据,得出合理有效的结论,规范撰写实验报告。
四、课程目标对毕业要求的支撑五、课程教学内容(一)数字图像处理概述1.主要教学内容:图像的基本概念;数字图像处理,计算机视觉,计算机图形学;数字图像处理系统结构;数字图像处理的主要研究内容;图像的数字化方法;数字图像的数值描述;数字图像的位图文件结构;数字图像的灰度直方图。
2.知识点与能力点要求:(1)知识点:要求学生了解什么是图像以及图像的分类,了解数字图像处理、计算机视觉、计算机图形学之间的区别,了解数字图像处理系统结构。
了解图像的采样和量化方法;掌握BMP位图文件的结构,掌握数字图像灰度直方图的定义、性质和用途。
最新数字图像处理的应用-Digital-Image-Processing教学讲义ppt课件
12 of
数字水印技术的技术特性
36
自恢复性
由于经过一些操作或变换后,可能会使原图产生较大 的破坏,如果只从留下的片段数据,仍能恢复隐藏信 号,而且恢复过程不需要宿主信号,我们就说这样的 算法具有自恢复性
高通滤波
直方图均衡化
锐化处理
13 of 36
自恢复性
提取水印的算法
在水印提取时,选取相同的DCT系数 并根据系数之间的关系抽取特定信息。
算法分析
数据改变的幅度比较小,透明性好。 抵抗几何变换攻击的能力会比较弱。
18 of
数字水印的典型算法
36
压缩域算法
基于JPEG、MPEG标准。 水印信号的嵌入、提取、检测直接在压缩域数据中进 行。 节省了解码和重新编码的过程
输入图像
生成 查询要求
相似性 匹配
返回 初步结果
返回结果图像
特征调整
逐步筛选 、求精
25 of
基于内容的图像检索系统
36
基于内容的图像检索系统的4种检索方式
利用图片样本检索(Query By Example) • 可以由用户准备图片样本 • 可以在图片库中浏览
数字图像处理的应用-DigitalImage-Processing
2 of
数字图像处理的应用
36
本节课我们学习:
图像处理的主要应用领域 图像处理在数字水印中的应用 基于内容的图像检索
3 of
图像处理的主要应用领域
36
航天和航空技术方面的应用 生物医学工程方面的应用 通信工程方面的应用 工业和工程方面的应用 军事公安方面的应用 文化艺术方面的应用
但对于数字水印系统来说,隐藏信息的丢失,意味着 版权信息的丢失,从而失去了版权保护的功能,因此, 这样的系统是失败的
数字图像处理课程教学大纲.
《数字图像处理》课程教学大纲课程代码:0806603056课程名称:数字图像处理英文名称:Digital Image Processing总学时:48 讲课学时:40 实验学时:8学分:3适用对象:测控技术与仪器专业先修课程:信号与线性系统、数字信号处理、概率论与数理统计、线性代数、物理光学一、课程性质、目的和任务数字图像处理课程是测控技术与仪器专业的一门专业必修课。
本课程讲授数字图像处理的基本理论、方法,侧重于机器视觉中的预处理技术和实际应用。
学习的本课程目的是使学生系统掌握数字图像处理的基本概念、基本原理、实现方法和实用技术,了解数字图像处理国内外的发展方向。
培养学生解决智能化检测与控制中应用问题的初步能力,为在计算机视觉、模式识别等领域从事研究与开发打下扎实的理论基础。
二、教学基本要求本课程的教学要求是使学生掌握数字图像处理的基本概念,熟练使用分析数字图像处理编程的基本工具,了解数字图像处理的发展和工程应用。
学完本课程应达到以下基本要求:1.了解图像处理的概念及图像处理系统组成。
2.理解视觉成像设备、原理、视觉特性及彩色模型。
3.掌握数字图像处理中的基本运算以及图像卷积与滤波运算,理解图像矩阵类型和矩阵运算。
4.掌握图像变换,主要是离散和快速傅里叶变换等的原理及性质。
5.理解各种图像增强方法,特别是要求掌握空域图像增强的各种方法。
理解图像频域滤波增强等方法。
7.理解编码概念及其基本原理,掌握预测编码、变换编码的原理及方法,了解部份国际编码标准。
8.理解图像退化的模型,理解常用的几种图像恢复的方法。
9.理解模式识别概念和方法,掌握图像分割和特征提取方法,理解几种分类技术及其应用。
10.理解图像融合基本原理及几种融合技术。
11.了解数字图像处理系统设计方法,能利用所学知识设计简单的数字图像处理系统。
12.掌握数字图像处理中最基本、最广泛应用的概念、原理、理论和算法以及基本技术和方法;着重培养学生对数字图像处理的分析能力,能熟练用MATLAB或c++编程,实现对图像进行处理。
Digital Image Processing_4
Digital Image ProcessingComputer Project Report III Fourier Transform and Frequency Domain FilteringStudent ID: 20091613310032Name: Xiaopeng JiDate: April 18, 2012A. Objectivesi. Familiar with the concepts and principles of Fourier transform;ii. Processing digital image with MATLAB in Frequency domain;iii. Familiar with the filter design functions: fsamp2, fwind1, and fwind2.B. MethodsFor this project use the image lenna.gif.1) Compute the forward 2D FFT of the lenna image using the MATLAB IMAGE PROCESSING TOOLBOX function FFT2.2) Lowpass Filter Design3) Highpass Filter Design4) Two Dimensional Filter DesignC. Results1) Compute the forward 2D FFT of the lenna image using the MATLAB IMAGE PROCESSING TOOLBOX function FFT2.The command is:imglenna=imread('lenna.gif');imgFFT=fft2(double(imglenna)./255);imgFFT=fftshift(imgFFT);The function fftshift is useful for visualizing the Fourier transform with the zero-frequency (直流分量)component in the middle of the spectrum.a) Compute the log magnitude and phase (i.e., MATLAB IMAGE PROCESSING TOOL BOX function ANGLE.The command is:imgLogMag=log(abs(imgFFT)+1);imgPhase=angle(imgFFT);b) Compute the inverse 2D FFT of the lenna image using the MATLAB IMAGE PROCESSING TOOL BOX function IFFT2.The command is:imgIFFT=abs(ifft2(imgFFT))c) Plot the original lenna image, log magnitude, phase, and inverse transformed images.The command is:figure;subplot(221);imshow(imglenna);title('Original Image');subplot(222);imshow(imgLogMag,[]);title('Log Maganitude of FFT');subplot(223);imshow(imgPhase,[]);title('Phase of FFT');subplot(224);imshow(imgIFFT,[]);title('Inverse FFT');The result is:Figure 1: Original, log magnitude, phase, and inverse transformed images2) Lowpass Filter Designa) Use the MATLAB IMAGE PROCESSING TOOL BOX function FSPECIAL to design an 11x11 Gaussian lowpass filter with a value of s equal to 1.3.The command is:LowpassFilter=fspecial('gaussian',[11 11],1.3);b) Compute the forward 2D FFT of the filter kernel using the same size FFT as that of the lenna image. Utilize the SIZE function from the example on the website.The command is:imgSize=size(imglenna);imgRows=imgSize(1);imgCols=imgSize(2);LowpassFFT=fftshift(fft2(LowpassFilter,imgRows,imgCols));We can get the row and column of the image and use the function fft2 to Compute the forward 2D FFT of the filter kernelc) From the results in b) compute and plot the log magnitude and phase of the Gaussian Lowpass Filter kernel.The command is:figure;subplot(121);imshow(log(abs(LowpassFFT)+1),[]);title('Log Magnitude');subplot(122);imshow(angle(LowpassFFT),[]);title('Phase');Figure 2:log magnitude and phase of the Gaussian Lowpass Filter kernelFrom the result, we can find the center of log magnitude is bright and the phase is alternating light and dark stripes.d) Utilizing the results in 1) and 2b) perform the filtering functionG(u,v)=H(u,v)*F(u,v), where H(u,v)=2D FFT of the Gaussian Filter Kernel, and F(u,v)=2D FFT of the lenna image. Plot the log magnitude and phase of the lowpass filtered image.The command is:imgFiltered=LowpassFFT .* imgFFT;figure;subplot(121);imshow(log(abs(imgFiltered)+1),[]);title('Log Magnitude');subplot(122);imshow(angle(imgFiltered),[]);title('Phase');Figure 3: log magnitude and phase of the lowpass filtered imagee) Compute and plot the inverse 2D FFT of the lowpass filtered image.The command is:figure;imgLowpassFiltered=abs(ifft2(imgFiltered));imgLowpassFiltered=circshift(imgLowpassFiltered,[-1.*floor(length (LowpassFilter)/2) -1.*floor(length(LowpassFilter)/2)]);imshow(imgLowpassFiltered,[]);title('Inverse FFT of Lowpass Filtered Image');Figure 4:the inverse 2D FFT of the lowpass filtered imageFrom the result, we can find the image after lowpass filiter is fuzzy and the high-frequency components of the image are lost.3) Highpass Filter Designa) Use the MATLAB IMAGE PROCESSING TOOL BOX function FSPECIAL to design a laplacian highpass filter.The command is:HighpassFilter=fspecial('laplacian');b) Compute the forward 2D FFT of the filter kernel using the same size FFT as that of the lenna image. Utilize the SIZE function from the example on the website.The command is:HighpassFFT=fftshift(fft2(HighpassFilter,imgRows,imgCols));c) From the results in b) compute and plot the log magnitude and phase of the Laplacian highpass Filter kernel.The command is:figure;subplot(121);imshow(log(abs(HighpassFFT)+1),[]);title('Log Magnitude');subplot(122);imshow(angle(HighpassFFT),[]);title('Phase');Figure 5:log magnitude and phase of the Laplacian highpass Filter kernelFrom the result, we can find the center of the log magnitude is dark and there is a clear dividing line in phase.d) Utilizing the results in 1) and 3b) perform the filtering function G(u,v)=H(u,v)*F(u,v), where H(u,v)=2D FFT of the Gaussian Filter Kernel, and F(u,v)=2D FFT of the lenna image. Plot the log magnitude and phase of the lowpass filtered image.The command is:imgFiltered=HighpassFFT .* imgFFT;figure;subplot(121);imshow(log(abs(imgFiltered)+1),[]);title('Log Magnitude');subplot(122);imshow(angle(imgFiltered),[]);title('Phase');Figure 6: log magnitude and phase of the lowpass filtered imagee) Compute and plot the inverse 2D FFT of the highpass filtered image using the IFFT2 function.The command is:figure;imgHighpassFiltered=abs(ifft2(imgFiltered));imgHighpassFiltered=circshift(imgHighpassFiltered,[-1.*floor(leng th(HighpassFilter)/2) -1.*floor(length(HighpassFilter)/2)]);imshow(imgHighpassFiltered,[]);title('Inverse FFT of Highpass Filtered Image');Figure 7:Inverse FFT of Highpass Filtered ImageFrom the result, we can find the image after Highpass Filter only contains the contour with frequency components.4) Two Dimensional Filter Designa) The objective of this exercise id to utilize the filter design functions: fsamp2, fwind1, and fwind2.1. Use [f1,f2]=freqspace(21,'meshgrid'); command to design the sampling grid for the filter.2. Once 1) is completed compute the radius vectors for the following filter designs for the filter design functions: fsamp2, fwind1, and fwind2.a) The radius vectors are the following:Bandpass: (r<0.1) | (r>0.6)Lowpass: r>0.6Highpass: r<0.6The command is:[f1,f2]=freqspace(21,'meshgrid');r=sqrt(f1.^2 + f2.^2);Hd=ones(size(f1));Bandpass=Hd;Lowpass=Hd;Highpass=Hd;Bandpass((r<0.1)|(r>0.6))=0;Lowpass(r>0.6)=0;Highpass(r<0.6)=0;b) For each of the filtering algorithms do the following:1) Design a bandpass, lowpass, and highpass filter2) Compute the forward 2D FFT of the filter kernels using the same size FFT as that of the lenna image. Utilize the SIZE function from the example on the website.3) Use the results in 2) compute and plot the log magnitude and phase of each respective filter kernel.4) Utilizing the results in 2) perform the filtering function G(u,v)=H(u,v)*F(u,v), where H(u,v)=2D FFT of the respective filter kernel, and F(u,v)=2D FFT of the lenna image. Plot the log magnitude and phase of the filtered image.5) Compute and plot the inverse 2D FFT of each filtered image.With the filter design functions fsamp2, the command is:BandpassFilter=fsamp2(Bandpass);LowpassFilter=fsamp2(Lowpass);HighpassFilter=fsamp2(Highpass);BandpassFilterFFT=fftshift(fft2(BandpassFilter,imgRows,imgCols));LowpassFilterFFT=fftshift(fft2(LowpassFilter,imgRows,imgCols));HighpassFilterFFT=fftshift(fft2(HighpassFilter,imgRows,imgCols)); The results are:Figure 8:Log Magnitude and Phase of bandpass, lowpass, and highpass filterFigure 9: log magnitude, phase and inverse 2D FFT of each filtered imageFrom the results, we can find that the image after Lowpass Filter is fuzzy. The image after Highpass and Bandpass is distortion but retain different frequency components of the image.With the filter design functions fwind1, the command is:BandpassFilter=fwind1(Bandpass, hamming(21));HighpassFilter=fwind1(Highpass, hamming(21));LowpassFilter=fwind1(Lowpass, hamming(21));BandpassFilterFFT=fftshift(fft2(BandpassFilter,imgRows,imgCols));LowpassFilterFFT=fftshift(fft2(LowpassFilter,imgRows,imgCols));HighpassFilterFFT=fftshift(fft2(HighpassFilter,imgRows,imgCols)); The results are:Figure 10: Log Magnitude and Phase of bandpass, lowpass, and highpass filterFigure 11: log magnitude, phase and inverse 2D FFT of each filtered image From the results, we can find that image after Lowpass Filter is better. The image after Highpass Filter retains minimal information. The image after Bandpass Filter retain part of information.With the filter design functions fwind2, the command is:window=fspecial('gaussian', 21, 2);window=window ./ max(max(window));BandpassFilter=fwind2(Bandpass, window);HighpassFilter=fwind2(Highpass, window);LowpassFilter=fwind2(Lowpass, window);BandpassFilterFFT=fftshift(fft2(BandpassFilter,imgRows,imgCols));LowpassFilterFFT=fftshift(fft2(LowpassFilter,imgRows,imgCols));HighpassFilterFFT=fftshift(fft2(HighpassFilter,imgRows,imgCols)); The results are:Figure 12: Log Magnitude and Phase of bandpass, lowpass, and highpass filterFigure 13: log magnitude, phase and inverse 2D FFT of each filtered imageFrom the results, we can find that the image after Highpass Filter retain high frequency components of the image contour. The image after Lowpass Filter lost less information compared with the original image. And the image after Bandpass Filter is dark compared with the original image.D. ConclusionsThe effect of Lowpass Filter in Frequency domain is to remove the high frequency noise of the image, and the ability depends on the form and cutoff frequency of the filter. Lowpass Filter will also cause image fuzzy by removing the noise.Highpass Filter can enhance the image edge, which is the basis of image edge detection. Highpass Filter basically suppresses the image of smooth information.Bandpass Filter performs better to remove particular type noise. The gray level of the image is obviously compression after Fourier inverter.。
《数字图像处理》教学大纲
课程编号:05064308《数字图像处理》课程教学大纲(DigitalImageProcessing)适用于本科电子信息、电子科学与技术等专业总学时:40总学分:2.5开课单位:物理系课程负责人:庞淑蓉执笔人:庞淑蓉审核人:白心爱一、课程的性质、目的、任务数字图像处理是一门迅速发展的实用的新兴学科,已成为电子信息、计算机科学及其相关专业的一个热门研究课题,相应《图像处理技术》也是一门重要的课程,是一门多学科交叉、理论性和实践性都很强的综合性课程。
本课程是电子信息工程专业的专业课。
本课程着重研究数字图像处理的方法,训练学生运用所学基础知识解决实际问题的能力,同时要求拓宽专业知识面。
目的是使学生掌握数字图像处理的基本概念、原理和处理方法,掌握数字图像的时域、频域处理方法,掌握图像恢复和压缩的方法,理解图像各种变换(傅里叶变换、余弦变换、哈尔变换、K-L变换)的基本内容、性质与应用,为从事图像通信应用系统的研究、设计和维护工作打下基础。
通过对该课程的学习,要求熟悉图像通信系统的构成,掌握静止图像和序列图像编码的基本原理、算法,并能应用到实际图像通信系统的研究和设计中。
二、教学基本要求《数字图像处理》是一门多学科交叉、理论性和实践性都很强的综合性课程,是在《线性代数》、《信号与系统》、《数字信号处理》、Matlab语言或C语言等课程的基础上开设。
本课程的目的是使学生掌握数字图像处理的基本概念,熟练使用分析数字图像处理编程的基本工具,了解数字图像处理的发展和应用以及当前国际国内研究的热点和重要成果及其工程应用前景。
三、教学内容、目标要求与学时分配第一章数字图像处理的基本知识基本教学内容:1)图象的基本概念2)数字图像的表示3)数字图象处理的发展史及应用4)数字图象处理系统的组成及工作原理基本要求:1、掌握光度学和色度学简介。
2、掌握连续图像和数字图像的表达式及连续图像到数字图像的转化过程。
3、了解数字图像处理系统的组成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D i g i t a l-I m a g e-P r o c e s s i n g-4Digital Image ProcessingComputer Project Report IV Contrast Enhancement, Histogram Equalization, Spatial Filtering, & Edge DetectionStudent ID: 20091613310032Name: Xiaopeng JiDate: April 13, 2012A. Objectivesi. Study the effects of contrast enhancement histogram equalization andhistogram stretching.ii. Study the effects of histogram equalization via HISTEQ function.iii. Utilizing the SUBPLOT function to display images.iv. Study the effects of spatial filtering using IMNOISE, FSPECIAL, and MEDFILT2 functions.v. Study image noise and how the median and average filters remove noise.vi. Study different methods of edge detection for use on noisy images specifically motion blur, Gaussian noise and filtered Gaussian noise via averaging.vii. Formulate real-world applications which utilize the above functions and concepts.B. MethodsThis project will utilize the functions of MATLAB Image Processing Toolbox to perform Contrast Enhancement, Histogram Equalization, Spatial Filtering using averaging and median filters, and an Edge detection algorithm experiment.1. IMRESIZE function utilization for image expansion.2. Contrast stretching using IMADJUST and STRETCHLIM functions.3. Histogram equalization using HISTEQ function.4. Data display utilizing SUBPLOT function.5. Spatial filtering using IMNOISE, FSPECIAL, and MEDFILT2.6. Edge detection on noisy images using Matlab noise and edge detection functions.C. Results1. Load image saltAndPepper.gif and use the IMRESIZE function tointer polate by a factor of 4 using ‘bi-cubic’ interpolation.At the command prompt enter :>>saltandpepper_filename='saltAndPepper.gif';saltandpepper_image=imread(saltandpepper_filename);picture_saltandpepper_scale=imresize(saltandpepper_ima ge,[60*4 59*4],'bicubic');imwrite(picture_saltandpepper_scale,'saltandpepper_bic ubic.jpg', 'jpg');The original image, saltAndPepper.gif, was spatially expanded 4x in each dimension using bi-cubic interpolation. The IMRESIZE function was utilized to perform the operation.Figure 1: Original image.Figure2: saltAndPepper.gif spatially expanded by 4x.2. Contrast Stretching – Use the MATLAB function IMADJUST to perform the contrast stretch.a) Use imadjust(Image, [LOW_IN, HIGH_IN],[]); in this format. [LOW_IN, HIGH_IN] must be in the [0,1] range so the vector must be scaled by the maximum gray level that the image is quantized to (i.e. 8-bits a 256 gray levels).At the command prompt enter :>>saltandpepper_imadjust=imadjust(picture_saltandpepper_c ale,[0 (180/255)],[]);imwrite(saltandpepper_imadjust,'saltandpepper_imadjust.jpg','jpg');Figure 3: Adjusted figure 2 such that the lowest and highest intensities are 0and 255 respectively.b) Compute the mean gray level (function: MEAN2) and the standard deviation (function: STD2) and design a mapping function for LOW_IN and HIGH_IN based on the following equations:LOW_IN=(mean-(standard deviation)/2)/256HIGH_IN=(mean+(standard deviation)/2)/256At the command prompt enter :>>saltandpepper_mean=mean2(picture_saltandpepper_scale) saltandpepper_std=std2(picture_saltandpepper_scale)low_in=(saltandpepper_mean-(saltandpepper_std)/2)/256 high_in=(saltandpepper_mean+(saltandpepper_std)/2)/256 saltandpepper_mean=imadjust(picture_saltandpepper_scal e,[low_in high_in],[]);imwrite(saltandpepper_mean,'saltandpepper_mean.jpg','j pg');Figure 2: The histogram of cameraman.tifsaltandpepper_mean = 60.8439saltandpepper_std = 30.3702low_in = 0.1784high_in = 0.2970Figure 4: IMADJUST performed on Figure 2 with LOW_IN and HIGH_IN equalto above calculationsc) Use the function STRETCHLIM to compute the tolerance for the IMADJUST function. The function STRETCHLIM will compute a vector corresponding to [LOW_IN, HIGH_IN]. Use the vector calculated by STRETCHLIM to in the IMADJUST function described in a.) and compute the image transformation.At the command prompt enter :>>low_high = stretchlim(picture_saltandpepper_scale, 0) saltandpepper_stretchlim=imadjust(picture_saltandpepper_s cale,low_high, []);imwrite(saltandpepper_stretchlim ,'saltandpepper_stretchlim.jpg', 'jpg');low_high = (00.7059)Figure 5: STRETCHLIM performed with IMADJUST on Figure 23. Histogram Equalization – Use the function HISTEQ to compute the histogram equalization of the original image.4. Data Display – Use the SUBPLOT command to display your results.At the command prompt enter:>>imhist(picture_saltandpepper_scale);saltandpepper_EqualizedImage =histeq(picture_saltandpepper_scale);imwrite(saltandpepper_EqualizedImage,'saltandpepper_Equal izedImage.jpg', 'jpg');colormap('gray');subplot(2,2,1);image(picture_saltandpepper_scale);title('Original Image');subplot(2,2,2);image(saltandpepper_mean);title('Mean and Std Image');subplot(2,2,3);image(saltandpepper_stretchlim);title('StretchLim Image');subplot(2,2,4);image(saltandpepper_EqualizedImage);title('Equalized Image');figure;subplot(2,2,1);imhist(picture_saltandpepper_scale);title('Original Image');subplot(2,2,2);imhist(saltandpepper_mean);title('Mean and Std Image');subplot(2,2,3);imhist(saltandpepper_stretchlim);title('StretchLim Image');subplot(2,2,4);imhist(saltandpepper_EqualizedImage);title('Equalized Image');Figure 3: After histogram equalization5. Spatial Filtering – Use the functions IMNOISE, FSPECIAL, and MEDFILT2 to perform spatial filtering of noise corrupted images.a) Using the histogram equalized image of 3) use the IMNOISE function to generate two noise corrupted images.noise_gaussian=imnoise(Image,’gaussian’,0,0.05);noise_saltAndpepper=imnoise(Image,’salt & pepper’, 0.02);Use the data display technique in 4) to display the original histogram enhanced image, and the two noise corrupted images.Atnoise_gaussian=imnoise(saltandpepper_EqualizedImage,'gaussian',0,0.05 );noise_saltAndpepper=imnoise(saltandpepper_EqualizedImage,'salt & pepper', 0.02);figure;colormap('gray');subplot(1,3,1);imagesc(saltandpepper_EqualizedImage);title('Equalized Image');subplot(1,3,2);imagesc(noise_gaussian);title('Noise Gaussian');subplot(1,3,3);imagesc(noise_saltAndpepper);title('Noise Salt and Pepper');b) Use the function FSPECIAL to design averaging filters of size (3x3), (5,5), and (7x7).average_filter_3x3=fspecial('average',[3 3])average_filter_5x5=fspecial('average',[5 5])average_filter_7x7=fspecial('average',[7 7])c) Using the filter masks generated in b), use the function IMFILTER to perform the two-dimensional convolution function of the mask with thenoise_gaussian image that was generated in a). Use the display technique in 4) to display the noise_gaussian image and the three averaging filtered results.average_gaussian_3x3=imfilter (noise_gaussian,average_filter_3x3); average_gaussian_5x5=imfilter (noise_gaussian,average_filter_5x5); average_gaussian_7x7=imfilter (noise_gaussian,average_filter_7x7);figure;colormap('gray');subplot(2,2,1);imagesc(noise_gaussian);title('Noise Gaussian');subplot(2,2,2);imagesc(average_gaussian_3x3);title('Average Gaussian 3x3');subplot(2,2,3);imagesc(average_gaussian_5x5);title('Average Gaussian 5x5');subplot(2,2,4);imagesc(average_gaussian_7x7);title('Average Gaussian 7x7');d) Use the MEDFILT2 function to perform median filtering on thenoise_saltAndpepper image generated in a). Design the median filters to work with window sizes of (3x3), (5x5), and (7x7). Use the display technique in 4) to display the noise_saltAndpepper image and the three median filtered results. average_saltAndpepper_3x3=medfilt2 (noise_saltAndpepper,[3 3]); average_saltAndpepper_5x5=medfilt2 (noise_saltAndpepper,[5 5]); average_saltAndpepper_7x7=medfilt2 (noise_saltAndpepper,[7 7]);figure;colormap('gray');subplot(2,2,1);imagesc(noise_saltAndpepper);title('Noise saltAndpepper');subplot(2,2,2);imagesc(average_saltAndpepper_3x3);title('Median saltAndpepper 3x3');subplot(2,2,3);imagesc(average_saltAndpepper_5x5);title('Median saltAndpepper 5x5');subplot(2,2,4);imagesc(average_saltAndpepper_7x7);title('Median saltAndpepper 7x7');6. Edge Detection – Use the functions EDGE, FSPECIAL, IMAGESC to perform and evaluate each detectors performance in several different scenarios. Load image wheel.gif .a.) Original Image: Use the EDGE function to generate masks for Roberts, Canny, Sobel, and Prewitt operators. Use the IMAGESC function and COLORMAP(GRAY) to plot the result of each edge mask. State which operator gives the best performance and why you think so.wheel_filename='wheel.gif';wheel_image=imread(wheel_filename);BW1=edge(wheel_image,'prewitt');BW2=edge(wheel_image,'canny');BW3=edge(wheel_image,'sobel');BW4=edge(wheel_image,'roberts');figure;colormap('gray');subplot(2,2,1);imagesc(BW1);title('Prewitt'); subplot(2,2,2); imagesc(BW2);title('Canny'); subplot(2,2,3); imagesc(BW3);title('Sobel'); subplot(2,2,4); imagesc(BW4);title('Roberts');b.) Motion Blur: Use the function FSPECIAL (i.e., fspecial('motion',50,45)) to generate motion blur. This will simulate blur due to camera or image platform motion. Use the same procedure as in a.) to evaluate your results.motionfilter=fspecial('motion',50,45);wheel_filter=imfilter (wheel_image,motionfilter);BW1=edge(wheel_filter,'prewitt');BW2=edge(wheel_filter,'canny');BW3=edge(wheel_filter,'sobel');BW4=edge(wheel_filter,'roberts');figure;colormap('gray');subplot(2,2,1);imagesc(BW1);title('Prewitt');subplot(2,2,2);imagesc(BW2);title('Canny');subplot(2,2,3);imagesc(BW3);title('Sobel');subplot(2,2,4);imagesc(BW4);title('Roberts');c.) Gaussian Noise: Use the function IMNOISE (i.e.,imnoise(Image,'gaussian',0,0.001);) to generate a noise corrupted image. This experiment is in similar context to b.) as it illustrates how the gradient information degrades due to system parameters such as platform motion and signal to noise ratio. Use the same procedure as in a.) to evaluate your results.gaussian_filter=imnoise (wheel_image,'gaussian',0,0.001);BW1=edge(gaussian_filter,'prewitt');BW2=edge(gaussian_filter,'canny'); BW3=edge(gaussian_filter,'sobel'); BW4=edge(gaussian_filter,'roberts');figure;colormap('gray');subplot(2,2,1);imagesc(BW1);title('Prewitt');subplot(2,2,2);imagesc(BW2);title('Canny');subplot(2,2,3);imagesc(BW3);title('Sobel');subplot(2,2,4);imagesc(BW4);title('Roberts');d.) Filtered Gaussian Noise: Use the 3 x 3 Averaging filter designed using FSPECIAL in section 5b.) to filter the noise image generated in c.). Use the same procedure as in a.) to evaluate your results.At the command prompt enter:avg_gaussian_filter=imfilter(gaussian_filter,average_filter_3x3);BW1=edge(avg_gaussian_filter,'prewitt');BW2=edge(avg_gaussian_filter,'canny');BW3=edge(avg_gaussian_filter,'sobel');BW4=edge(avg_gaussian_filter,'roberts');figure;colormap('gray');subplot(2,2,1);imagesc(BW1);title('Prewitt');subplot(2,2,2);imagesc(BW2);title('Canny');subplot(2,2,3); imagesc(BW3);title('Sobel'); subplot(2,2,4); imagesc(BW4);title('Roberts');。