手把手教你使用LabVIEW人工智能视觉工具包快速实现Harris角点检测(含源码)

‍‍🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主

🍻本文由virobotics(仪酷智能)原创首发

🥳欢迎大家关注✌点赞👍收藏⭐留言📝

前言

Hello,大家好,我是virobotics(仪酷智能),一个深耕于LabVIEW和人工智能领域的开发工程师。

本文将带领大家一起在LabVIEW中实现Harris角点检测。


一、角点特征相关概念

1.1 特征定义

什么是特征呢?为什么一副图像的某个特定区域可以作为一个特征,而其他区域不能呢?粗略的讲,特征就是有意义的图像区域,该区域具有独特特征和易于识别性。因此角点及高密度区域都是很好的特征,而大量重复的模式或低密度区域(例如图像中的蓝色天空)则不是很好的特征。边缘可以将图像分为两个区域,因此也可以看做好的特征。斑点是与周围有很大差别的像素区域,也是有意义的特征。

1.2 图像的特征

图像特征要有区分性,容易被比较。一般认为角点,斑点等是较好的图像特征。 如下图所示,蓝色框中的区域是一个平面很难被找到和跟踪。无论向哪个方向移动蓝色框,都是一样的。对于黑色框中的区域,它是一个边缘。如果沿垂直方向移动,它会改变。但是如果沿水平方向移动就不会改变。而红色框中的角点,无论你向那个方向移动,得到的结果都不同,这说明它是唯一的。 所以,我们说角点是一个好的图像特征。

角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。角点在三维场景重建运动估计,目标跟踪、目标识别、图像配准与匹配等计算机视觉领域起着非常重要的作用。在现实世界中,角点对应于物体的拐角,道路的十字路口、丁字路口等。那我们怎样找到这些角点呢?我们一起来看看

1.3 角点的定义

下图中E,F中的角我们通常称作角点(corner points),他们具有以下特征: • 轮廓之间的交点; • 对于同一场景,即使视角发生变化,通常具备稳定性质的特征; • 该点附近区域的像素点无论在梯度方向上还是其梯度幅值上有着较大变化;

二、环境搭建

2.1 部署本项目时所用环境

  • 操作系统:Windows10
  • python:3.6及以上
  • LabVIEW:2018及以上 64位版本
  • AI视觉工具包:techforce_lib_opencv_cpu-1.0.0.98.vip

2.2 LabVIEW工具包下载及安装

三、 程序实现Harris角点检测

3.1 原理

Harris角点检测的算法思想是:选取一个固定的窗口在图像上以任意方向的滑动,如果灰度都有较大的变化,那么就认为这个窗口内部存在角。如下图所示:

3.2 python实现Harris角点检测

python 复制代码
import cv2
import numpy as np 


img = cv2.imread('1.jpg') #读取图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#转换成灰度图像

# 输入图像必须是 float32
gray = np.float32(gray)

# 第三个参数为角点检测的敏感度,其值必须介于3~31之间的奇数
# 最后一个参数在 0.04 到 0.06 之间
dst = cv2.cornerHarris(gray,2,3,0.04)

# 设置阈值,将角点绘制出来,阈值根据图像进行选择
img[dst>0.001*dst.max()] = [0,0,255]

cv2.imshow("harris",img)
cv2.waitKey (0)  #等待一定时间,让显示内容可以被看到
cv2.destroyAllWindows()  #关闭所有显示框
 

3.3 LabVIEW中实现Harris角点检测

在LabVIEW中实现Harris检测使用的API是:cornerHarris.vi

参数说明:

  • src:数据类型为 float32 的输入图像。
  • blockSize:角点检测中要考虑的邻域大小。
  • ksize:sobel求导使用的核大小
  • k :角点检测方程中的自由参数,取值参数为 [0.04,0.06]. 【程序harris_corner.vi】 【结果】

四、项目源码

项目源码下载:download.csdn.net/download/vi...


总结

以上就是今天要给大家分享的内容,希望对大家有用。如有笔误,还请各位及时指正。欢迎大家关注博主。我是virobotics(仪酷智能),我们下篇文章见~

如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群:705637299。进群请备注:LabVIEW机器视觉

如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏、👍订阅专栏

相关推荐
eric-sjq4 分钟前
基于xiaothink对Wanyv-50M模型进行c-eval评估
人工智能·python·语言模型·自然语言处理·github
是十一月末14 分钟前
机器学习之KNN算法预测数据和数据可视化
人工智能·python·算法·机器学习·信息可视化
工业互联网专业18 分钟前
基于OpenCV和Python的人脸识别系统_django
人工智能·python·opencv·django·毕业设计·源码·课程设计
ai产品老杨1 小时前
报警推送消息升级的名厨亮灶开源了。
vue.js·人工智能·安全·开源·音视频
智源研究院官方账号1 小时前
智源研究院与安谋科技达成战略合作,共建开源AI“芯”生态
人工智能·开源
积兆科技1 小时前
从汽车企业案例看仓网规划的关键步骤(视频版)
人工智能·算法·汽车·制造
Robot2511 小时前
「地平线」副总裁余轶南与「理想汽车」智驾产品总监赵哲伦联手创业,入局具身智能赛道!
大数据·人工智能·机器人·汽车
智能汽车人1 小时前
行业分析---造车新势力之零跑汽车
人工智能·自动驾驶·汽车
山顶夕景1 小时前
【ML】机器学习中常见的25个数学公式
人工智能·数学·机器学习
Crossoads1 小时前
【汇编语言】外中断(一)—— 外中断的魔法:PC机键盘如何触发计算机响应
android·开发语言·数据库·深度学习·机器学习·计算机外设·汇编语言