Halco-灰度特征-纹理特征


一、灰度特征

1.gray_features - 获取特征值

作用:获取指定区域的灰度特征
算子:gray_features(区域, Image : : 特征 : Value)
参数:
特征:例如最大灰度max,最小灰度min,灰度中值median,灰度均值mean.

样例代码:

ImagePath:='D:/S3/image/1-10/1100张原图/18/s3_base/LouBai'
list_image_files(ImagePath,'default', [], ImageFiles)
for Index := 0 to |ImageFiles| by 1
    read_image(Image, ImageFiles[Index]) 
    threshold (Image, Regions, 33, 59)
    gray_features(Regions, Image, ['median','mean','min','max'], Values)
    stop()
endfor

2.intensity - 获取灰度平均值和偏差

作用:计算区域的灰度的平均值和偏差
算子:intensity(区域, Image : : : Mean, Deviation)
参数:
Mean:输出的平均值
Deviation:输出的偏差,值越大偏差越大

样例代码:

ImagePath:='D:/S3/image/1-13/13-origimn/s5_base/LouBai'
list_image_files(ImagePath, 'default', [], ImageFiles)
for Index:=0 to |ImageFiles|-1 by 1
    read_image(Image, ImageFiles[Index])
    threshold(Image, Region, 128, 255)
    intensity(Region, Image, Mean, Deviation)
    stop()
endfor

3.min_max_gray - 获取灰度的最小和最大值

作用:确定区域里最小和最大灰度值
算子:min_max_gray(区域, Image : : Percent : Min, Max, Range)
参数:
Percent:最少像素的比例,例如图片总共像素为1000,参数给5,即最大和最小灰度的像素个数要大于1000*0.05=50。
Min:最小灰度的值
Max:最大灰度的值
Range:灰度的跨度,即大灰度值-最小灰度值

样例代码

ImagePath:='D:/S3/image/1-13/13-origimn/s5_base/LouBai'
list_image_files(ImagePath, 'default', [], ImageFiles)
for Index:=0 to |ImageFiles|-1 by 1
    read_image(Image, ImageFiles[Index])
    threshold(Image, Region, 0, 125)
    reduce_domain(Image, Region, ImageReduced)
    min_max_gray(Region,Image,3,Min,Max,range)
    stop()
endfor

4.arean_gray_center - 获取灰度的面积和重心

作用:提取灰度区域的面积和中心
算子:area_center_gray(区域, Image : : : Area, Row, Column)
参数:
Area:灰度面积
Row,Column:重心点横纵坐标

5.select_gray - 筛选灰度区域

作用:根据灰度特征选区域
算子:select_gray(区域, Image : SelectedRegions : 特征, Operation, Min, Max : )
参数:
Operation:andor 

二、纹理特征

1.gen_cooc_matrix - 创建灰度共生矩阵(搭配cooc_feature_matrix使用)

作用:创建灰度共生矩阵
算子:gen_cooc_matrix(区域, Image : Matrix : LdGray, Direction : )
参数:
Matrix :输出灰度共生矩阵
LdGray:计算灰度共生矩阵的窗口大小2的几次幂,12*2的窗口,24*4的窗口
Direction :计算灰度共生矩阵的方向有0, 45, 90, 135

2.cooc_feature_matrix - 根据灰度共生矩阵获取纹理特征

作用:根据灰度共生矩阵获取纹理特征
算子:cooc_feature_matrix(CoocMatrix : : : Energy, Correlation, Homogeneity, Contrast)
参数:
CoocMatrix :输入灰度共生矩阵
Energy:纹理特征- 能量即纹理变化的均匀性
Correlation:纹理特征- 相关性
Homogeneity:纹理特征- 局部均匀性
Contrast:纹理特征- 对比度

样例代码

ImagePath:='D:/S3/image/1-13/13-origimn/s5_base/LouBai'
list_image_files(ImagePath, 'default', [], ImageFiles)
for Index:=0 to |ImageFiles|-1 by 1
    read_image(Image, ImageFiles[Index])
    Energys:=[-1,-1,-1]
    Correlations:=[-1,-1,-1]
    Homogeneitys:=[-1,-1,-1]
    Contrasts:=[-1,-1,-1]
    gen_empty_obj(ROIS)
    gen_circle (ROI_0, 3323.37, 2315.76, 200)
    gen_circle (ROI_1, 7049.7, 2332.7, 200)
    gen_circle (ROI_2, 12387.2, 2331.96, 200)
    concat_obj(ROIS, ROI_0, ROIS)
    concat_obj(ROIS, ROI_1, ROIS)
    concat_obj(ROIS, ROI_2, ROIS)
    count_obj(ROIS, Number)
    for i:=1 to Number by 1
        select_obj(ROIS, ROI, i)
         gen_cooc_matrix(ROI, Image, Matrix, 6, 0)
         cooc_feature_matrix(Matrix, Energy, Correlation, Homogeneity, Contrast)
         Energys[i-1]:=Energy
         Correlations[i-1]:=Correlation
         Homogeneitys[i-1]:=Homogeneity
         Contrasts[i-1]:=Contrast
    endfor
    stop()
endfor

3.cooc_feature_image - 获取纹理特征

作用:获取纹理特征
算子:cooc_feature_image(区域, Image : : LdGray, Direction : Energy, Correlation, Homogeneity, Contrast)
参数:
LdGray:计算灰度共生矩阵的窗口大小2的几次幂,12*2的窗口,24*4的窗口
Direction :计算灰度共生矩阵的方向有0, 45, 90, 135,'mean'
Energy:纹理特征- 能量即纹理变化的均匀性
Correlation:纹理特征- 相关性
Homogeneity:纹理特征- 局部均匀性
Contrast:纹理特征- 对比度

样例代码:

ImagePath:='D:/S3/image/1-13/13-origimn/s5_base/LouBai'
list_image_files(ImagePath, 'default', [], ImageFiles)
for Index:=0 to |ImageFiles|-1 by 1
    read_image(Image, ImageFiles[Index])
    Energys:=[-1,-1,-1]
    Correlations:=[-1,-1,-1]
    Homogeneitys:=[-1,-1,-1]
    Contrasts:=[-1,-1,-1]
    gen_empty_obj(ROIS)
    gen_circle (ROI_0, 3323.37, 2315.76, 200)
    gen_circle (ROI_1, 7049.7, 2332.7, 200)
    gen_circle (ROI_2, 12387.2, 2331.96, 200)
    concat_obj(ROIS, ROI_0, ROIS)
    concat_obj(ROIS, ROI_1, ROIS)
    concat_obj(ROIS, ROI_2, ROIS)
    count_obj(ROIS, Number)
    for i:=1 to Number by 1
        select_obj(ROIS, ROI, i)
        cooc_feature_image(ROI, Image, 6, 'mean', Energy, Correlation, Homogeneity, Contrast)
        Energys[i-1]:=Energy
        Correlations[i-1]:=Correlation
        Homogeneitys[i-1]:=Homogeneity
        Contrasts[i-1]:=Contrast
    endfor
    stop()
endfor
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值