机器视觉——找到物块中心点

2024-06-05 00:36

本文主要是介绍机器视觉——找到物块中心点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先先介绍一下我用的是HALCON中的HDevelop软件。

大家下载好软件后可以测试一下:

在程序编辑器窗口中输入下面指令:

read_image(Image,'monkey')

那么如果出现这样的图片,说明是没有问题的

那么本次编程采用的是下面这张图片

我们要达到的效果是这样的

其实代码很简单,我不过多说明

*读图
*以相对路径方式
*这里的代码叫算子
read_image(Image,'./img/1')
*通道分解  将多通道原图分解成RGB单通道灰度图像
*灰度值范围:0-255  灰度值越大,像素点越亮;反之,则越暗
decompose3(Image,R,G,B)*阈值分割  阈值:灰度值区间【44, 255】
*对R通道图像上的所有像素点灰度值进行判断
*只要灰度值区间在【44, 255】内的像素点,就会被激活区域
*最终所有找出来的区域,都被放在区域Regions
*操作对象:图像R(有像素点)-》Regions(无像素点)
*颜色不是区域的特征
threshold (R, Regions, 44, 255)*上一步由阈值分割得到的区域,其连通性为一个整体
*连通域打散(破坏连通性)
connection(Regions,ConnectedRegions)
*特征筛选(利用面积特征对ConnectedRegions进行筛选得到目标区域)
*目标区域也称感兴趣区域(ROI)
*ROI:Region of interesting
select_shape(ConnectedRegions,SelectedRegions,\'area','and',170000,180000)*填充ROI上的孔洞
fill_up(SelectedRegions,RegionFillUp)
*获取填充后的目标区域的中心点行列坐标
area_center(RegionFillUp,Area,Row,Column)
*利用上一步获得的行列坐标值,绘制中心十字(亚像素轮廓)
*中心十字80:像素值  Π/4=0.785398,旋转45度
gen_cross_contour_xld(Cross,Row,Column,80,0)**可视化**
*清空窗口
dev_clear_window()
*展示原图
dev_display(Image)
*对区域以及亚像素轮廓进行显示的预设值
*1、设置显示的颜色
dev_set_color('green')
*2、设置线宽
dev_set_line_width(5)
*3、设置区域显示为“仅轮廓”显示
dev_set_draw('margin')*展示亚像素轮廓(中心十字)
dev_display(Cross)
*展示目标区域
dev_display(RegionFillUp)
*设置字体
*3600:窗口句柄
set_display_font(3600, 16, '楷体', 'true', 'false')*展示文字信息
*disp_message(3600, '中心点坐标:('+Row+','+Column+')',\'image', 0, 0, 'red', 'true')
disp_message(3600, '中心点坐标:('+Row+','+Column+')',\'image', Row, Column, 'red', 'true')

这篇关于机器视觉——找到物块中心点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1031572

相关文章

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降

1️⃣线性回归(linear regression) f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b​(x)=wx+b 🎈A linear regression model predicting house prices: 如图是机器学习通过监督学习运用线性回归模型来预测房价的例子,当房屋大小为1250 f e e t 2 feet^

【机器学习-一-基础概念篇】

机器学习 定义分类算法 应用 定义 机器学习最早是被Arthur Samuel 提出的一个概念,指计算机无需明确编程即可学习的研究领域。1950年他发明的跳棋程序,这个人机对弈游戏让他的声名鹊起,机器学习这个概念才进入大众的是视线。 在这个跳棋程序里,他编程了一种算法,这个程序与Arthur下了数万次跳棋,计算机逐渐学会了下在哪里有更大的可能会赢得比赛,哪里会输,通过这种方法,最

机器学习之监督学习(三)神经网络

机器学习之监督学习(三)神经网络基础 0. 文章传送1. 深度学习 Deep Learning深度学习的关键特点深度学习VS传统机器学习 2. 生物神经网络 Biological Neural Network3. 神经网络模型基本结构模块一:TensorFlow搭建神经网络 4. 反向传播梯度下降 Back Propagation Gradient Descent模块二:激活函数 activ

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.