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

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

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

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

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

前言

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

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


一、角点特征相关概念

1.1 特征定义

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

1.2 图像的特征

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

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

1.3 角点的定义

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

二、环境搭建

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角点检测

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
image.png

参数说明:

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

【结果】

image.png

四、项目源码

项目源码下载:https://download.csdn.net/download/virobotics/87771652


总结

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

如果有问题可以在评论区里讨论,提问前请先点赞支持一下博主哦,如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群:705637299。进群请备注:LabVIEW机器视觉

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

目录
相关文章
|
3月前
|
机器学习/深度学习 人工智能 算法
基于机器视觉的害虫种类及计数检测研究-人工智能项目-附代码
基于机器视觉的害虫种类及计数检测研究-人工智能项目-附代码
43 0
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
springboot基于人工智能和自然语言理解技术的医院智能导医系统源码
智能导诊系统可为患者提供线上挂号智能辅助服务,患者根据提示手动输入自己的基本症状,通过智能对话方式,该系统会依据大数据一步步帮助患者“诊断”,并最终推荐就医的科室和相关专家。患者可自主选择,实现“一键挂号”。这一模式将精确的导诊服务前置,从源头上让医疗服务更高效。
373 2
|
29天前
|
数据采集 存储 人工智能
全套医院手术麻醉系统源码 人工智能麻醉系统源码 医疗管理系统源码
手术麻醉临床信息系统有着完善的临床业务功能,能够涵盖整个围术期的工作,能够采集、汇总、存储、处理、展现所有的临床诊疗资料。通过该系统的实施,能够规范麻醉科的工作流程,实现麻醉手术过程的信息数字化,自动生成麻醉的各种医疗文书,完成共享HIS、LIS、PACS和EMR等手术患者信息,从而提高麻醉、手术工作的管理水平。
20 2
|
9月前
|
机器学习/深度学习 人工智能 算法
使用LabVIEW AI视觉工具包快速实现SIFT特征检测(含源码)
使用LabVIEW AI视觉工具包快速实现SIFT特征检测(含源码)
96 0
|
5月前
|
人工智能 自然语言处理 Python
人工智能生成文本检测在实践中使用有效性探讨
人工智能辅助撰写文章的技术现在无处不在!ChatGPT已经解锁了许多基于语言的人工智能应用程序,人工智能在任何类型的内容生成中的使用都已经达到了以前前所未有的高度。
45 2
|
5月前
|
人工智能 监控 物联网
基于物联网、大数据、云计算、人工智能等技术的智慧工地源码(Java+Spring Cloud +UniApp +MySql)
基于物联网、大数据、云计算、人工智能等技术的智慧工地源码(Java+Spring Cloud +UniApp +MySql)
687 1
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
【Java】人工智能交互智慧导诊系统源码
【Java】人工智能交互智慧导诊系统源码
42 0
|
5月前
|
机器学习/深度学习 传感器 人工智能
【智慧工地源码】:人工智能、BIM技术、机器学习在智慧工地的应用
【智慧工地源码】:人工智能、BIM技术、机器学习在智慧工地的应用
48 0
|
5月前
|
人工智能 监控 Java
Java数字化智慧工地管理云平台源码(人工智能、物联网、大数据)
Java数字化智慧工地管理云平台源码(人工智能、物联网、大数据)
83 0
|
9月前
|
人工智能 移动开发 搜索推荐
人工智能手段为依托的智慧导诊系统源码,提供智能分诊、问病信息等服务
智慧导诊页面会显示男性或女性的身体结构图,可切换正面/背面。通过点击部位选项,选择自己身体不适的部位,系统会列出该部位的所有症状疾病,患者只需要选择与自己相同的症状,系统就会列出该疾病的介绍以及建议科室。

热门文章

最新文章