图像处理——Harris角点检测算法原理
目录
- 一 特征检测算法
- 二 特征定义
- 三 Harris检测角点特征
- 四 Harris检测原理
- 1、灰度变化描述
- 2、E(u,v)E(u,v)值,一般取0.04~0.06;
- borderType:像素插值方法;
函数 cornerHarris 对输入图像进行 Harris 边界检测。输出是一幅浮点值图像,大小与输入图像大小相同,浮点值越高,表明越可能是特征角点(我们可以对图像进行阈值化)。
# -*- coding: utf-8 -*- """ Created on Mon Aug 20 20:17:34 2018
@author: lenovo
“”"
‘’’
Harris角点检测
‘’’
import cv2
import numpy as np
img = cv2.imread(’./image/cali.bmp’)
img = cv2.resize(img,dsize=(600,400))
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
#角点检测 第三个参数为角点检测的敏感度,其值必须介于3~31之间的奇数
dst = cv2.cornerHarris(gray,3,23,0.04)
print(dst.shape) #(400, 600)
img[dst>0.01*dst.max()] = [0,0,255]
cv2.imshow(’’,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下:
如果我们把第三个参数改为3:,可以看到:
四 Harris检测原理
上面我们已经通过实例演示了Harris检测的效果,相信你对Harris角点检测已经有了初步的认识。这里我将带你深入了解Harris角点检测的原理。
我们先来看一幅图片,了解一下什么是角点?
上图中E,F中的角我们通常称作角点(corner points),他们具有以下特征:
- 轮廓之间的交点;
- 对于同一场景,即使视角发生变化,通常具备稳定性质的特征;
- 该点附近区域的像素点无论在梯度方向上还是其梯度幅值上有着较大变化;
harris特征角最早在paper A Combined Corner and Edge Detector中被Chris Harris & Mike Stephens提出。
Harris角点检测的基本思想:算法基本思想是使用一个固定窗口在图像上进行任意方向上的滑动,比较滑动前与滑动后两种情况,窗口中的像素灰度变化程度,如果存在任意方向上的滑动,都有着较大灰度变化,那么我们可以认为该窗口中存在角点。
1、灰度变化描述
当窗口发生[u,v][u,v]
图像处理——Harris角点检测算法原理相关推荐
- 【机器视觉学习笔记】Harris 角点检测算法(C++)
目录 原理 算法步骤 优缺点 源码 效果 原图 输出 平台:Windows 10 20H2 Visual Studio 2015 OpenCV 4.5.3 本文摘自2.Harris角点检测算法 -- ...
- Harris角点检测算法优化
Harris角点检测算法优化 一.综述 用 Harris 算法进行检测,有三点不足:(1 )该算法不具有尺度不变性:(2 )该算法提取的角点是像素级的:(3 )该算法检测时间不是很令人满意. 基于以上 ...
- harris角点检测算法实现
算法流程: 1.将图像转换为灰度图像: 2.利用Sobel滤波器求出 海森矩阵 (Hessian matrix) : 3.将高斯滤波器分别作用于Ix².Iy².IxIy: 4.计算每个像素的 R= d ...
- Harris角点检测算法
Harris角点检测算法 一.算法原理 二.代码 三.运行结果与分析 (一)纹理.角点丰富场景 (二)纹理平坦场景 (三)垂直或水平边缘多场景 四.总结 PS:为了消除参数k的影响,也可采用商来计算响 ...
- Harris角点检测算法手动实现
算法流程: 将图像转换为灰度图像 利用Sobel滤波器求出 海森矩阵 (Hessian matrix) : 将高斯滤波器分别作用于Ix².Iy².IxIy: 计算每个像素的 R= det(H) - k ...
- python 角点检测_python实现Harris角点检测算法
算法流程: 将图像转换为灰度图像 利用Sobel滤波器求出 海森矩阵 (Hessian matrix) : 将高斯滤波器分别作用于Ix².Iy².IxIy 计算每个像素的 R= det(H) - k( ...
- python 角点检测_python 实现Harris角点检测算法
算法流程: 将图像转换为灰度图像 利用Sobel滤波器求出 海森矩阵 (Hessian matrix) : 将高斯滤波器分别作用于Ix².Iy².IxIy 计算每个像素的 R= det(H) - k( ...
- 计算机视觉(二)HARRIS角点检测算法与SIFT
文章目录 前言 一.HARRIS角点检测算法 1.什么是角点(corner points) 2.角点检测算法的基本思想 3.什么是好的角点检测算法 4.角点特征的数学刻画 5.度量角点响应 6.HAR ...
- python 图像处理 角点检测算法 Harris和Shi-tomasi
一.使用opencv库调用实现编写Harris和Shi-tomasi算法 最主要函数为: cv2.cornerHarris() cv2.goodFeaturesToTrack() 代码中注释有介绍其用 ...
最新文章
- Android Studio 第五十期 - 自定义TabLayout
- c linux time微秒_学习linux,看这篇1.5w多字的linux命令详解(6小时讲明白Linux)
- 基于face_recognition 人脸识别系统安装实现说明书
- 还有Html.EditorFor和Html.Html.TextBox到底差什么呢
- ASP.NET MVC Caching with OutputCache
- b站电脑客户端_B站(哔哩哔哩) 视频批量下载工具#电脑版##更新
- 2017下半年网络规划设计师考试下午真题
- JSK-383 是否闰年(课后)【入门】
- paddlepaddle的使用
- 转:CRC校验之模2除法
- [渝粤教育] 三江学院 财务管理 参考 资料
- 乘大潮而崛起,浪潮云洲大有可为
- 关于BigDecimal.ROUND_HALF_EVEN银行家算法
- 【Python/Pytorch - Bug】-- TypeError: type numpy.ndarray doesn‘t define _round method
- 基于struts2 拦截器ResultType为chain的Action之间数据传递 ——表单页面打开优化
- 技术是把双刃剑,需要好好保管
- 服务计算作业二——GO语言TDD实践报告
- c# rar解压大小_C#解压RAR压缩文件
- 使用Flutter开发的抖音国际版
- ise17.4 版本的安装
热门文章
- MySQL插入中文数据时报错:Incorrect string value: ‘\xC8\xFD\xCC\xE5‘ 解决方案
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcc in position 53: invalid continuation byte报错
- 趣来宝机器人_App Store 上的“管家机器人”
- 一般柱子与柱子的距离_建筑内部布置柱子 间距大概是多少?
- 软件工程SWEBOK所包含的10个领域以及每个领域所做的事情
- 2020年中国丙烯产能产量、进出口及需求现状分析,“十四五”进口缺口将继续缩小「图」
- manifest.json不能随意删除
- Git 新建分支出现报错:“fatal: Not a valid object name: ‘master‘.“
- 【Web技术】1130- 有趣的二维码
- 软件开发书籍-Python Qt GUI与数据可视化编程