Ceradata的个人博客分享 http://blog.sciencenet.cn/u/Ceradata

博文

图像特征数值信息挖掘 续

已有 319 次阅读 2026-8-28 13:01 |个人分类:研究|系统分类:科研笔记

上一篇介绍了采用聚类机器学习算法提取照片中相组成数据的例子,其核心作用是将照片像素连续分布灰度分为k个类别,然后统计各类别的像素数,获得相组成特征数据。除了该类别总的特征数据之外,连续灰度类别化后,区域特征数值,如某相(包括缺陷)区域大小及其分布,各区域空间分布等信息,对于材料建模来说,也是非常重要的数值特征数据。

采用聚类算法将连续灰度照片转化为k种灰度(相)的照片,该照片清晰地显示出各相的尺寸大小及空间分布情况,下面介绍该信息的数值数据的提取方法,依然以R语言为例,需要其他语言者,可让AI帮助实现。

1. 将感兴趣的区域(相)为白(灰度值为1),其他区域为黑(灰度值为0

设该相的上下限灰度阈值分别为thdthukmeans法获得),原照片灰度数据集为gr2值化后黑白照片数据集为bw

bw <- ifelse(gr > thd & gr <= thu, 1, 0)

氧化钇分布图像.png

2. 将各独立的白色区域进行编号,调用bwlabel()函数

lbl <- bwlabel(bw)

该命令会将bw数据矩阵中数值为1的连续区域依次进行连续编号:1,2,。。。,n,结果存于矩阵变量lbl中。

3. 对各白色区域进行特征数值计算

(1)关心相区域(缺陷或某相晶粒)个数,即lbl数据集中最大编号值:

n <- max(lbl)

(2)1n逐一计算各区域的像素点及其位置:

该操作就是一个简单的矩阵元素查找的数学运算,即查询矩阵中元素值为某值的所有元素,并记录其所在行列位置。R语言中为which函数。

设计算标号为1的区域,

i <- 1

yi <- as.matrix(which(lbl == i, arr.ind = TRUE))

计算结果如下

row

col

1

175

1

2

176

1

3

177

1

4

178

1

5

175

2

6

176

2

7

177

2

8

175

3

9

176

3

10

177

3

结果表明区域1中一共有10个像素点,rowcol分别为各像素点纵向和横向位置。

 

(3)提取各区尺寸、空间位置等信息

根据原图的比例尺图,标定像素点的实际尺寸比例尺后,再由各区域的像素点数,可知其面积、特征尺寸(边长、直径),可统计粒径分布、空间分布等,如下图。

 

  

该例表明,一张照片可以简单地挖掘出大量的定量数值数据,可以,支撑数值建模,而不是停留在定性的描述层面。



https://blog.sciencenet.cn/blog-3659757-1549936.html

上一篇:无监督机器学习的数据特征值提取的应用例




    
收藏 IP: 114.243.119.*| 热度|

1 王涛

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2026-9-3 16:46

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部