Halcon图像分割

auto_threshold(Image : Regions : Sigma : )* 对单通道图像做自动阈值(灰度直方图确定)分割Sigma:灰度直方图高斯光滑核(标准差),光滑消除噪声,并且分割区域
binary_threshold(Image : Region : Method, LightDark : UsedThreshold)* 使用二值阈值进行图像分割,用于背景色与前景色色差较为分明的图像,自动选取Sigma值进行高斯光滑处理,光滑直到灰度直方图只有一个最小值,这个最小值就是阈值;Method:分割方法,只适用于具有双峰直方图的图像。    smooth_histo方法提供了与bin_threshold操作符相同的功能。    max_separability方法倾向于为UsedThreshold确定较小的值。此外,它对距离光谱其余部分很远的柱状图中孤立的薄峰不太敏感,而且通常比smooth_his更快        
char_threshold(Image, HistoRegion : Characters : Sigma, Percent : Threshold)* 为提取字符执行阈值分割,适用于不是很明显的出现极小值的情况(色差相对小)Image:用于提取字符的图像HistoRegion:要提取字符所在的Region,可以和Image一样Percent:灰度直方图中的灰度差的百分比此方法关键在于找到灰度直方图中的最大值,在最大值的左侧寻找关键阈值,Threshold所对应的灰度值频率不能大于最大值频率乘以(100.0-Persent)histogram[Threshold]*100.0 < histogram[maximum]*(100.0-Percent)
dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )* 动态局部阈值分割图像,根据像素周围的情况来决定阈值OrigImage:单通道原图像ThresholdImage:用于对比局部阈值的图像,通常是原始图像的平滑版本(如mean_image、binomial_filter、gauss_filter等)RegionDynThresh:阈值分割后获得的区域Offset:原图像与对比图像的像素值偏移量LightDark:决定选取暗边界还是亮边界以及相似边界 'light' OrigImage >= ThresholdImage + Offset'dark'  OrigImage <= ThresholdImage - Offset'equal' ThresholdImage - Offset <= OrigImage <= ThresholdImage + Offset'not_equal' ThresholdImage - Offset > OrigImage  or OrigImage > ThresholdImage + Offset
dual_threshold(Image : RegionCrossings : MinSize, MinGray, Threshold : )* 通过阈值分割有符号图像(灰度值有正负之分),通常前面伴随着如diff_of_gauss,sub_image等这样的算子使用
fast_threshold(Image : Region : MinGray, MaxGray, MinSize : )* 使用全局阈值对图像进行快速阈值化MinSize 要提取的对象的最小大小
hysteresis_threshold(Image : RegionHysteresis : Low, High, MaxLength : )* 对图像执行一个滞后阈值操作(由Canny引入)。在图像上执行一个滞后阈值操作(由Canny引入)。输入图像中灰度值大于或等于High的所有点立即被接受(“安全”点)。  相反,所有灰度值小于Low的点立即被拒绝。如果“潜在”点的路径连接到“安全”点,则接受在两个阈值之间有灰度值的“潜在”点,这些“潜在”点的长度最多为MaxLength点。

通过sub_image对两帧图像做差,得到图三的图像,其中中亮部分小车灰度值大于零,暗部分小车灰度值小于零,使用dual_threshold进行分割得到图四。

dev_close_window ()read_image (Traffic1, 'traffic1')read_image (Traffic2, 'traffic2')get_image_size (Traffic1, Width, Height)dev_open_window (0, 0, 2 * Width, 2 * Height, 'black', WindowHandle)convert_image_type (Traffic1, ImageConverted1, 'int2')convert_image_type (Traffic2, ImageConverted2, 'int2')sub_image (ImageConverted1, ImageConverted2, ImageSub, 1, 0)dual_threshold (ImageSub, RegionDiff, 500, 20, 10)
var_threshold(Image : Region : MaskWidth, MaskHeight, StdDevScale, AbsThreshold, LightDark : )* 根据掩膜局部均值和标准差来做与会分割MaskWidth,MaskHeight:掩膜大小,在此区域求均值方差StdDevScale:标准差因子AbsThreshold:像素值与均值对比的最差值StdDevScale>=0,则v(x,y) = max(StdDevScale * d(x,y), AbsThreshold)如果参数StdDevScale<0,则v(x,y) = min(StdDevScale * d(x,y), AbsThreshold)LightDark = 'light' 获得亮边界Image(x,y) >= mean(x,y) + v(x,y)LightDark = 'dark' 获得暗边界Image(x,y) < mean(x,y) - v(x,y)
(0)

相关推荐

  • 【从零学习OpenCV 4】图像二值化

    重磅干货,第一时间送达 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<从零学习OpenCV 4>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通 ...

  • 【操作篇】Image J测量平均荧光强度

    上期说到测量平均荧光强度,其实就是测量灰度值. 测量前还是想再交待一下,所有需要进行半定量分析的图像,一定要控制原始图像的质量. 一方面要精细地完成染色过程,背景荧光是引起测量误差的最大原因:另一方面 ...

  • 实例详解如何选择滤波算法

    机器视觉课堂 OpenCV.Halcon等机器视觉专业学习交流平台,服务于工业自动化.先进机器人技术.人工智能等相关专业技术人才.定期发布最新机器视觉相关新闻.应用案例.技术资料.展会信息等信息. 5 ...

  • openmv中用最小二乘法拟合轨迹实现代码分析.1

    在openmv中有一个巡线的功能,在我刨根问底以后发现是一段C++的函数完成的这个功能,看完源码准备写Python的实现. 这个是第一个找到的关键词 我们整体思路还是按照关键字来找 这里是在源码中搜索 ...

  • opencv中自适应阈值函数的实现(c++)

    根据<面向飞机蒙皮接缝的线结构光检测技术研究_张卡>论文中的原理,编写了自适应阈值函数 原理: 1 //计算灰度最大最小值 2 void MaxGrayValue(Mat image,in ...

  • 《HALCON机器视觉与算法原理编程实践》第6章图像分割

    文章目录 6.1 阈值处理 6.1.1 全局阈值 6.1.2 基于直方图的自动阈值分割方法 6.1.3 自动全局阈值分割方法 6.1.4 局部阈值分割方法 6.1.4 其它阈值分割方法 6.2 区域生 ...

  • 用于图像分割的深度学习架构

    基于人工智能和深度学习方法的现代计算机视觉技术在过去10年里取得了显著进展.如今,它被用于图像分类.人脸识别.图像中物体的识别.视频分析和分类以及机器人和自动驾驶车辆的图像处理等应用上. 现代图像分割 ...

  • 【AI有识境】如何掌握好图像分割算法?值得你看的技术综述

    大家好,这是专栏<AI有识境>的第二篇文章,讲述如何掌握好图像分割算法. 进入到有识境界,可以大胆地说自己是一个非常合格的深度学习算法工程师了,能够敏锐地把握自己研究的领域,跟踪前沿和能落 ...

  • 图像分割技术概述

    青榴实验室 1周前 1.什么是图像分割 图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分,同时也是图像处理中最困难的问题之一.所谓图像分割是指根据灰度.彩色.空间纹理.几何形状 ...

  • HALCON 20.11:深度学习笔记(10)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何在训练和推理阶段使用基于深度学习的分类. 基于深度学习的分类是一种对一幅图像分配一组置信值的方法.这些置信度值表明图像属于每个可 ...

  • HALCON 20.11:深度学习笔记(12)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的语义分割,包括训练和推理阶段. 通过语义分割,我们使用深度学习(DL)网络将输入图像的每个像素分配到一个类. ...

  • HALCON 20.11:深度学习笔记(11)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章讲解了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在图像中找到不同的实例,并将它们分配给一个类.实例可以部分重叠,但仍然可以区 ...

  • HALCON 20.11:深度学习笔记(9)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章解释了如何使用基于深度学习的异常检测. 通过异常检测,我们想要检测图像是否包含异常.异常指的是偏离常规的.未知的东西. 异常检测的例子:输 ...

  • HALCON 20.11:深度学习笔记(8)

    HALCON 20.11.0.0中,实现了深度学习方法. 本章解释HALCON中深度学习(DL)模型的一般概念和数据处理. 从概念上讲,HALCON中的深度学习模型是深度神经网络的内部表示. 每个深度 ...