本文主要介绍了OpenCV基本操作的角点检测,给大家讲的很详细,对大家的学习或者工作都有一定的参考价值。有需要的朋友可以参考一下。
目录
角检测概述角检测代码
概述
OpenCV是一个跨平台的计算机视觉库,支持多种语言,功能强大。今天,小白将带您携手走进OpenCV的世界。
角点检测
角点检测是图像的一个重要特征。角点可以帮助我们认识到图像对它的重要应用,图像拼接,目标识别等等。
Harris角点检测是最基本也是最重要的角点检测算法,它通过计算图像在X和y方向平移的自相似性来判断图像是否为角点。
比如图像的某个位置在x/y方向稍微滑动,如果窗口内灰度值变化较大,那么这个位置就是角点。
角点检测代码
格式:
cv2.cornerHarris(src,blockSize,kSize,k,dst=None,borderType=None)
参数:
Scr:输入图像
块:焦点检测中指定区域的大小。
k size:Sobel推导中使用的窗口大小
k:索贝尔光圈参数,取值范围为[0.04,0.06]
示例1:
将numpy作为np导入
导入cv2
#阅读图片
image=cv2.imread('house.jpg ')
#转换为灰度图像
image_gray=cv2.cvtColor(image,cv2。COLOR_BGR2GRAY)
#哈里斯角点检测
Harris=cv2 . corner Harris(image _ gray,2,3,0.04)
#原始图像的阈值转换
image_corner=image.copy()
image _ corner[Harris 0.01 * Harris . max()]=[0,0,255]
#整合
combine=np.hstack((image,image_corner))
#图片展示
cv2.imshow('原始与角点检测',合并)
cv2.waitKey(0)
cv2.destroyAllWindows()
#保存结果
cv2.imwrite('harris.jpg ',combine)
输出结果:
示例2:
将numpy作为np导入
导入cv2
#阅读图片
image=cv2.imread('house2.jpg ')
#转换为灰度图像
image_gray=cv2.cvtColor(image,cv2。COLOR_BGR2GRAY)
#哈里斯角点检测
Harris=cv2 . corner Harris(image _ gray,2,3,0.04)
#原始图像的阈值转换
image_corner=image.copy()
image _ corner[Harris 0.1 * Harris . max()]=[0,0,255]
#整合
combine=np.hstack((image,image_corner))
#图片展示
cv2.imshow('原点vs角点检测',image_corner)
cv2.waitKey(0)
cv2.destroyAllWindows()
#保存结果
cv2.imwrite('harris.jpg ',combine)
输出结果:
关于OpenCV基本操作的角点检测这篇文章半小时就到此为止。有关OpenCV角点检测的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。