1-21 角点检测 opencv树莓派4B 入门系列笔记

目录

一、提前准备

二、代码详解

三、运行现象

四、完整工程贴出


一、提前准备

1、树莓派4B 及 64位系统

2、提前安装opencv库 以及 numpy库

3、保存一张图片

二、代码详解

python 复制代码
import cv2

img = cv2.imread('jihe.jpg')
# 角点检测需要转换为灰度图
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 角点检测  
dst = cv2.cornerHarris(img_gray, 4, 3, 0.04)
# 每个点得到的结果值大于最大角点值的0.01倍,即认为该点为角点,并用[0, 0, 255]红色绘制出
img[dst > 0.01 * dst.max()] = [0, 0, 255]
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows() 

cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

这个函数用于转换图像的颜色空间。在这里,它将原始图像(通常是BGR格式)转换为灰度图。灰度图只有一个颜色通道,这在许多图像处理任务中是必要的,因为它们不需要处理颜色信息。

cv2.cornerHarris(img_gray, 4, 3, 0.04)

这是Harris角点检测算法的实现。它接受四个参数:

img_gray:输入的灰度图像。

0.04:Harris检测器的自由参数,用于调整角点响应函数的灵敏度。这个函数会返回一个与输入图像大小相同的响应图,图中的每个像素值表示该位置成为角点的可能性。

3:Sobel算子的孔径大小,用于计算图像的梯度。

4:角点检测的区块大小,即每个角点周围的邻域大小。

img[dst > 0.01 * dst.max()] = [0, 0, 255]

这行代码是在响应图dst上进行阈值操作,以确定角点的位置。它将响应图中大于其最大值的0.01倍的像素点设置为红色(BGR格式中的0, 0, 255)。

这意味着只有响应值足够高的点才会被认为是角点,并在原始图像上用红色标记。

三、运行现象

四、完整工程贴出

持续更新中......

相关推荐
墨舟的AI笔记1 小时前
React 组件库的 Tree Shaking:按需加载与副作用的工程化治理
人工智能
WoooChi2 小时前
DailyTech-20260724
人工智能·科技·业界资讯
zh路西法2 小时前
【CAM Grad-CAM Grad-CAM++】深度学习模型可解释性:从原理到YOLOv8部署实战
人工智能·深度学习·yolo·yolov8·grad-cam·cam
雨辰AI2 小时前
全集实战:企业级大模型服务化部署全栈指南|FastAPI 封装 + Nginx 负载均衡 + 高可用架构 从单机到生产一步到位
人工智能·ai·负载均衡·fastapi·ai编程
触底反弹2 小时前
Vibe Coding 不写 Git,等于悬崖边飙车
人工智能·git·面试
咖啡屋和酒吧3 小时前
健康管理:现代生活的科学守护
人工智能·生活·精选
星栈独行3 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
2601_954526753 小时前
【工业传感与算法实战】温漂补偿与零点抗漂破局:基于二阶多项式拟合的 C/C++ 边缘校准算法,深度拆解“压力变送器什么牌子好”的技术硬指标
c语言·c++·算法
没有梦想的咸鱼185-1037-16633 小时前
AI-Python机器学习与深度学习技术:CNN/Transformer/扩散模型、SHAP可解释及Hermes智能体自动化
人工智能·python·深度学习·机器学习·chatgpt·cnn·transformer
船漏了就会沉3 小时前
Kimi K3 vs DeepSeek-V4:国产大模型的技术路线之争
人工智能