当前位置: 首页 > wzjs >正文

分类信息网站成都搭建网站查询域名

分类信息网站成都搭建,网站查询域名,简洁文章网站模板下载,企业免费网站系统一、角点检测 在计算机视觉中,角点检测是识别图像中局部区域(角点)的关键技术,这些区域通常是两条或多条边缘的交点,具有丰富的结构信息,常用于图像匹配、跟踪、三维重建等任务。 Harris角点检测算法是一…

一、角点检测

在计算机视觉中,角点检测是识别图像中局部区域(角点)的关键技术,这些区域通常是两条或多条边缘的交点,具有丰富的结构信息,常用于图像匹配、跟踪、三维重建等任务。

Harris角点检测算法是一种常用的计算机视觉算法,用于检测图像中的角点。该算法通过计算图像中每个像素的局部自相关矩阵,来判断该像素是否为角点。

角点检测算法的基本思想:

使用一个固定的小窗口在图像上进行任意方向的滑动,比较滑动前与滑动后两种情况,窗口中的像素灰度变化程度,如果存在任意方向上的滑动,都有着较大灰度变化(sobel算子,在图像的边缘检测中有详细解释),那么我们可以认为该窗口中存在角点。

1、Harris 角点检测(经典方法)

1. 原理

基于图像局部灰度变化,通过计算像素点在x/y 方向的梯度,构建结构张量矩阵(梯度自相关矩阵),再通过响应函数判断是否为角点:

角点指图像中局部区域与周围区域有较大灰度变化的点或像素。
cornerHarris(img, blockSize, ksize, k[, dst[, borderType]]) -> dst• img:单通道灰度图像(数据类型为 float32)。• blockSize: 计算角点时考虑的邻域大小(如 2 表示 2x2 邻域)。• ksize:Sobel 梯度计算的核大小(常用 3)。• k: 响应函数中的参数,影响角点检测的敏感度(k 越小,检测到的角点越多)。,取值参数为 [0.04,0.06]。dst:返回numpy.ndarray对象,大小和src相同,值越大,对应像素点是角的概率越高

 1、图片的读取以及灰度转换

img = cv2.imread('huanghelou.png')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

 2、检测角点,并对响应值进行阈值处理

dst = cv2.cornerHarris(gray,4,3,0.04)
# 标记检测到的角点
img[dst > 0.01 * dst.max()] = [0, 255, 0]
# 这里通过对角点响应进行阈值处理,标记出检测到的角点。
# 0.05 * dst.max() 是一个阈值,大于这个值的像素点会被标记为绿色。
cv2.imshow('img',img)
cv2.waitKey(0)

2、Shi-Tomasi 角点检测(Good Features to Track)

1. 原理

Harris 算法的改进版,直接利用矩阵 M 的最小特征值判断角点:

  • 若最小特征值大于阈值,则认为是角点(相比 Harris 更鲁棒,尤其在图像跟踪中表现更好)。
2. OpenCV 函数
corners = cv2.goodFeaturesToTrack(gray_img, maxCorners, qualityLevel, minDistance)
  • 参数
    • maxCorners:最多检测的角点数量(若角点数量超过,按响应值降序筛选)。
    • qualityLevel:角点质量阈值(0~1,值越小保留的角点越多,通常取 0.01~0.1)。
    • minDistance:角点之间的最小像素距离(避免密集角点)。
  • 输出:角点坐标数组(形状为 (N, 1, 2),N 为角点数量)。
3. 示例代码
import cv2
import numpy as npimg = cv2.imread('building.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# Shi-Tomasi角点检测
corners = cv2.goodFeaturesToTrack(gray, maxCorners=100, qualityLevel=0.01, minDistance=10)
corners = np.int0(corners)  # 转换为整数坐标# 绘制角点
for corner in corners:x, y = corner.ravel()cv2.circle(img, (x, y), 3, (0, 255, 0), -1)  # 绿色圆点标记cv2.imshow('Shi-Tomasi Corners', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

3、FAST 角点检测(快速角点检测)

1. 原理

基于像素灰度差异的高效角点检测算法,核心思想是:若某像素点与其周围 16 个像素中的 N 个(如 9 个)灰度差异足够大,则认为是角点(称为 FAST-9)。

  • 优点:速度极快,适合实时应用。
  • 缺点:对噪声敏感,需结合非极大值抑制(NMS)筛选角点。
2. OpenCV 函数
fast = cv2.FastFeatureDetector_create(threshold=10, nonmaxSuppression=True)
corners = fast.detect(gray_img, None)
  • 参数
    • threshold:灰度差异阈值(值越小,检测到的角点越多)。
    • nonmaxSuppression:是否启用非极大值抑制(建议设为 True,避免密集角点)。
  • 输出KeyPoint 对象列表,包含角点坐标、大小等信息。
3. 示例代码
import cv2img = cv2.imread('fast_corner.jpg', cv2.IMREAD_GRAYSCALE)# 创建FAST检测器
fast = cv2.FastFeatureDetector_create(threshold=10, nonmaxSuppression=True)# 检测角点
corners = fast.detect(img, None)# 绘制角点
img_color = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
cv2.drawKeypoints(img_color, corners, img_color, color=(0, 255, 0), flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)cv2.imshow('FAST Corners', img_color)
cv2.waitKey(0)
cv2.destroyAllWindows()

二、算法对比与选择

算法优点缺点适用场景
Harris经典方法,检测稳定计算量大,角点密集学术研究、全局角点检测
Shi-Tomasi跟踪效果好,抑制边缘响应依赖参数调优图像跟踪(如 LK 光流)
FAST速度极快,适合实时应用对噪声敏感,需 NMS实时系统(如无人机、机器人)

三、注意事项

  1. 输入图像预处理

    • 必须为单通道灰度图(彩色图需先转换为灰度图)。
    • 建议先进行高斯模糊降噪(如 cv2.GaussianBlur),减少噪声对角点检测的影响。
  2. 参数调优

    • qualityLevel(Shi-Tomasi)和 threshold(FAST)需根据图像对比度调整,避免检测到过多或过少角点。
    • minDistance 用于控制角点密度,避免相邻过近的角点。
  3. 角点响应可视化

    • Harris 的响应值需通过阈值(如全局最大值的 1%~5%)筛选后标记。
    • Shi-Tomasi 和 FAST 可直接通过坐标绘制角点。

总结

角点检测是图像特征提取的基础步骤,OpenCV 提供了从经典(Harris)到高效(FAST)的多种算法。选择时需结合场景需求:

  • 追求精度和稳定性:Shi-Tomasi(推荐用于跟踪任务)。
  • 追求速度:FAST(需配合 NMS 和降噪)。
  • 学术研究或通用场景:Harris(理解角点检测的数学原理)。 通过合理调整参数和预处理,可有效提升角点检测的效果,为后续计算机视觉任务奠定基础。

文章转载自:

http://RG9b9Qf7.jncxr.cn
http://XFFVo2up.jncxr.cn
http://FNg0ISMl.jncxr.cn
http://7PYTELkv.jncxr.cn
http://ZGbjbG5T.jncxr.cn
http://4FOV2df7.jncxr.cn
http://EkXjcJJi.jncxr.cn
http://ZrUPQDLQ.jncxr.cn
http://FcEOzUPj.jncxr.cn
http://us63ueFT.jncxr.cn
http://SqyQUeBB.jncxr.cn
http://bBHblxA5.jncxr.cn
http://xZyZFuoD.jncxr.cn
http://XvEzJgAu.jncxr.cn
http://9OSvAsYJ.jncxr.cn
http://IDMcezoS.jncxr.cn
http://0bIvtpRj.jncxr.cn
http://aFH8516J.jncxr.cn
http://r2SvEuAu.jncxr.cn
http://NmYMhLRo.jncxr.cn
http://YflZc1Xo.jncxr.cn
http://BnDnLGvS.jncxr.cn
http://NVh37ZsR.jncxr.cn
http://wRTr0YO5.jncxr.cn
http://0FazKNWD.jncxr.cn
http://flbBxgiz.jncxr.cn
http://TDgRRpvj.jncxr.cn
http://T7p6F7yU.jncxr.cn
http://bUzWMYq0.jncxr.cn
http://Hjnf1wHV.jncxr.cn
http://www.dtcms.com/wzjs/657301.html

相关文章:

  • 网站建设费计入哪个科目2018年靖边建设项目招投标网站
  • 网站建设后台实训体会自考大专报名官网入口
  • 网站备案怎么做高端公司网站
  • 搭建 网站 模版百度互联网公司邯郸分公司
  • 如何做行业平台网站武威建设厅网站
  • 公司定制网站建设公司制作企业网站的目的
  • 怎么做关不掉的网站word 发布到wordpress
  • 网站建设案例典型企业案例合肥网站建设公司排名
  • 学php做网站网上建立网站
  • 房屋装修网站模板wordpress增加用户
  • 长沙有哪些知名网站免费做网站凡科
  • 网站建设前言网站asp设计作品
  • 著名网红公司开业seo优化技术教程
  • 网站建设都包括哪些餐饮设计公司名字
  • 厦门哪里有做网站263企业邮箱报价
  • 常青花园做网站的公司网站开发培训程序员
  • wap php网站源码wordpress列表页面访问时间太长
  • ai写作网站中国最新军事新闻
  • wordpress导入网站外包网
  • 东营建设信息网站做一个网站最低多少钱
  • 广州建站公司有哪些wordpress后台更新等待响应
  • 什么是flash网站网页设计图片素材小插件
  • 怎么做网站计划帮别人做视频剪辑的网站
  • 郑州怎么做网站排名网站网络推广优化
  • 女装网站建设计划书go语言 网站开发
  • 厦门旋挖建筑公司网站深圳网站网络推广公司
  • 站长统计代码酒店网络营销方案ppt
  • 城市建设网站的项目背景深圳互联网公司50强
  • 怎么做系统网站js网站开发工具
  • 佛山网站建设与设计公司轻淘客cms建站教程