halcon学习之基于灰度的特征提取
这节主要介绍通过灰度进行特征的选择和提取,基于区域特征进行提取的估计大家都会,这里不再细说,本节通过灰度提取针对某些场合会很有用,例如在三维类的视差图进行处理时,这方面用的是比较多的,废话不多说,下面开始:
*主要介绍是基于灰度进行提取特征的算法,其实更多的是使用区域方法,大家应该和熟悉了,这里只介绍
*通过灰度的使用。
*gray_features(Regions, Image : : Features : Value)
*该算子是用于计算指定区域的灰度特征值,其输入是一组区域,每个区域的特征都存储在一组value数组中
*典型的基于灰度值的特征如下:
*area、row、colum、ra、rb、phi、min、maxread_image (Image, 'F:/机器视觉/Halcon机器视觉算法原理与编程实战/code/code/data/disparity.jpg')*1.区域的灰度特征值
threshold (Image, Regions, 1, 255)
*提取灰度最小值和最大值
gray_features (Regions, Image, 'min', Value)
gray_features (Regions, Image, 'max', Value1)
*输出是:
*Value=1.0
*Value1=255.0*2.区域的最大和最小灰度值
*也可以使用min_max_gray,把参数Percent设置为0,结果和gray_features相同
*该算子的可以得到想要的区间的灰度值,然后进行后续处理,如进一步分割或者求深度
min_max_gray (Regions, Image, 0, Min, Max, Range)
min_max_gray (Regions, Image, 5, Min1, Max1, Range1)
*Min=1.0
*Max=255.0
*Range=254
*Min=39.0
*Max=187.0
*Range1=148*3.灰度的平均值和偏差
*intensity用于计算单张图像上多个区域的灰度平均值和偏差
intensity (Regions, Image, Mean, Deviation)
*Mean=81.9698
*Deviation=48.974*4.灰度区域的面积和中心
*主要算子是area_center_gray,该算子和area_center算子很类似,但是不同的是
*area_center_gray图像的灰度值可以理解为图像的高度,其面积可以理解为图像的体积,每个灰度的图像
*可以理解为点的质量,计算得到的中心是图像区域的重心。
area_center_gray (Regions, Image, Area, Row, Column)
*Area=7.32048e+006
*Row=102.693
*Column=178.468*5.根据灰度特征值选择区域
read_image (Image1, 'F:/机器视觉/Halcon机器视觉算法原理与编程实战/code/code/data/village')rgb1_to_gray (Image1, GrayImage)
median_image (GrayImage, ImageMedian, 'circle', 2, 'mirrored')
threshold (ImageMedian, Regions1, 180, 255)
opening_circle (Regions1, RegionOpening, 6.5)
connection (RegionOpening, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 5000, 20000)
*获取这些区域的平均值和偏差,因为湖面的灰度变换很小,因此偏差会很小
intensity (SelectedRegions, ImageMedian, Mean1, Deviation1)
select_gray (SelectedRegions, ImageMedian, SelectedRegions1, 'deviation', 'and', 0, 9.188)
dev_display (GrayImage)
dev_display (SelectedRegions1)
halcon学习之基于灰度的特征提取相关推荐
- 基于Halcon学习的基于灰度值模板匹配【一】exhaustive_match.hdev例程
* 模板与图像的匹配 read_image (Image, 'fabrik') gen_rectangle1 (Rectangle, 365, 300, 390, 330) *将图像的定义域缩小为创建 ...
- Halcon 学习总结——基于动态阈值法、GMM(高斯混合模型)、SVM(支持向量机)的网状物缺陷检测
- 基于Halcon学习的基于形状模板匹配【一】find_scaled_shape_model.hdev例程
套路: (1)读取图片 (2)Blob分析/直接ROI抠图 (3)创建模板 create_scaled_shape_model() (4)匹配模板 find_scaled_shape_model() ...
- 基于Halcon学习的缺陷检测【四】光伏电池片的指纹以及划痕检测【第一种方法】
此例子主要是为了把光伏电池片的指纹以及划痕标注出来. 总代码: *读取图片 read_image (Image, 'E:/研究生学习/电池片练习/手指印/截图.png') *清除窗口 dev_cle ...
- 基于Halcon学习的缺陷检测【五】光伏电池片的指纹以及划痕检测【第二种方法】
此例子主要是为了把光伏电池片的指纹以及划痕标注出来. 总代码: *读取图片 read_image (Image, 'E:/研究生学习/电池片练习/手指印/截图.png')*清除窗口 dev_cle ...
- 基于深度学习的Person Re-ID(特征提取)
一. CNN特征提取 通过上一篇文章的学习,我们已经知道,我们训练的目的在于寻找一种特征映射方法,使得映射后的特征 "类内距离最小,类间距离最大",这种特征映射 可以看作是 空间投 ...
- HALCON学习之旅(七)
HALCON学习之旅(七) 文章目录 HALCON学习之旅(七) 1.MFC与Halcon混合编程 2.C#与Halcon混合编程 3.Halcon测量助手使用 4.Halcon实例进阶一(拟合区域椭 ...
- bp 神经网络 优点 不足_【学术论文】基于灰度共生矩阵和BP神经网络的乳腺肿瘤识别...
摘要 乳腺肿瘤是女性病发率极高的一种肿瘤疾病, 但也是一种可以通过早期确诊.提早治疗来降低病死率的一种疾病.提出灰度共生矩阵结合BP神经网络的方法, 提高乳腺肿瘤的识别率.首先将红外乳腺图像进行预处理 ...
- MFC与Halcon混合编程--基于相关性的模板匹配
文章目录 前言 一.基于相关性的模板匹配 二.基于相关性的模板匹配的代码实现 1.Halcon中完成基于相关性的模板匹配 2.MFC实现与Halcon混合编程 3.实现效果 前言 正在学习Halcon ...
最新文章
- 使用maven搭建ssm框架的javaweb项目
- Kernel oops panic 调试 (未完待续)
- JS验证控制输入中英文字节长度(input、textarea等)
- 函数 —— popen() fscanf() sprintf() 执行shell命令并获取结果
- 语音识别框架最新进展——深度全序列卷积神经网络登场
- android 9patch 漏洞,Android 9patch 图片解析堆溢出漏洞分析(CVE-2015-1532)
- [转载]出了国才明白的10件事~(MITBBS ZT)
- powergrep linux版本,PowerShell实现简单的grep功能
- [POJ 1742] Coins 【DP】
- Python与机器视觉(x)下雨啦,图片模拟雨天效果
- Webpack4 学习笔记 - 02:loader 打包静态资源(图片)
- ros操作系统的介绍
- 计算机如何更新目录,wps更新目录【设置办法】
- 二进制转十六进制(参考XYJ)
- 如何用Python一键修改上万个文件名
- 360全景偏移调整_360全景倒车系统安装及调试细节说明
- octomap(1):octomap_server报错MessageFilter [target=odom_combined ]: Dropped 100.00% of messages so far
- 有没有好人看看,谢谢谢谢
- GitLab安装到实战
- HAC集群状态检查、切换、数据同步验证方法
热门文章
- TurboMail助某水利委员会邮件通讯更新换血
- 问题四:C++中inline是干嘛用的
- linux切换软件版本,使用Linux的alternatives命令替换选择软件的版本方法
- 怎么把截屏的一部分内容涂掉_电脑怎么录屏?录屏软件的使用技巧
- 大数据治理体系如何搭建
- MySQL存储过程 — 解析 XML 数据并实现插入操作
- python占位符_Python(2)——Python的基础语句
- 拓展卡尔曼滤波器(EKF)的数学推导
- 1. C++基础知识学习及其深入理解(面向对象部分还没学) -- 课程1完成
- Android5更新包,Android5.1无法完成整包的更新