通过Opencv进行角点检测

目录

引入

介绍

①使用的主要函数介绍

②实际例子解释

③自相似性是什么?


引入

我们想要获取图片上的角点,就要用到我们的harris角点检测

介绍

①使用的主要函数介绍

cv2.cornerHarris()

  • img: 数据类型为 float32 的入图像

不是float32的数据要使用,np.float32()转换为float32

  • blockSize: 角点检测中指定区域的大小

指定检测框的区域大小

  • ksize: Sobel求导中使用的窗口大小 一般设置为3即可,即表示为3x3大小的

Sobel求导中使用的窗口大小就是使用sobel算子进行边缘检测那个,是这样的:

sobel算子 x 原始图像 = 边缘图像

  • k:判断时候的比例系数 设为 0.04~0.06都可以

②实际例子解释

我们对如下图片进行角点检测

代码:

python 复制代码
import cv2
import numpy as np

img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# gray = np.float32(gray)
dst = cv2.cornerHarris(gray, 2, 3, 0.04)

img[dst>0.01*dst.max()]=[0,0,255]
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

可能疑惑点解释:

imgdst\>0.01\*dst.max()=0,0,255

整体过程(主要在于自相似性):

dst为我们计算完的所有点,将它和dst里面最大值的0.01倍进行比较(因为最大值肯定是个角点自相似性),

如果大于了表明可能是个角点,我们把它的颜色设置为0,0,255红色画出来

结果


③自相似性是什么?

自相似性公式:

总体来说就是判断差异大不大,和边界检测有点类似:

I(u,v) - I(u + x, v + y) 的差值大的话,那他就是个角点

相关推荐
打工仔折腾 AI5 分钟前
从Attention到BERT:双向预训练语言模型到底解决了什么问题
人工智能·后端·python·深度学习·语言模型·bert
正经教主7 分钟前
【FDE系列】阶段3:Day 56:评测体系入门 — 建立你的黄金评测集
人工智能·fde
鲲穹AI种草9 分钟前
自媒体矩阵批量剪辑怎么选?鲲剪短视频批量处理工具横向评测
人工智能·音视频·媒体
shoufeipin90hou26 分钟前
光选机的“除尘与风选“配套边界:分选精度上不去,可能问题不在相机
数码相机·计算机视觉
正经教主38 分钟前
【FDE系列】阶段3:Day 58:Prompt 安全 — 注入、越狱与防护
网络·人工智能·安全·prompt·fde
TechEdu2026061 小时前
[人工智能]Python09:numpy.random.Statistics统计实战指南
人工智能·numpy
可乐ea1 小时前
AI Agent 工具调用准确性评测:选择错误与参数错误分开测
大数据·人工智能·算法·大模型·工具调用·ai智能体·agent评测
昨日之日20061 小时前
yovoice:本地配音工具箱,支持音色克隆与情绪控制,专为旁白、有声书和视频配音打造
人工智能·音视频
DP DPharness1 小时前
选型时怎么比:dsh-knowledge 与三类 RAG 方案的维度对照
人工智能·dpharness
数智顾问1 小时前
(90页PPT)IBM集团管理驾驶舱项目蓝图规划(附下载方式)
大数据·人工智能·物联网