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

相关推荐
蜡台22 分钟前
大模型算力下放客户端:浏览器/本地设备全落地方案解析
人工智能·ai
冬奇Lab32 分钟前
开源项目第191期:gstack — YC CEO Garry Tan 开源的 AI 虚拟工程团队,23 个专家角色 slash command,从产品构思到上线发布的完整研发流程
人工智能·开源·资讯
冬奇Lab1 小时前
企业知识库系列(03):图增强 RAG 实测——GraphRAG vs HippoRAG
人工智能
MomentYY1 小时前
RAG 索引维护:文档改了,知识库要不要重建?
人工智能·agent·ai编程
土星云SaturnCloud1 小时前
产线SOP动作级AI监管方案:土星云SE110S-WC8赋能合规识别、预警与效率分析
大数据·服务器·人工智能·ai·边缘计算
乐之者v2 小时前
AI人工智能--DeepSeek Harness的安装
人工智能·ai
ai产品老杨2 小时前
边缘计算盒子部署常见问题和排查清单
人工智能·边缘计算
问天_观心2 小时前
零基础在windows环境下的WSL使用llamafactory(二)
人工智能·神经网络·语言模型·github·模型蒸馏
牛企老板俱乐部2 小时前
广东机器人结构验证手板产业格局:深圳珠海东莞三城分析
大数据·人工智能