Halcon学习(4-2)Region处理:选择区域,分割图像

一,基本的图像通道知识在图像处理中有一个很重要的概念叫图像通道,在RGB色彩模式下就是指那单独的红色、绿色、蓝色部分。也就是说,一幅完整的图像,是由红色绿色蓝色三个通道组成的。他们共同作用产生了完整的图像。一幅完整的图像,红色绿色蓝色三个通道缺一不可。即使图像中看起来没有蓝色,只能说蓝色光的亮度均为0,但不能说没有蓝色通道存在。“存在、亮度为零”和“不存在”是两个不同的概念。一幅图像,如果关闭了红色通道,那么图像就偏青色。如果关闭了绿色通道,那么图像就偏洋红色。如果关闭了蓝色通道,那么图像就偏黄色。这个现象再次印证了反转色模型:红色对青色、绿色对洋红色、蓝色对黄色。如果察看单个通道,发现每个通道都显示为一幅灰度图像(不能说是黑白图像)。某个通道的灰度图像中的明暗对应该通道色的明暗,从而表达出该色    光在整体图像上的分布情况。由于通道共有3个,所以也就有了3幅灰度图像。通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255。通道中的纯黑,代表了该色光在此处完全不发光,亮度级别是0。介于纯黑纯白之间的灰度,代表了不同的发光程度,亮度级别介于1至254之间。灰度中越偏白的部分,表示色光亮度值越高,越偏黑的部分则表示亮度值越低。现在可以明白为何通道用灰度表示了吧?因为通道中色光亮度从最低到最高的特性,正符合灰度模式那种从黑到白过渡的表示。正是因为灰度的这种特性,使得它在以后还被应用到其它地方。通道中的灰度,与颜色调板的灰度滑块是对应的。二,单通道图像分割1阈值分割全局阈值,局部阈值法,直方图自动阈值(自适应阈值)指定全局阈值threshold( Image: Region: MinGray, MaxGray)  //人工设置阈值局部阈值法,后面再加以描述直方图自动阈值(自适应阈值)auto_threshold( Image: Region:Sigma:)//自动阈值输入必须是是单通道图像,会有多阈值分割,Sigma用于对灰度直方图进行高斯平滑,决定了平滑的程度(分割细致程度),当sigma很大时,灰度直方图基本会被平滑为只剩下一个波峰,而分割是根据平滑后直方图的波谷来进行的,Sigma小,分割的越细致。

三,彩色图像的分割decompose3trans_from_rgb(red,green,blue,result1,result2,result3,colortypespace)二 相关的算子详解选择区域(分割图像)原图如下,需要选择其中的3个焊点。

代码:Pythonthreshold (ImageReduced, Regions1, 0, 201)    connection(Regions1, ConnectedRegions)    count_obj(ConnectedRegions, N1)    select_obj(ConnectedRegions, ObjectSelected, 3)    select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 150, 99999)    count_obj(SelectedRegions, N2)代码解释:threshold阈值算子threshold (ImageReduced, Regions1, 0, 201)这个是取阈值的算子,阈值是分割图像的一种常见办法。它选择满足输入控制参数的灰度值之内的灰度值,当所有的像素点都满足这个区域的话,就形成一个区域。如下图所示是选择灰度值在0和201之间的像素构成一个区域。可以如下图这样调出向导(灰度直方图),很方便的插入代码。

connection(Regions1, ConnectedRegions)count_obj(ConnectedRegions, N1)取连接区域,然后计数,这个例子中连通区域数量N1=4select_obj(ConnectedRegions, ObjectSelected, 3)这句可以选中4个连通区域中的一个,索引号为3的区域。

select_shape(ConnectedRegions, SelectedRegions, 'area', 'and', 150, 99999)count_obj(SelectedRegions, N2)通过按area大小范围来过滤shape。这里选中了3个区域,N2=3

select_shape算子, 跟据特征值选择区域。其相关功能的算子可以求Region指定特征值:region_features(Regions : : Features : Value)select_shape算子可以由向导(特征直方图)来进行可视化操作,可以很方便的生成代码。如下图所示:

如上图所示的“特征”种类及其意义见下表:Region特征一览:特征英译备注areaArea of the object对象的面积rowRow index of the center中心点的行坐标columnColumn index of the center中心点的列坐标widthWidth of the region区域的宽度heightHeight of the region区域的高度row1Row index of upper left corner左上角行坐标column1Column index of upper left corner左上角列坐标row2Row index of lower right corner右下角行坐标column2Column index of lower right corner右下角列坐标circularityCircularity圆度0~1compactnessCompactness紧密度0~1contlengthTotal length of contour轮廓线总长convexityConvexity凸性rectangularityRectangularity矩形度0~1raMain radius of the equivalent ellipse等效椭圆长轴半径长度rbSecondary radius of the equivalent ellipse等效椭圆短轴半径长度phiOrientation of the equivalent ellipse等效椭圆方向anisometryAnisometry椭圆参数,Ra/Rb长轴与短轴的比值bulkinessBulkiness椭圆参数,蓬松度π*Ra*Rb/Astruct_factorStructur Factor 椭圆参数,Anisometry*Bulkiness-1outer_radiusRadius of smallest surrounding circle最小外接圆半径inner_radiusRadius of largest inner circle最大内接圆半径inner_widthWidth of the largest axis-parallel rectangle that fits into the region最大内接矩形宽度inner_heightHeight of the largest axis-parallel rectangle that fits into the region最大内接矩形高度dist_meanMean distance from the region border to the center区域边界到中心的平均距离dist_deviationDeviation of the distance from the region border from the center区域边界到中心距离的偏差roundnessRoundness圆度,与circularity计算方法不同num_sidesNumber of polygon sides多边形边数connect_numNumber of connection components连通数holes_numNumber of holes区域内洞数area_holesArea of the holes of the object所有洞的面积max_diameterMaximum diameter of the region最大直径orientationOrientation of the region区域方向euler_numberEuler number欧拉数,即连通数和洞数的差rect2_phiOrientation of the smallest surrounding rectangle最小外接矩形的方向rect2_len1Half the length of the smallest surrounding rectangle最小外接矩形长度的一半??smallest_rectangle2rect2_len2Half the width of the smallest surrounding rectangle最小外接矩形宽度的一半moments_m11Geometric moments of the region几何矩moments_m20Geometric moments of the region几何矩moments_m02Geometric moments of the region几何矩moments_iaGeometric moments of the region几何矩moments_ibGeometric moments of the region几何矩moments_m11_invarGeometric moments of the region几何矩moments_m20_invarGeometric moments of the region几何矩moments_m02_invarGeometric moments of the region几何矩moments_phi1Geometric moments of the region几何矩moments_phi2Geometric moments of the region几何矩moments_m21Geometric moments of the region几何矩moments_m12Geometric moments of the region几何矩moments_m03Geometric moments of the region几何矩moments_m30Geometric moments of the region几何矩moments_m21_invarGeometric moments of the region几何矩moments_m12_invarGeometric moments of the region几何矩moments_m03_invarGeometric moments of the region几何矩moments_m30_invarGeometric moments of the region几何矩moments_i1Geometric moments of the region几何矩moments_i2Geometric moments of the region几何矩moments_i3Geometric moments of the region几何矩moments_i4Geometric moments of the region几何矩moments_psi1Geometric moments of the region几何矩moments_psi2Geometric moments of the region几何矩moments_psi3Geometric moments of the region几何矩moments_psi4Geometric moments of the region几何矩---------------------

(0)

相关推荐

  • (5条消息) 复杂户型图处理(基于边缘特征)

    需求突然转换到,识别有背景的户型图: 具体效果参考空间大师,首先提出墙体,然后识别门窗.家具. 空间大师对实现思路几乎没有帮助,绝望之际找到一篇论文,看结果还不错,于是我们就开始根据论文一步步实现. ...

  • 图像处理知多少?准大厂算法工程师30+场秋招后总结的面经问题详解

    作者丨灯会 来源丨极市平台 编辑丨极市平台 极市导读 本篇主要包含了图像滤波.边缘检测相关常考内容等相关面试经验. >>加入极市CV技术交流群,走在计算机视觉的最前沿 系列文章: 深度学习 ...

  • 从传统到深度学习:浅谈点云分割中的图结构

    随着3D扫描技术的进步,如何将点云的前景和背景正确分离成为点云处理的一个具有挑战性的问题.具体来说,就是给定一个对象位置的估计,目标是识别属于该对象的那些点,并将它们与背景点分开.除了将前景与背景分离 ...

  • C#与Halcon学习——Bitmap转换为HObject

    前两天掉进一个大坑,记录一下.写接口的时候要求输入为Image或Bitmap的数据类型,所以在用Halcon处理之前要先把它们编程Hobject的数据类型,在网上搜了一下相关的转换方法,大多是先利用了 ...

  • 【从零学习OpenCV 4】分割图像——Mean-Shift分割算法

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

  • 【从零学习OpenCV 4】分割图像——Grabcut图像分割

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

  • 【从零学习OpenCV 4】分割图像——分水岭法

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

  • halcon自动全局阈值与动态阈值分割方法

    自动全局阈值分割方法: 1.统计直方图 2.寻找出现频率最高的灰度值 3.把比最高频率灰度值或者比它大或小一定灰度阶的灰度值作为阈值分割图像 例: read_image(Image,'particle ...

  • I期非小细胞肺癌大分割图像引导质子治疗临床试验正在招募患者

    试验一般情况 ■ 题目:I期非小细胞肺癌大分割图像引导质子治疗 ■ 发起人:Bradford S Hoppe医生 ■ 发起单位:佛罗里达大学质子治疗中心 ■ 预计纳入患者数:23人 ■ 研究开始日期: ...

  • java学习——72.嵌套分割

    JSplitPane分割窗格可以嵌套,实现两个及以上组件的分割. 本例是在java学习--71.分割窗格中例题的基础上,先将窗口分成左右两部分,再分别将左右两部分分割成上下两部分. 其完整代码如下: ...

  • java学习——71.分割窗格

    JSplitPane分割窗格是将窗口按照你的意愿分割成两个部分. 两部分之间有分割条,可拖动分割条改变各部分的大小. 1.        JSplitPane分割窗格 JSplitPane类声明如下: ...