版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《计算机视觉处理项目实战》✩精品课件合集✩精品课件合集第X章XXXX模块10图像滤波哈里斯角检测CONTENTS目录01哈里斯角检测哈里斯角检测哈里斯角检测是克里斯·哈里斯(ChrisHarris)和迈克·斯蒂芬斯(MikeStephens)在他们论文中提出的一种角检测方法。cv2.cornerHarris()函数根据哈里斯角检测器算法检测图像中的角,其基本格式如下。dst=cv2.cornerHarris(src,blockSize,ksize,k)参数说明如下。dst为返回结果,它是一个numpy.ndarray对象,大小和src相同,每一个数组元素对应一个像素点,其值越大,对应像素点是角的概率越高。src为8位单通道或浮点值图像。blockSize为邻域大小,值越大,检测出的角占的区域越大。ksize为哈里斯角检测器使用的Sobel算子的中孔参数。k为哈里斯角检测器的自由参数。ksize和k影响检测的敏感度,值越小,检测出的角越多,但准确率越低。哈里斯角检测示例importcv2ascvimportnumpyasnpimportmatplotlib.pyplotaspltsrc=cv.imread("./image/tree.jpg")gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY)gray=np.float32(gray)dst=cv.cornerHarris(gray,2,3,0.04)src[dst>0.001*dst.max()]=[0,0,255]cv.imshow("src",src)cv.waitKey()cv.destroyAllWindows()总结01哈里斯角检测SIFT关键点检测CONTENTS目录0102SIFT关键点检测步骤SIFT关键点检测SIFT关键点检测步骤也可以使用detecAndCompute()同时检测关键点和描述子并计算3使用detect()函数进行SIFT关键点检测2先创建SIFT实例化对象1sift=cv.xfeatures2d.SIFT_creat()kp=sift.detect(gray,None)kp,des=sift.detecAndCompute(gray,None)4SIFT关键点检测使用drawKeypoints()方法将检测到的关键点结果绘制在图像上。语法格式如下所示:cv.drawKeypoints(image,keypoints,outputimage,color,flags)参数说明keypoints关键点信息,将其绘制在图像上outputimage输出图片,可以是原始图像color颜色flags绘图功能的标识设置SIFT关键点检测方式说明DRAW_MATCHES_FLAGS_DEFAULT创建输出图像矩阵,使用现存的输出图像绘制匹配对和特征点,对每一个关键点只绘制中间点DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG不创建输出图像矩阵,而是在输出图像上绘制匹配对DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS对每一个特征点绘制带大小和方向的关键点图形DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS单点的特征点不被控制SIFT关键点检测示例importcv2ascvimportnumpyasnpimportmatplotlib.pyplotaspltimg=cv.imread("./image/dog.jpg")gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)sift=cv.xfeatures2d.SIFT_create()kp,des=sift.detectAndCompute(gray,None)cv.drawKeypoints(img,kp,img,flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)cv.imshow("img",img)cv.waitKey()cv.destroyAllWindows()总结0102SIFT关键点检测步骤SIFT关键点检测Shi-Tomasi角检测CONTENTS目录01Shi-Tomasi角检测Shi-Tomasi角检测Shi-Tomasi角检测是史建波(JianboShi)和卡罗·托马西(CarloTomasi)在哈里斯角检测基础上提出的改进角检测的方法。OpenCV的cv.goodFeaturesToTrack()函数使用Shi-Tomasi角检测器查找图像中的N个最强角,其基本格式如下。dst=cv.goodFeaturesToTrack(src,maxCorners,qualityLevel,minDistance)参数说明如下。dst为返回结果,保存了检测到的角在原图像中的坐标。src为8位单通道或浮点值图像。maxCorners为返回的角的最大数量。qualityLevel为可接受的角的最低质量。minDistance为返回的角之间的最小欧几里得距离。Shi-Tomasi角检测示例importcv2ascvimportnumpyasnpimg=cv.imread("./image/tree.jpg")gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)corners=cv.goodFeaturesToTrack(gray,1000,0.01,10)corners=0(corners)foriincorners:x,y=i.ravel()#数组降维成一维数组cv.circle(img,(x,y),3,(0,0,255),-1)cv.imshow('img',img)cv.waitKey(0)cv.destroyAllWindows()总结01Shi-Tomasi角检测FAST特征检测CONTENTS目录01FAST特征检测FAST特征检测FAST特征检测器主要根据像素周围16个像素的强度和阈值等参数来判断像素是否为关键点可调用cv2.FastFeatureDetector_create()函数创建一个FAST对象调用FAST对象的detect()方法执行关键点检测,该方法将返回一个关键点列表每个关键点对象均包含了关键点的角度、坐标、响应强度和邻域大小等信息FAST特征检测示例importcv2ascvimg=cv.imread("./image/tree.jpg")gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)fast=cv.FastFeatureDetector_create(threshold=30)kp=fast.detect(gray,None)img1=cv.drawKeypoints(gray,kp,None,color=(0,0,255))cv.imshow("img",img)cv.waitKey()cv.destroyAllWindows()总结01FAST特征检测暴力匹配器CONTENTS目录0102暴力匹配器创建暴力匹配器对象操作暴力匹配器创建暴力匹配器使用描述符进行特征比较。在比较时,暴力匹配器首先在查询描述符中取一个关键点的描述符,将其与训练描述符中的所有关键点描述符进行比较,每次比较后会给出一个距离值,距离最小的值对应最佳匹配结果。所有描述符比较完后,匹配器返回匹配结果列表。OpenCV的cv2.BFMatcher_create()函数用于创建暴力匹配器,其基本格式如下。bf=cv2.BFMatcher_create([normType[,crossCheck]])参数说明如下。bf为返回的暴力匹配器对象。normType为距离测量类型,默认为cv2.NORM_L2。通常,SIFT、SURF等描述符使用cv2.NORM_L1或cv2.NORM_L2,ORB、BRISK或BRIEF等描述符使用cv2.NORM_HAMMING。crossCheck默认为False,匹配器为每个查询描述符找到k个距离最近的匹配描述符。crossCheck为True时,只返回满足交叉验证条件的匹配结果。暴力匹配器对象操作暴力匹配器对象的match()方法返回每个关键点的最佳匹配结果,其基本格式如下。ms=bf.match(des1,des2)参数说明如下。ms为返回的匹配结果,它是一个DMatch对象列表。每个DMatch对象表示关键点的一个匹配结果,其distance属性表示距离,值越小匹配度越高。des1为查询描述符。des2为训练描述符。暴力匹配器对象操作获得匹配结果后,可调用cv2.drawMatches()或cv2.drawMatchesKnn()函数绘制匹配结果图像,其基本格式如下。outImg=cv2.drawMatches(img1,keypoints1,img2,keypoints2,matches1to2,outImg[,matchColor[,singlePointColor[,matchesMask[,flags]]]])outImg=cv2.drawMatchesKnn(img1,keypoints1,img2,keypoints2,matches1to2,outImg[,matchColor[,singlePointColor[,matchesMask[,flags]]]])暴力匹配器对象操作outImg为返回的绘制结果图像,图像中查询图像与训练图像中匹配的关键点和两点之间的连线为彩色。img1为查询图像。keypoints1为img1的关键点。img2为训练图像。keypoints2为img2的关键点。matches1to2为img1与img2的匹配结果。matchColor为关键点和连接线的颜色,默认使用随机颜色。singlePointColor为单个关键点的颜色,默认使用随机颜色。matchesMask为掩模,用于决定绘制哪些匹配结果,默认为空,表示绘制所有匹配结果。flags为标志,可设置为下列参数值。暴力匹配器对象操作01cv2.DrawMatchesFlags_DEFAULT默认方式,绘制两个源图像、匹配项和单个关键点,没有围绕关键点的圆以及关键点的大小和方向02cv2.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS不会绘制单个关键点04cv2.DrawMatchesFlags_DRAW_RICH_KEYPOINTS在关键点周围绘制具有关键点大小和方向的圆圈03cv2.DrawMatchesFlags_DRAW_OVER_OUTIMG根据输出图像的现有内容进行绘制暴力匹配器对象操作暴力匹配器对象的knnMatch()方法可返回指定数量的最佳匹配结果,其基本格式如下。ms=bf.knnMatch(des1,des2,k=n)参数说明如下。ms为返回的匹配结果列表,每个列表元素是一个子列表,它包含了由参数k指定个数的DMatch对象。des1为查询描述符。des2为训练描述符。k为返回的最佳匹配个数。暴力匹配器对象操作示例importcv2importmatplotlib.pyplotaspltimg1=cv2.imread('xhu1.jpg',cv2.IMREAD_GRAYSCALE) img2=cv2.imread('xhu2.jpg',cv2.IMREAD_GRAYSCALE) orb=cv2.ORB_create() kp1,des1=orb.detectAndCompute(img1,None)kp2,des2=orb.detectAndCompute(img2,None)bf=cv2.BFMatcher_create(cv2.NORM_HAMMING,crossCheck=True)
ms=bf.match(des1,des2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 烟草厂特殊环境用电安全规范
- 旅游公司私企导游聘用合同
- 管理学校餐饮部员工合同
- 栅栏围墙钢结构施工合同范本
- 智能家居房产买卖合同范本格式
- 质量控制与市场营销
- 通信设备招投标管理操作指南
- 2022年大学林业工程专业大学物理下册期中考试试卷-含答案
- 2022年大学森林资源专业大学物理二期中考试试卷D卷-附解析
- 2022年大学航空航天专业大学物理二期末考试试题-含答案
- 12YJ4-1 常用门窗标准图集
- GB/T 25446-2010油浸式非晶合金铁心配电变压器技术参数和要求
- 手术室专科护士培训计划(3篇)
- 青光眼病人的护理-课件
- 中国祥瑞-貔貅流传和演变
- 诗词大会训练题库-十二宫格课件
- 土建工程冬季施工专项施工方案费用计算书
- 事业单位财务报销流程及制度课件
- 医疗器械风险定性定量分析表
- 腐蚀与防护概述课件
- 屠宰企业(生猪屠宰场)安全风险分级管控体系方案资料汇编(2022-2023年)
评论
0/150
提交评论