cooc_feature_matrix — 2D texture op

• 数据种类:image → feature

• 调用:fullseye.apply(img, "cooc_feature_matrix", a=0.5, b=0.5)(2-D 的模型是一张图 + 两个标量旋钮 a,b∈[0,1])

• HALCON 对应:cooc_feature_matrix(其含义与参数可参考 HALCON 手册)

cooc_feature_matrix: input → output

*图为在 128×128 合成输入上实际运行的输出。左为输入,右为输出。点云以俯视散点显示(亮度 = z),一维序列为折线,体数据为沿 z 的最大值投影,视频为中间帧,复数图像为幅值;无法成像的返回值直接显示数值。*

扫描旋钮 a(0.1 / 0.5 / 0.9,另一旋钮取默认):

▸ cooc_feature_matrix: 旋钮 a 扫描 (文档网站)

扫描旋钮 b(0.1 / 0.5 / 0.9,另一旋钮取默认):

▸ cooc_feature_matrix: 旋钮 b 扫描 (文档网站)

用法

从灰度共生矩阵(GLCM,skimage.feature.graycomatrix,量化为 16 阶,距离 1+3*a,角度 0°)计算 Haralick 纹理特征 energy(角二阶矩,即矩阵值的集中程度=纹理均匀性)。相当于 HALCON 的 cooc_feature_matrix(Calculate gray value features from a co-occurrence matrix.)(HALCON 可同时返回多个特征、多个角度,但这里简化为固定 energy、角度 0°)。

a 在 1~4 的范围内调节取共生的像素间距。★b >= 0.75 时对 0/45/90/135 度 4 个方向取平均(默认 b=0.5 仍与以往一样只用 0 度,因此现有结果连 1 个比特都不会变)。

旋转实拍纹理(brick / grass / gravel)进行测量(poc_real_texture_invariance 的第 6 节)可知,是否有效取决于距离 a:

• 首先,增大 a 会使材质之间的分辨率本身崩溃(0.0328 -> 0.0122,降为 2.7 分之 1)。各向异性的 brick 的波动幅度膨胀到分辨率的 0.30 -> 3.13 倍。

• 4 方向平均对各向同性的材质在短中距离上有效(grass 0.23 -> 0.12,gravel 0.20 -> 0.11)。

• 对各向异性的 brick 只在距离 4 时有效(3.13 -> 1.54),在距离 1 时反而变差(0.30 -> 0.56)。

• 到了距离 4,连各向同性的 grass 也不再改善(0.17 -> 0.19)—— 分辨率崩溃之后,即使平均也无法挽回。

在长距离下使用时,应在施加平均之前确认材质是否仍能区分。另外,用“混淆次数”来衡量会对步骤(插值阶数、裁切方式、角度步长)敏感,比值(波动幅度 / 分辨率)更稳定。

详细使用指南

• gallery2d_texture_freq 族使用指南

参考(示例数据、文献)

• 示例数据目录(下载 URL / 许可证) —— 2-D 用 skimage.data(BSD/公有领域)加合成图,3-D 给出真实数据源(Stanford/PDS 等)的下载 URL。

• 算子来历与参考文献 —— 该算子族所依据的研究/方法出处。

• 算法的正典(作者、年份)与用途见上面的族使用指南。

在 Studio 中试试

下面的程序已确认可以运行(与图相同的输入)。在 Studio 帮助中,此块会变成按钮,可当场加载并运行。

cooc_feature_matrix 0.50 0.50

▸ 载入此流水线  ·  载入并运行

可运行的示例(实际调用该算子并已验证的样例)

• gallery2d_texture_freq — py -3.11 examples/gallery2d_texture_freq.py

• poc_real_texture_invariance — py -3.11 examples/poc_real_texture_invariance.py

类型可衔接的下一个算子(可接受 feature 作为输入)

identity · feature_to_img

同类别(texture)

std_filter · local_bimodality · local_std · scale_select_std · bootstrap_std_error · structure_tensor_orientation · structure_tensor_coherence · gabor


*Provenance: ops.py — 2D 算子登记表。本条目由 tools/opdocs.py md 自动生成(请勿手工编辑)。*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.