本节基于本章中的图像处理以及三维重构的基础上引入分形理论来描述加锚节理试件在剪切作用下的内部破碎状态,实现对试件内部破碎情况的定量分析。本节将选用比较常用的盒维数进行描述,盒维数计算示意图如图3.41所示。
图3.41 盒维数计算示意图
(1)盒维数定义
利用边长为r的小盒子将所研究的图像覆盖住,然后统计含有裂隙的非空盒子个数[记为N(r)];随着边长r的减小,盒子的个数增大,从而能够更精确地覆盖住图像中的裂隙部分。当r→0时,将得到所求的分形维数。
实际计算中的r只能取有限的,因此选择一系列的r和N(r),然后在双对数坐标中用最小二乘法拟合得到直线,所得的直线斜率就是其分形维数。
盒子的边长一般取:
式中 r0——盒子的最小边长。
(2)差分盒维数
由于盒子计数法是用盒子覆盖住图形的盒子的个数作为分析分形维数的依据,而这种计算方法存在较大的误差,不能充分利用CT图像中的有效信息,因此,引入差分盒维数法,是在盒维数法的基础上的进一步完善,对给定的面积M×M的CT二值化图像进行分形计算。用边长为r的盒子取覆盖要分形的图像,则该图形可以被分解成s×s个小块,s是介于1和M/2之间的一个整数,记为r=s/M。可把面积为M×M的图形抽象成一个三维空间,(x,y)代表某一像素点所在的平面位置,第三维代表像素点的灰度值。这样把图像平面划分为多个s×s的网格,就可以认为在每一个网格的位置上存在一系列体积为s×s×s′的盒子。假设在图像的第(i,j)个网格中的最大灰度值和最小灰度值相分别分布在第1个和第k个小盒子中,则Nr在第nr(i,j)个网格内的分布nr(i,j)为
对所有的格子nr(i,j)求和,则有Nr=∑nr(i,j)。(www.xing528.com)
对于不同的s,都存在与之对应的一个r,s不断变化r也随之变化,经过多次的变换,可以得到一些列的r~N(r)散点图,采用最小二乘法可以拟合出ln N(r)-ln(1/r),该直线的斜率即为对应的分形维数D。
(3)利用Matlab计算分形维数
利用Matlab软件自行编程进行分形维数的计算。具体步骤如下:
①读取图像。在计算机中,图片的大小、类型和数据区、偏移量等信息不能直接识别,需要转化成计算机能识别数字信息,通过imread函数导入图片信息,以数据字节的形式记录图片信息,还有一部分数据信息以二维数组的形式对应图片中的每个像素点的信息。
②将原始图像转化成灰度图像。将原始图像灰度处理的方式有分量法、最大法、平均法、加权平均法。Matlab中采用的是加权平均的算法,调用rgb2gray(I)函数对原始图像灰度处理。
③获取图像边缘。输入灰度处理后的图像后,调用edge(I)函数,检测图像的边缘,将边缘位置的数值定义为1,其余部分定义为0,通过边缘检测选取出截面边界,避免截面周围的空气对计算试件内部裂隙的分形维数的影响。
④获取图像尺寸。经过上述步骤处理后,在程序中呈现的实际是一个矩阵形式,通过调用size(I)函数,能够获取矩阵的行数和列数。
⑤求出Nr等数据。选取CT图像尺寸为M×M,选择盒子尺寸为s(1≤s≤M/2,s=2,4,8,…),计算尺度r=s/M将CT图像划分为s×s×s′的盒子,计算各个盒子的nr(i,j)的值,计算该M×M区域内对于尺度r下的盒子数:
⑥曲线拟合。调用Polyfit函数,基于最小二乘法理论曲线拟合,直线的斜率即为所求的分形维数。
(4)结果分析
通过Matlab软件自行编程计算得到的分形维数列入表3.5和表3.6中,图3.42为选出的节理倾角为0°时的散点图和拟合情况。
图3.42 倾角为0°的加锚节理试件分形维数变化
根据盒维数的定义,对于完整的试件分形维数为3,随着加锚节理试件在剪切作用下的内部破裂程度的增大,从初始状态的接近3到最终破坏阶段的2.204 8,分形维数越来越小。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。