精华内容
下载资源
问答
  • 图像区域特征

    千次阅读 2017-08-23 15:38:33
    以 Halcon 里支持的 Region 特征为基础,做概念总结形状特征

    以 Halcon 里支持的 Region 特征为基础,做概念总结


    形状特征

    1)圆度(Circularity)
    衡量一个形状接近圆的程度,取值为 [0, 1]

    Circularity=π2

    另一种算法是,统计边界点到中心的距离,根据方差反映圆度

    Halcon 对应上面两种思路有相应的算子:circularity、roundness

    2)紧密度(Compactness)
    参考 wikipedia,衡量一个形状紧致程度,取值为 [0, 1],对于圆,紧密度为 1

    Compactness=A22πi21+i22

    其中A为形状面积,i1i2为二阶矩:i1=IJi2image(i,j)i2=IJj2image(i,j)

    关于紧密度的一个比喻:用不同长度的绳子围成一个面积一定的区域,使用的绳子长度越短则紧密度越高。
               又由于圆的边缘没有转角,很光滑,因此紧密度又称为粗糙度

    Halcon 对应的算子为 compactness

    3)矩形度(Rectangularity)
    参考《图像处理基本算法 形状特征》,衡量一个形状接近矩形的程度,取值为 [0, 1]

    Rectangularity=AEr

    其中A为形状面积,Er为最小外接矩阵面积

    Halcon 对应算子为 rectangularity

    4)凸性(Convexity)
    参考文献【1】(顺便推荐作者关于凸性的研究主页),凸性的计算有很多种方法。这里介绍两种,第二种(Halcon用的这种)更为常见

    定义1:对于二维形状S,在上面随机选择AB两个点,统计线段[AB]上落在S内的点的个数

    定义2:对于二维形状S,令CH(S)为其最小外接凸形

    Convexity=Area(S)Area(CH(S))

    图1是CH(S)的一个示例

                     这里写图片描述
                          图1. 二维形状的外接凸形

    Halcon使用算子 convexity 计算凸率;使用 shape_trans 转换区域为凸包/最小外接圆/外接矩形

    5)偏心率(Eccentricity)
    参考章毓晋的《图像工程》,介绍一种平移、旋转和尺度不变的算法

    令三维形状的每个点坐标为(xi,yi,zi),每个点的质量(图像可以理解为灰度值)mi,有

    Eccentricity=pq=2[(A+B)(AB)2+4H2]2[(A+B)+(AB)2+4H2]

    其中A=mi(y2i+z2i)B=mi(z2i+x2i)H=mixiyi

    Halcon 里是用其等效椭圆的长半轴除以短半轴计算的:eccentricity

    6)蓬松度(Bulkiness)
    参考Halcon13的文档,感觉跟紧密度相反,圆为1,越松散值越大

    Bulkiness=πRaRbA

    其中
    Ra=8(M20+M02+(M20M02)2+4M211)2Rb=8(M20+M02(M20M02)2+4M211)2

    其中Mij是二阶不变矩

    Halcon13文档里有以上特征的描述及图例


    区域特征

    1)区域面积
    就是像素点相加
    但区域一般是用形成编码表示,累加每行的行程就可以

    2)区域中心
    中心点 y=yix=xi

    3)区域几何矩
    几何矩具有旋转、尺度不变性,应用在形状分类

    mp,q=ypxq

    =m0,0=y0x0
    =(m1,0,m0,1)=(1y1x0,1y0x1)
    =np,q=1ypxq
    =μp,q=1(yn1,0)p,(xn0,1)q

    4)等效椭圆
    区域的方向和范围可以用等效椭圆来表示
    等效椭圆的中心与区域中心一致,长半轴r1、短半轴r2和相对于x轴的夹角θ由二阶矩算出

    r1=2(μ2,0+μ0,2+(μ2,0μ0,2)2+4μ21,1)

    r2=2(μ2,0+μ0,2(μ2,0μ0,2)2+4μ21,1)

    θ=12arctan2μ1,1μ0,2μ2,0

    Halcon里对应的算子为 elliptic_axis()


    【1】J. Zunic, P.L. Rosin, “A New Convexity Measure for Polygons”, IEEE Transactions Pattern Analysis and Machine Intelligence, vol. 26, no. 7, pp. 923-934, 2004.


    展开全文
  • 5、区域特征分析和区域提取

    千次阅读 2020-03-03 10:04:29
    在学习特征分析之前,先了解一下几个区域的基本运算方式。 区域的运算主要包含:区域作差、区域合并、区域集合、区域的选择、区域的填充、区域的骨架等。在项目中,根据实际需要,灵活的选择相应的计算方式。 在...

     

    1、区域的运算

    在学习特征分析之前,先了解一下几个区域的基本运算方式。

    区域的运算主要包含:区域作差、区域合并、区域集合、区域的选择、区域的填充、区域的骨架等。在项目中,根据实际需要,灵活的选择相应的计算方式。

    在Halcon创建两个矩形,作为后面算子测试用:

    *生成两个矩形区域
    gen_rectangle1 (Rectangle1, 123, 196, 186, 356)
    gen_rectangle1 (Rectangle2, 123+20, 196+20, 186-20, 356-20)

    区域作差:将一个区域减去另一个区域,便得到区域的差值。

    算子:difference 

    如:

    *两个矩形区域做差
    difference (Rectangle1, Rectangle2, RegionDifference)

    区域合并(求和):将一个区域和另外一个区域求和,便可以将两个区域合并成一个区域。

    算子:union1、union2 

    如:

    *区域的合并,union1是对集合的合并,union2是对区域的加
    union2 (RegionDifference, Rectangle2, RegionUnion)
    

    区域集合:将两个或者两个以上的区域放入一个集合中,这个集合称为区域的集合。特别注意的是:在集合中,每个区域都是孤立的,并没有进行合并,要与区域的和进行区分,每一个区域称为一个obj

    算子:concat_obj 

    如:

    *两个区域放到一个集合
    concat_obj (Rectangle1, Rectangle2, ObjectsConcat)

    区域的选择:从区域集合中进行区域的选择。

    算子:select_obj。参数3:要选择的区域ID号。

    如:

    *区域的选择:参数3表示要选择的第几个区域
    select_obj (ObjectsConcat, ObjectSelected, 2)

    区域的填充:对区域中的孔洞进行封闭,称为孔洞的填充。

    算子:fill_up 

    如:

    *区域的填充
    fill_up (RegionDifference, RegionFillUp)

    区域骨架的求取:区域的骨架可以理解为图像的中轴,骨架求取就是求取区域中轴的过程。

    算子:skeleton、fill_up_shape

    如:

    *区域骨架的求取
    skeleton (RegionFillUp1, Skeleton)
    
    *指定面积范围的区域的填充:参数4和参数5表示区域面积范围。不在面积范围的不填充
    fill_up_shape (RegionDifference, RegionFillUp1, 'area', 1, 10000)

     

    2、区域的特征分析

    在学习区域特征分析前,先了自我问一下,为什么要学习区域特征分析。根据前面所讲的,已经能够进行区域的分割和区域的提取了。这是因为,如果我们只想从分割出来的区域中提取指定要求的一个区域,那该如何选择呢?那这就需要给定提取区域的特征来进行提取。所以要对区域的特征分析,要根据每一个区域的特征,选择出我们需要的区域。

    常用的区域区域特征:区域的面积、区域的最小外接矩形(长、宽跟角度)、区域的角度、区域的凸性、区域的圆度、区域的最小外接圆大小等。下面来对其进行具体讲解:

    首先绘制一个矩形区域,变量名Region。

    区域的面积:区域内像素点数量总。

    算子:area_center

    area_center (Region, Area, Row4, Column4)

    区域的最小外接矩形:外接矩形长、宽的一半长、宽半轴,对应的矩形长轴方向称为区域的方向。区域的最小外接矩形,分为两种外接方式,如下图所示

    算子:

    smallest_rectangle2:最小外接矩形2

    smallest_rectangle1:最小外接矩形1

    区域的角度:区域的角度就是外接矩形的角度。

    区域的凸性:每个区域都存在一个最小的凸性区域,这个区域内的任意位置两点连线都在该区域内,这样的区域称为区域的凸性区域。其中原区域与凸性区域的比值称为区域的凸性,范围0-1.

    算子:

    shape_trans:将区域转换为凸性区域(凸包)。

    convexity:获取区域的凸性值

    如:

    *凸集转换,'convex'生成凸集,也可以选择生成外接圆
    shape_trans (Region, RegionTrans, 'convex')
    *获取区域的凸性值,值保存在Convexity中。表示的是该区域面积和凸集的比值,范围0-1

    区域的圆度:指区域边界是否接近圆形的程度,范围0-1。

    算子:circularity

    *获取区域的圆度
    circularity (Region, Circularity)

    区域的外接圆:能够将区域完全包含的圆区域,称为区域的最小外接圆。

    算子:

    smallest_circle:获取区域的最小外接圆

    region_features :获得区域的任意特征

    *获取区域外接圆
    smallest_circle (Region, Row3, Column3, Radius)
    gen_circle (Circle, Row3, Column3, Radius)
    *获取区域的特征,比如面积:'area'
    region_features (Circle, 'area', Value)

    3、案例:遥控器上的字符特征提取

    经过前面的阈值分割、形态学膨胀腐蚀、区域特征分析、区域运算等学习,利用这些知识可以对一幅图像中指定的区域进行提取出来。比如对一幅遥控器背面图像的操作说明的文字进行提取。

    需求:提取遥控器上的字符区域,并计算每一个字符汉字区域的面积、外接矩形的长宽,然后将计算的值存储到txt文本文件中。

    遥控器图片

    分析:先将图片转换为灰度图,根据灰度值将遥控器区域提取出来,然后再去求取每个字符的区域,最后再对每一个字符串进行计算区域面积、外接矩形长宽。

     

    程序实现讲解:

    读取图片并灰度转换

    read_image (Image, '素材.jpg')
    *灰度转换
    rgb1_to_gray (Image, GrayImage)

    通过静态全局阈值分割(根据灰度值不同来分割),将图片分割成不同区域。遥控器的图像区域比较亮,灰度值基本在180以上。灰度值查看方法前面已经说过,在图片窗口上,按住Ctrl键,鼠标跳出来的一个是鼠标坐标值、另一个就是灰度值。

    *静态阈值分割
    threshold (GrayImage, Region, 150, 255)

    阈值分割后,每个区域的边缘比较凹凸,形态学开操作(腐蚀)。

    *开操作-腐蚀操作
    opening_circle (Region, RegionOpening, 3.5)

    连通域标记操作

    *连通域标记,将几个区域分隔开
    connection (RegionOpening, ConnectedRegions)

    将遥控器的区域选择出来,遥控器的区域面积最大,因此可以用面积来进行筛选。

    *方法1:遥控器区域面积大,可以用选择面积大的方法。将遥控的区域单独选择出来。
    *参数3:最大面积,参数4:百分比。
    select_shape_std (ConnectedRegions, SelectedRegions, 'max_area', 70)
    *方法2:根据凸性、或者遥控的外接矩形凸性来选择,

    注意的是,提取出来的遥控器区域,字符所占的位置都是空的,因为字符是黑色的,在阈值分割的时候都已经分割开来了,因此要获得整个遥控图片所占区域,要将字符串的也位置填充起来。

    *填充:将字符串的填充起来
    fill_up (SelectedRegions, RegionFillUp)

    将遥控器图像,从灰度图中裁剪下来

    *裁剪,将遥控器的图片区域从原图中裁剪下来
    reduce_domain (GrayImage, RegionFillUp, ImageReduced)

    此时就可以对裁剪下来的遥控器图像进行特征分析了。字符是黑色的,遥控面板是白色的,灰度值区分还是很明显的。使用阈值分割即可

    *全局阈值:前两个数值:选择分割的图像灰度范围,最后一个是要选择的分割的面积(可以将一些点去掉)
    fast_threshold (ImageReduced, Region1, 0, 100, 20)

    可以看到,此时提取出来的字符,是斜着的,并且很多字的笔画是分开的并没有连接起来,这样子的话程序是会将其当成多个字符区域。

    因此先将这些字符转到水平。

    *求取区域的方向
    orientation_region (Region1, Phi)
    *求取区域的中心
    area_center (Region1, Area, Row, Column)
    *求取区域的角度,参数6:新的旋转之后的角度
    vector_angle_to_rigid (Row, Column, Phi, Row, Column, -3.1415*0.5, HomMat2D)
    *对区域旋转操作:转到水平
    affine_trans_region (Region1, RegionAffineTrans, HomMat2D, 'nearest_neighbor')

    然后,再膨胀操作。先形态学闭运算、再竖直方向膨胀

    *膨胀操作-闭运算:
    *同一个字符相邻的区域先浓缩成一团:将左右连接在一起
    closing_circle (RegionAffineTrans, RegionClosing, 3.5)
    *然后再竖直方向膨胀,将竖直方向的都连接起来。参数3是宽度表示水平方向的,则值要设置的小
    dilation_rectangle1 (RegionClosing, RegionDilation, 1, 11)

    此时连通域操作,将每个字标记分开

    *连通域操作:
    connection (RegionDilation, ConnectedRegions1)

    观察发现,有一个逗号,还有“约3秒”、“按键”连接在了一起成了一个区域。

    先去掉逗号,通过面积选择来操作

    *选择指定的区域:去除逗号,,逗号面积小,大概80.参数5和参数6表示的是筛选的区域面积范围
    select_shape (ConnectedRegions1, SelectedRegions1, 'area', 'and', 150, 99999)

    分开连接在一起的字符比较麻烦,按下面的方法来实现。

    将Region1旋转至水平和SelectedRegions1求交集才能求出完整的字符

    *旋转至水平
    affine_trans_region (Region1, RegionAffineTrans1, HomMat2D, 'nearest_neighbor')
    *两个区域求交集,得出遥控器上的字符串
    intersection (SelectedRegions1, RegionAffineTrans1, RegionIntersection)

    然后对每个字符区域进行排序

    *区域的排序,参数5:选择排序方式以行排序
    sort_region (RegionIntersection, SortedRegions, 'first_point', 'true', 'row')

    *“约3秒”、“按键”没有分割开,需要分割开。用区域外接矩形1,长度法提取出来

    select_shape (SortedRegions, SelectedRegions2, 'rect2_len1', 'and', 30, 99999)

    然后再对其进行分开操作

    *提取出来后再闭运算-膨胀
    closing_circle (SelectedRegions2, RegionClosing1, 1.5)
    *再竖直方向膨胀(使每个字符笔画都是连接的)
    dilation_rectangle1 (RegionClosing1, RegionDilation1, 1, 11)
    *连通域
    connection (RegionDilation1, ConnectedRegions2)
    *再求交集,获得字符
    intersection ( ConnectedRegions2,SelectedRegions2, RegionIntersection1)

    *生成空区域
    gen_empty_obj (EmptyObject)
    *RegionIntersection1求交集EmptyObject,放到生成的空区域中
    concat_obj (EmptyObject, RegionIntersection1, EmptyObject)

    约3秒”、“按键”连起来的字符区域去掉,再加上“约3秒”、“按键”重新分割开的,形成完整的每个汉字都独立的区域

    ***“约3秒”、“按键”连起来的字符区域去掉,再加上“约3秒”、“按键”重新分割开的。
    *区域做差。
    difference (RegionIntersection, RegionIntersection1, RegionDifference)
    concat_obj (EmptyObject, RegionDifference, EmptyObject)

    至此,遥控器上的每个独立的字符都已经提取出来了。下面要做的就是,每一个字符汉字区域的面积、外接矩形的长宽,然后将计算的值存储到txt文本文件中。

    可以先统计总共有多少个字符,然后将字符进行排序,再写一个循环遍历程序对字符区域进行求面积、计算外接矩形的长宽,将所求的结果保存到数组中。最后将保存区域面积、外接矩形长款的数组数组写到txt文本中。

    功能比较简单,直接贴出代码程序了,代码都有对应注释。

    *统计总共有多少个字符区域
    count_obj (EmptyObject, Number)
    *按行排序
    sort_region (EmptyObject, SortedRegions1, 'first_point', 'true', 'row')
    
    *创建一个数组,用来保存区域面积
    a:=[]
    *创建一个数组,用来保存外接矩形1边长L1
    L1:=[]
    *创建一个数组,用来保存外接矩形1边长L2
    L2:=[]
    
    *遍历
    for i:=1 to Number-2 by 1
        *
        select_obj (SortedRegions1, ObjectSelected, i)
        *区域面积
        area_center (ObjectSelected, Area1, Row1, Column1)
        *遍历的结果添加到数组中,并且添加tab符
        a:=[a,Area1,'\t']
        *外接矩形1的两个边长
        smallest_rectangle2 (ObjectSelected, Row2, Column2, Phi1, Length1, Length2)
        *遍历的结果添加到数组中,并且添加tab符
        L1:=[L1,Length1,'\t']
        *遍历的结果添加到数组中,并且添加tab符
        L2:=[L2,Length2,'\t']
    endfor
    
    *添加换行符
    a:=[a,'\r\n']
    *添加换行符
    L1:=[L1,'\r\n']
    *添加换行符
    L2:=[L2,'\r\n']
    
    ****将37个字符区域的面积和外接矩形1的两个边长参数写到txt文本中
    
    *新建txt。文件保存在程序根目录下
    open_file ('1.txt', 'output', FileHandle)
    fnew_line (FileHandle)
    *写到文本中.面积a
    fwrite_string (FileHandle, a)
    *另起一行再写。L1
    fnew_line (FileHandle)
    fwrite_string (FileHandle, L1)
    *另起一行再写。L2
    fnew_line (FileHandle)
    fwrite_string (FileHandle, L2)
    *关闭文件
    close_file (FileHandle)
    
    

    最终保存到txt文本的数据

    工程完整程序下载链接:

    https://download.csdn.net/download/panjinliang066333/12206334

     

     

    展开全文
  • Halcon区域特征

    千次阅读 2018-11-27 20:48:39
    特征 经营者名单↓ 本章包含允许您访问区域的不同功能的运算符。   功能列表   在下文中,说明了可用的特征。 'Area': 对象的区域 'row': 中心的行索引 'column': 中心的列索引 'row1': 左上...

    特征

    经营者名单↓

    本章包含允许您访问区域的不同功能的运算符。

     

    功能列表

     

    在下文中,说明了可用的特征。

    'Area':

    对象的区域

    'row':

    中心的行索引

    'column':

    中心的列索引

    'row1':

    左上角的行索引

    “column1”:

    左上角的列索引

    “row2”:

    右下角的行索引

    “column2”:

    右下角的列索引

    'width':

    区域宽度(平行于坐标轴)

    'height':

    区域高度(与坐标轴平行)

    'circularity':

    圆度(见circularity

    'compactness':

    紧凑性(见compactness

    'contlength':

    轮廓总长度(参见 operator contlength

    “convexity”:

    凸性(见convexity

    “rectangularity”:

    矩形(见rectangularity

    'ra':

    等效椭圆的主半径(参见elliptic_axis

    'rb':

    等效椭圆的次半径(参见elliptic_axis

    “phi”:

    等效椭圆的方向参见elliptic_axis

    “anisometry:”

    反分析法(见 eccentricity

    “bulkiness:”

    庞大(参见操作员 eccentricity

    'struct_factor:'

    结构因素(参见操作员 eccentricity

    'outer_radius':

    最小周围圆的半径(见smallest_circle

    'inner_radius':

    最大内圈的半径(见inner_circle

    'inner_width':

    适合该区域的最大轴 - 平行矩形的宽度(请参阅inner_rectangle1

    'inner_height':

    适合该区域的最大轴平行矩形的高度(参见inner_rectangle1

    'dist_mean':

    从区域边界到中心的平均距离(参见运算符  roundness

    'dist_deviation:'

    从区域边界到中心的距离偏差(参见运算符 roundness

    “roundness”:

    圆度(参见运算符 roundness

    'num_sides':

    多边形边数(参见运算符roundness

    'connect_num':

    连接组件的数量(请参阅operator connect_and_holes

    'holes_num':

    孔数(参见operator connect_and_holes

    'area_holes':

    对象的孔的面积(见操作area_holes

    'max_diameter':

    区域的最大直径(参见operator diameter_region

    'orientation':

    区域的方向(参见operator orientation_region

    'euler_number':

    欧拉数(见运算符euler_number

    'rect2_phi':

    最小周围矩形的方向(参见operator smallest_rectangle2

    'rect2_len1':

    最小周围矩形长度的一半(参见operator smallest_rectangle2

    'rect2_len2':

    最小周围矩形宽度的一半(参见operator smallest_rectangle2

    'moments_m11':

    区域的几何矩(参见operator moment_region_2nd

    'moments_m20':

    区域的几何矩(参见operator moment_region_2nd

    'moments_m02':

    区域的几何矩(参见operator moment_region_2nd

    'moments_ia':

    区域的几何矩(参见operator moment_region_2nd

    'moments_ib':

    区域的几何矩(参见operator moment_region_2nd

    'moments_m11_invar':

    该区域的几何矩(参见operator moment_region_2nd_invar

    'moments_m20_invar':

    该区域的几何矩(参见operator moment_region_2nd_invar

    'moments_m02_invar':

    该区域的几何矩(参见operator moment_region_2nd_invar

    'moments_phi1':

    该区域的几何矩(参见operator moment_region_2nd_rel_invar

    'moments_phi2':

    该区域的几何矩(参见operator moment_region_2nd_rel_invar

    'moments_m21':

    区域的几何时刻(参见操作员moment_region_3rd

    'moments_m12':

    区域的几何时刻(参见操作员moment_region_3rd

    'moments_m03':

    区域的几何时刻(参见操作员moment_region_3rd

    'moments_m30':

    区域的几何时刻(参见操作员moment_region_3rd

    'moments_m21_invar':

    该区域的几何矩(参见operator moment_region_3rd_invar

    'moments_m12_invar':

    该区域的几何矩(参见operator moment_region_3rd_invar

    'moments_m03_invar':

    该区域的几何矩(参见operator moment_region_3rd_invar

    'moments_m30_invar':

    该区域的几何矩(参见operator moment_region_3rd_invar

    'moments_i1':

    区域的几何矩(参见operator moment_region_central

    'moments_i2':

    区域的几何矩(参见operator moment_region_central

    'moments_i3':

    区域的几何矩(参见operator moment_region_central

    'moments_i4':

    区域的几何矩(参见operator moment_region_central

    'moments_psi1':

    该区域的几何矩(参见运算符moments_region_central_invar

    'moments_psi2':

    该区域的几何矩(参见运算符moments_region_central_invar

    'moments_psi3':

    该区域的几何矩(参见运算符moments_region_central_invar

    'moments_psi4':

    该区域的几何矩(参见运算符moments_region_central_invar

     


    运营商名单

    area_center

    区域和区域的中心。

    area_holes

    计算区域的孔面积。

    circularity

    形状因子用于区域的圆度(与圆的相似性)。

    compactness

    形状因子用于区域的紧凑性。

    connect_and_holes

    连接组件和孔的数量

    contlength

    区域的轮廓长度。

    convexity

    形状因子为区域的凸性。

    diameter_region

    区域的两个边界点之间的最大距离。

    eccentricity

    从椭圆参数派生的形状特征。

    elliptic_axis

    计算等效椭圆的参数。

    euler_number

    计算欧拉数。

    find_neighbors

    搜索直接邻居。

    get_region_index

    包含给定像素的所有区域的索引。

    get_region_thickness

    访问沿主轴的区域的厚度。

    hamming_distance

    两个地区之间的汉明距离。

    hamming_distance_norm

    使用归一化在两个区域之间的汉明距离。

    height_width_ratio

    计算与坐标轴平行的周围矩形的宽度,高度和纵横比。

    inner_circle

    区域的最大内圈。

    inner_rectangle1

    区域的最大内部矩形。

    moments_region_2nd

    计算区域的几何矩。

    moments_region_2nd_invar

    区域的几何时刻。

    moments_region_2nd_rel_invar

    区域的几何时刻。

    moments_region_3rd

    区域的几何时刻。

    moments_region_3rd_invar

    区域的几何时刻。

    moments_region_central

    区域的几何时刻。

    moments_region_central_invar

    区域的几何时刻。

    orientation_region

    一个地区的方向。

    rectangularity

    形状因子用于区域的矩形。

    region_features

    计算区域的形状特征。

    roundness

    形状因素来自轮廓。

    runlength_distribution

    区域的游程长度编码所需的运行分布。

    runlength_features

    区域的游程长度编码的特征值。

    select_region_point

    选择包含给定像素的所有区域。

    select_region_spatial

    构成地区的关系。

    select_shape

    借助形状特征选择区域。

    select_shape_proto

    选择彼此具有一定关系的区域。

    select_shape_std

    选择给定形状的区域。

    smallest_circle

    一个地区最小的环绕圈。

    smallest_rectangle1

    与坐标轴平行的周围矩形。

    smallest_rectangle2

    最小的周围矩形,任何方向。

    spatial_relation

    关于坐标轴构成区域关系。

     

    展开全文
  • halcon区域特征

    千次阅读 2017-06-16 09:31:03
    区域面积=∑(行程*长度) 重心row=所有行坐标和/区域面积 col=所有纵坐标和/面积 几何矩 (0,0)阶表示区域的面积 (1,0)阶表示区域行坐标和 (0,1)阶表示列坐标和归一化矩 几何矩除以区域的面积就得到了归一化...

    面积、重心

    1. 区域面积=∑(行程*长度)
    2. 重心row=所有行坐标和/区域面积
    3. col=所有纵坐标和/面积

    几何矩

    1. (0,0)阶表示区域的面积
    2. (1,0)阶表示区域行坐标和
    3. (0,1)阶表示列坐标和
    4. 这里写图片描述

    归一化矩
    几何矩除以区域的面积就得到了归一化矩

    中心矩
    归一化矩阵减去重心得到的就是中心矩

    Halcon相关的算子

    1. area_center——–获得区域的面积重心
    2. area_holes———获得区域内洞的面积
    3. elliptic_axis——–获得区域的等效椭圆
    4. select_shape——-根据形状特征选择区域
    展开全文
  • halcon获得区域特征

    千次阅读 2019-09-19 14:29:43
    read_image (Image, ‘fabrik’) dev_open_window (0, 0, 512, 512, ‘black’, WindowHandle) dev_set_color (‘white’) dev_set_draw (‘fill’) ...*获得区域等效圆参数 elliptic_axis...
  • 分别对显著区域和非显著区域进行特征提取,具体提取的特征包括颜色(Lab空间,即三个分量),纹理,方向等,最后每幅图片用两个特征向量表示(一个显著区域特征向量,一个非显著区域特征向量)。 根据上面第一部分...
  • MATLAB提取区域特征

    千次阅读 2017-11-04 09:54:08
    基本统计特征D=regionprops(L,properties); //properties包含area,centroid等注,MATLAB脚本命名一定不要和自带函数库名称相同I=imread('1.jpg'); I=rgb2gray(I); % 转换成二值图像[L,num]=bwlabel(I2,8); % 标注...
  • 接续上一节内容(颜色特征),本文... 形状特征两类表示方法,一类是轮廓特征,一类是区域特征。图像的轮廓特征主要针对物体的外边界;而图像的区域特征则关系到整个形状区域。下面将介绍几种典型的形状特征描述方...
  • Halcon(四)区域特征

    千次阅读 2018-04-12 10:17:42
    http://blog.sina.com.cn/s/blog_c01c55220102ypst.html根据特征值选择区域:select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : )Region特征一览: 特征 英 译 备注 area Area of the ...
  • pww区域连接特征提取算法

    千次阅读 2017-02-10 14:18:36
    pww区域连接特征提取算法
  • Halcon算子--区域特征

    千次阅读 2016-05-29 14:14:53
    当我们想要提取Region时,图像处理后,往往存在几个类似的Region,此时,需要根据Region的一些特殊特征,来选择指定的Region。...根据特征值选择区域:select_shape(Regions : SelectedRegions : Features, Op
  • OSPF协议将其管理的网络划分为不同类型的若干区域(Area),其中标准区域特点是(64);存根区域(stub)的特点是(65)。 (64)A.不接受本地AS之外的路由信息,也不接受其他区域的路由汇总信息 B.不接受本地AS...
  • 概念描述: GLSZM与GLRLM(gray-level run-length matrix)类似,GLRLM是在一维方向上记录连续jjj个像素值iii连续相邻的情况的出现的次数,GLSZM是在二维区域内记录图像区域jjj个iii元素...
  • OpenCV用MSER 算法提取特征区域

    千次阅读 2020-01-27 22:27:53
    计算图像 MSER 的基础类是 cv:...我们在初始化时指定被检测区域的最小和最大尺寸,以便限制被检测特征的数量,调用方式如下: cv::Ptr<cv::MSER> ptrMSER= cv::MSER::create(5, // 局部检测时使用的增量值 ...
  • 区块链技术的主要特征有哪些

    千次阅读 2020-12-09 03:47:34
    区块链技术的主要特征有:1、去中心化;2、开放性;3、独立性;4、安全性;5、匿名性。从本质上讲,区块链是一个共享数据库,存储于其中的数据或信息,具有不可伪造、全程留痕、公开透明和集体维护等特征。 区块链...
  • 四种显著区域特征提取算法

    千次阅读 2017-03-06 09:15:43
    http://blog.csdn.net/wangyaninglm/article/details/44020489
  • 图像的特征提取都有哪些算法

    万次阅读 2015-07-09 11:39:02
    (一)特点:颜色特征是一种全局特征,描述了图像或图像区域所对应的景物的表面性质。一般颜色特征是基于像素点的特征,此时所有属于图像或图像区域的像素都各自的贡献。由于颜色对图像或图像区域
  • 根据标注区域提取需要部分的语音特征参数
  • 基于种子区域生长的激光线段特征提取介绍 A line segment extraction algorithm using laser data based on seeded region growing open source 摘要:本次将介绍一种基于种子区域生长的激光线段特征提取方法,...
  • 目标区域的几何形状特征参数概述

    千次阅读 2011-08-04 18:25:40
    通常 目标区域的几何形状特征参数主要:周长、面积、最长轴、方位角、边界矩阵和形状系数等。 - 周长 目标区域的外边界长度。可用其外边界的相邻两像素之间的距离之和表示。 - 面积 可用目标区域所包台的像素的...
  • 4.1图像分割之区域生长法

    万次阅读 多人点赞 2018-08-04 16:37:39
    传统的区域分割方法有区域生长和区域分裂与合并, 其中最基础的是区域生长法。 区域生长法  区域生长是根据事先定义的准则将像素或者子区域聚合成更大区域的过程。其基本思想是从一组生长点开始...
  • Java内存区域

    万次阅读 2020-04-13 16:38:38
    这些区域 各自的用途,以及创建和销毁的时间,区域随着虚拟机进程的启动而一直存在,有些区域则是 依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范》的规定,Java虚拟机所管理的内存 将会包括...
  • halcon根据特征过滤区域和xld

    千次阅读 2019-07-16 09:58:23
    select_shape(RegionIntersection, SelectedRegions, 'area', 'and', 150, 99999) select_shape_std...select_shape_proto算子过滤出一定关系的区域,上面提及的是两个区域中心距离在60到100之间的区域
  • 图像区分平坦区域、边缘、角点区域:像素组织而成的矩阵如下:,其中Ix和Iy为原图像在x和y方向求得的偏导,然后求矩阵E的行列式K和迹H,后根据K和H的关系就能区分图像的区域模式了。平坦区域:H=0边缘区域:H&gt...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 416,119
精华内容 166,447
关键字:

区域的特征有哪些