PAGE10
PAGE10
PAGE11
PAGE11
课题
形状识别
课时
18课时(810min)
教学目标
知识目标:
(1)理解图像梯度的概念。
(2)掌握图像梯度的计算方法。
(3)掌握Canny边缘检测算法的主要步骤。
(4)了解图像轮廓的概念。
(5)了解霍夫变换的基本原理。
技能目标:
(1)能够使用OpenCV进行图像的边缘检测。
(2)能够使用OpenCV进行图像轮廓的查找、绘制及拟合。
(3)能够使用OpenCV进行图像的霍夫变换。
素养目标:
(1)提升职业操守,在面临重大选择时,能够做出有利于国家和民族的决策。
(2)发扬精益求精的工匠精神,养成严谨认真的工作态度。
教学重难点
教学重点:图像梯度的概念和计算方法、Canny边缘检测算法、图像轮廓及霍夫变换
教学难点:Canny边缘检测算法和霍夫变换
教学方法
案例分析法、问答法、讨论法、讲授法
教学用具
电脑、投影仪、多媒体课件、教材
教学过程
主要教学内容及步骤
考勤
【教师】使用APP进行签到
【学生】班干部报请假人员及原因
新课预热
【教师】讲述一些形状识别处理的实际案例,使学生了解形状识别处理操作的重要性
【学生】聆听、记录、理解
问题导入
【教师】对学生进行分组,每3~5人一组,并选出一名组长,然后组织学生以小组为单位,扫码播放“边缘检测的主要应用”视频(详见教材),帮助学生了解图像形状检测与识别的应用场景,并提出问题:
问题1:是指图像局部特性的突变,如灰度级的突变、颜色的突变、纹理结构的突变等。
问题2:说一说边缘检测的应用场景(不少于3种)。
【学生】分组、观看、思考、讨论、举手回答
传授新知
【教师】通过学生的回答引入要讲的知识,讲解图像梯度的概念和计算方法、Canny边缘检测算法、图像轮廓及霍夫变换原理。
5.1边缘检测
图像边缘是指图像局部特性的不连续性,如灰度级的突变、颜色的突变、纹理结构的突变等。详见教材。
在实际的图像处理问题中,图像的边缘作为图像的一种基本特征,边缘的确定和提取经常被应用到较高层次的图像中,并在图像识别、图像分割、图像增强及图像压缩等领域有较为广泛的应用。
5.1.1图像梯度
图像梯度指的是图像灰度变换的速度,其本质是求导。详见教材。
用于计算图像梯度的算子称为梯度算子,梯度算子的本质是卷积核。将输入图像与梯度算子进行卷积运算,即可得到体现不同方向边缘信息的输出结果。常见的梯度算子有Sobel算子、Scharr算子、Laplacian算子等。
1.使用Sobel算子进行边缘检测
Sobel算子又称索贝尔算子,用于获得数字图像的一阶梯度,它是计算机视觉领域中常用的一种边缘检测方法。
Sobel算子结合了高斯平滑和微分运算,它不但能产生较好的边缘检测效果,而且对噪声具有平滑抑制作用。详见教材。
OpenCV提供的cv2.Sobel()函数用于使用Sobel算子进行边缘检测,其格式如下。
dst=cv2.Sobel(src,ddepth,dx,dy[,ksize=3[,scale=1[,delta=0[,
borderType=cv2.BORDER_DEFAULT]]]])
详见教材。
在实际计算过程中,当梯度值为负数时,所有负数会自动截断为0,造成图像损失。为了避免图像损失,可以使用cv2.convertScaleAbs()函数将结果取绝对值,其格式如下。
dst=cv2.convertScaleAbs(src[,alpha=1[,beta=0]])
【例5-1】编写程序,对图像“sobel.png”(见本书配套素材“例题图像/sobel.png”)使用Sobel算子分别在x轴和y轴两个方向进行边缘检测,并显示原图像和边缘检测后的图像。
【参考代码】
importcv2 #导入OpenCV库
image=cv2.imread(sobel.png,cv2.IMREAD_GRAYSCALE) #读取灰度图像
#使用Sobel算子在x轴方向计算图像梯度
(详见教材)。
【运行结果】
?【教师】通过多媒体展示“例5-1程序运行结果”图片,并进行讲解
2.使用Scharr算子进行边缘检测
Scharr算子是Sobel算子的改进版本,该算子具有和Sobel算子同样的速度,且精度更高。当卷积核的尺寸较大时,Scharr算子的边缘检测效果更好。详见教材。
OpenCV提供的cv2.Scharr()函数用于使用Scharr算子进行边缘检测,其格式如下。
dst=cv2.Scharr(src,ddepth,dx,dy[,scale=1[,delta=0[,
borderType=cv2.BORDER_DEFAULT]]])
详见教材。
【例?5-2】