python opencv角点检测,opencv检测一定角度的直线

python opencv角点检测,opencv检测一定角度的直线,OpenCV半小时掌握基本操作之角点检测

本文主要介绍了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: