MATLAB编程统计晶粒长径比的方法

       最近看到一些微结构模拟文献中统计了晶粒的长径比,用于比较柱状晶和等轴晶的占比,进而去比较一些其他性能。因此,晶粒长径比是一个比较重要的统计量,本人正好有了一些增材制造微结构的仿真结果,遂产生了这个想法,通过一些“手段”对模拟结果后处理,得到晶粒的长径比信息。

      先调研了一些文献中提到的用于统计长径比的软件,主要有Matlab toolbox MTEX、ImageJ software,但摸索了两天都没学明白。后面又看到一款比较新的软件MIPAR,功能很强大,可是不免费且网上没有盗版资源。最终,还是决定硬着头皮自己写吧,至于用哪种语言就看网上哪个方法的教程多,好走得通。

      那么自己写代码的话,就得理清逻辑,根据自己的目标和已有基础,制定一个可行的方案。如图1所示,这是我的一个基本研究思路和任务分解,以及每个子任务涉及的主要学术词汇(关键词),方便我去检索相关知识,最后把这些模块拼接起来,实现整体运行。


   图1 任务分解
 

任务一:图像分割

    直接处理图像得到相应点信息,不如直接处理数据处理模拟结果的数据文件并提取其中的坐标、对应的晶粒取向场序参量信息,这样数据更精准、更多样,可操作性也越强。将得到的数据赋予矩阵GR,每个矩阵元素取该点处值最大的序参量值(1,2,...),如果最大值小于0.1(0.1是给定阈值,可根据需要改)的序参量则认为是气体并取0。接着把矩阵GR的相同值分离到i个矩阵中,矩阵GRi只有0和1 两种值,1为GR元素为i所对应位置。最后通过matlab的bwlabel函数别每个GRi连通域,从而识别每个晶粒。

图2 图像分割

任务二、三:图像边缘提取和椭圆拟合

      方法一:根据上一步的图像分割,每个晶粒可看作由一系列点组成,采用matlab函数boundary识别这组点的边界,根据边界信息拟合椭圆。图中拟合椭圆的函数fitellipse是自定义函数,可在网上搜到类似的代码,我用的这个函数来自链接https://blog.csdn.net/xsz591541060/article/details/114087085 。试验之后发现这个函数有一点缺点,对近似矩形的图案拟合效果较差,但整体来说还是可行的。

      图3 图像边缘提取和椭圆拟合方法一

      方法二:继续在网上查找,发现了一个用来度量图像区域属性的matlab函数regionprops,技能识别图案轮廓,又能拟合出与区域具有相同标准二阶中心矩的椭圆,可谓一举两得。测试过后,效果十分好,计算效率也高。

图4 图像边缘提取和椭圆拟合方法二

任务四:参数统计、画图

      根据之前拟合结果,可以把长轴、短轴长度记录下来,两者相除得到长径比。顺便可以统计每个晶粒的面积,计算晶粒所含像素总合即可。下图给出了统计得到的相关参数图像。


   图5 统计信息绘图
 

   以上就是用Matlab代码统计晶粒长径比的研究思路及过程,感谢大家的阅读。

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空