通过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) 的差值大的话,那他就是个角点

相关推荐
天诰4 分钟前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
中烟创新29 分钟前
中烟创新×某电力公司 | AI大模型重构电力合规反事故演习
人工智能·重构
陈嘿萌1 小时前
TIP 2026 | 不再混成一张! RealFusion从模态不变性重想图像融合
图像处理·人工智能·深度学习·计算机视觉·学术研究与理论基础
正在走向自律2 小时前
AI Agent 落地这一年:从“能跑起来”到“敢放出去”
大数据·人工智能·ai agent·智能体·mcp·a2a
不惑_2 小时前
理解启元,从论文开始,RT-2 55B 只有 1~3Hz,OpenVLA 7B 反而高 16.5%——三代 VLA 论文解读,动作表示才是分水岭
人工智能·论文解读
IT_陈寒2 小时前
Redis内存暴涨,没想到是AOF重写捣的鬼
前端·人工智能·后端
楚山之石2 小时前
【JCO】mpMRI 先行替代 TURBT 初始分期:BladderPath 随机试验让 MIBC 患者提前 45 天得到正确治疗
人工智能·学习·mri·医学影像
AI视频工具指南3 小时前
用 AI 能做哪些视频?按想交付的作品选做法
人工智能·aigc·音视频
武天旭3 小时前
AI安全--AI大模型的对抗样本攻击与防御解析
人工智能·深度学习·安全·机器学习
shijuejianceliu3 小时前
传统规则视觉与嵌入式AI智能相机的技术差异
人工智能·嵌入式硬件·视觉检测·相机