当前位置: 首页 > article >正文

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

目录

一、提前准备

二、代码详解

三、运行现象 

四、完整工程贴出


一、提前准备

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

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

        3、保存一张图片

二、代码详解

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])。

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

三、运行现象 

四、完整工程贴出

持续更新中……


http://www.kler.cn/a/298536.html

相关文章:

  • HarmonyOS鸿蒙开发 弹窗及加载中指示器HUD功能实现
  • 大数据技术 指令笔记1
  • 什么是网络安全攻防演练,即红蓝对抗?
  • 33.3K 的Freqtrade:开启加密货币自动化交易之旅
  • 如何隐藏 Nginx 版本号 并自定义服务器信息,提升安全性
  • 快速入门Spring Cloud Alibaba,轻松玩转微服务
  • 智能语音交互:人工智能如何改变我们的沟通方式?
  • 还不知道MES和PLC咋通信?5分钟看懂
  • [Redis] Redis中的String类型
  • 创新生态,共赢未来——数字媒体园区构建产业链协同新模式
  • 【前端】笔试题目整理(知识点)
  • 结构型设计模式—组合模式
  • Java学习路线图,助你成为开发高手
  • Windows子系统Ubuntu安装MySQL及windows的navicate连接
  • Midjourney提示词——黑神话悟空角色生成提示词!
  • Python框架Pandas:DataFrame的应用
  • 2024年【上海市安全员C证】考试题库及上海市安全员C证报名考试
  • 经验笔记:框架(Framework)与库(Library)
  • div内英文不换行问题以及解决方案
  • 深入解析 Docker exec 命令
  • 2-2 opencv实战进阶系列 多边形识别
  • Mac M1安装Hive
  • 大数据-121 - Flink Time Watermark 详解 附带示例详解
  • NX二次开发—实体名称工具
  • ping命令解析
  • 掌握Go语言的流程控制:构建逻辑与决策的基石