MATLAB MultiDIC/Ncorr/DIC+材料应力应变分布数字图像相关

本文介绍了数字图像相关(DIC)技术的工作原理,包括图像获取、特征点处理、匹配和应变计算,以及开源工具MultiDIC的配置、环境设置和具体操作步骤。重点讲解了如何使用MultiDIC进行2D-DIC分析,包括设置参数和后处理过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概念

数字图像相关(Digital Image Correlation,DIC)是一种用于测量物体表面位移和应变的非接触性光学测量技术。它的工作原理涉及图像处理和分析,通常包括以下步骤:

  1. 图像获取:DIC的第一步是获取物体的图像。通常使用一台或多台相机来捕获物体的表面。这些图像可以在不同加载条件下或不同时间点拍摄。在应用中,通常会选择高分辨率的相机以获得精确的数据。

  2. 初始化:在开始之前,需要对图像进行初始化。这包括设置坐标系统、选择感兴趣的区域或表面,并标定相机,以确保精确的测量。

  3. 特征点提取:DIC软件会分析图像,寻找物体表面的特征点。这些特征点可以是明显的点、纹理或其他可用于跟踪的特征。通常,这些特征点在不同图像之间会有一定的对应关系。

  4. 匹配:一旦提取了特征点,DIC软件会在不同图像之间匹配这些特征点。这是一项关键的工作,它允许软件跟踪这些点的位置,从而测量位移和形变。

  5. 位移计算:DIC通过比较特征点在不同图像之间的位置来计算物体表面的位移。这通常涉及到子像素级的位移测量,以提高测量的精确度。

  6. 应变计算:位移计算后,DIC可以计算物体表面上的应变。应变是位移的导数,它提供了有关物体变形的详细信息。

  7. 结果可视化:最后,DIC软件通常会生成可视化的结果,如位移图、应变图和形状变化图。这些结果帮助研究人员更好地理解物体的变形和应力分布。

总的来说,DIC是一种强大的工具,可用于研究材料的机械性能、结构的响应以及其他应用领域的变形分析。它是一种非接触性测量方法,因此非常适合在实验中使用,以避免对被测物体造成损害。 DIC的精确性和分辨率通常受到图像质量、特征点密度和相机标定的影响,因此在应用中需要仔细考虑这些因素。

二、MultiDIC学习记录

开源在https://github.com/MultiDIC/MultiDIC

配置:作者的MultiDIC是在MATLAB版本2017a和2017b上开发的,在R2021b上进行了测试。在下载完成MultiDIC后将文件解压放到matlab的toolbox文件夹里,如下:

然后在matlab界面点击APP-安装APP-选择MultiDIC文件夹-选中下面的文件-打开,完成后重启或在主页-预设更新一下APP

环境设置

1.MultiDIC包括2D-DIC软件Ncorr,它需要一个MEX (c++)编译器。安装:matlab MinGW-w64 C/C++ Compiler 的配置(附百度云下载资源)_mingw-w64 6.3 百度网盘-CSDN博客

2.需要四个工具箱:Simulink / Image Processing Toolbox / Statistics and Machine Learning Toolbox / Computer Vision System Toolbox 

可输入以下两个命令检查是否配置完成:

程序调用: 

installMultiDIC 

在fx后面输入上述命令,如果安装没有问题配置完成将弹出如下界面:

这里就是MultiDIC中包含的2D-DIC软件Ncorr,到这一步已经可以进行二维的图像处理:

在具体操作之前必须提到的是这个开源有自己的命名规则,在官网给出的manual里解释如下:

简单来说就是你需要处理的一组照片名字必须是“项目名称-下划线-序号”的格式,如SONY_01,且顺序不能混乱。接下来是具体处理步骤:

1.导入reference image,也就是变形前的图像,在界面的file-load reference current image,选择需要的照片

2.导入current image,也就是你需要计算的图像,file-load current image,选择命名格式正确的一组图像,在里面有两个小的可选项load all和load lazy,通俗的解释就是你要选择一次性导入图像的全部计算点存储还是在计算的时候再拉取相关图像,建议选择all

3.设置reference ROI,也就是监测的变形区域,在region of interest-set reference ROI,这里也有两种方式,一种是直接在图上绘制,另外一个是导入你已经设置好的图像,官方给的教程是导入设置好的图像,这个方法好在不需要后续再一个个操作,每次计算都可以直接选择,可以根据自己的情况自行调整。

完成后如图:

4.设置DIC参数,在analysis-set DIC parameter,主要需要考虑的是subset radius子区的半径和subset spacing子区的步长,步长建议默认1不变,这里的1是指按照导入的照片逐张分析而不是按照一定的间隔分析。子区半径需要根据自己的数据自行调整,一开始可以按照默认的大小进行,半径的选用原则是越小越好,但是小半径会产生噪点过多或者一些其他的问题,需要根据自己的情况调整,程序计算速度不慢,可以尝试多换几个不同梯度的参数比较一下。

如果对精度有特殊要求可以研究一下它的算法,根据算法修改收敛判断等,可参照DIC检测算法 - 知乎 (zhihu.com)

DIC Algorithms (ncorr.com)

5.执行DIC分析,perform首先需要选择计算的区域,在弹出的界面选择,左键即可,然后需要选择种子点,点击set seeds,选择种子点的原则主要看清晰度和位置,选择清晰不会被遮挡且靠中间的位置。选择一个位置点击finish会弹出一个对话框确认,确认完成后程序会监测选的种子点是否在每张图片都都可用,如果此时报错请选择cancel,不要继续finish,回去重新选择种子点的位置。可以设置多个。

对选定的种子点进行检测:

常见报错如下图, 此时点确定会弹出哪个地方丢失数据了,这个时候点击左上方的cancel回去重新选,不能继续finish,这个软件是开环控制,点finish会一直继续计算到最后查看应力图才会提示你中间哪里有bug看不了,白白浪费很多时间(一些踩坑实录)

上述步骤无报错完成后可以一直点finish出现progress界面,此时程序在逐张处理数据,处理的速度取决于图片质量,等待完成点确定即可。

6.位移标定,在Analysis-Format Displacements,根据自己的图像进行格式化即可,如果按照像素点就先默认,需要修改点击Get Unit Conversion,导入图片进行标定后finish。噪点可能导致最后结果偏大/偏小,可以简单调整一下(看自己需求),需要调整可以去掉一些极值,点cut off下面的左键调整,图里忘框了,全部完成后finish-yes

7.设置应变参数,plot-caculate strain,这里主要修改应变半径,可以调整preview中点的位置观察右边displacement-pixels的变化,最好的情况是不要有太大的波动,趋势平滑,如果变化比较大把半径调小,我选用范围是2-10,根据自己的情况选择。yes后等待结果

8.观察结果,在plot-view strains plots,如果前面操作没有问题,现在就可以查看得到的2D-DIC结果了

数据后处理:待更...

3D-DIC 

### 使用 Ncorr 进行 2D DIC 分析并计算 Mises 应力 为了使用 `ncorr` 软件包进行二维数字图像相关 (DIC) 分析,并进一步计算 Mises 应力,需遵循一系列特定的操作流程。以下是详细的说明: #### 准备工作环境 确保 MATLAB 工作环境中已安装好 `ncorr` 并设置路径: ```matlab cd ncorr_2D_matlab; addpath(pwd); handles_ncorr = ncorr; ``` 此命令序列初始化了必要的函数库以便后续调用[^1]。 #### 执行图像匹配过程 通过加载待处理图片集以及定义变形前后区域来启动分析程序。具体操作涉及指定参考帧和目标帧之间的位移场求解参数配置文件。这部分通常由图形界面引导完成,也可以编写脚本自动化执行。 一旦获取到全场位移数据,则可以继续下一步骤——应变张量构建。 #### 构建应变张量 基于所得到的像素级位移信息,利用有限差分法或其他数值方法近似导数运算从而获得局部应变状态矩阵\[ε\]。对于平面应力条件下,该矩阵形式如下所示: \[ \varepsilon=\begin{bmatrix} ε_{xx}\\ ε_{xy}=γ/2\\ ε_{yy}\end{bmatrix} \] 其中 \( γ=ε_{xy}+ε_{yx} \),代表剪切角变化率;而其他两个分量分别对应于沿坐标轴方向上的线性伸缩程度。 #### 计算弹性模量与泊松比 根据实验条件设定材料属性中的杨氏模量 E 和 泊松比 ν 的取值范围。这些物理常数决定了物体在外载荷作用下的响应特性,在实际应用中往往依据制造商提供的技术资料选取合适区间内的平均值作为输入参量参与后续力学性能预测模型建立过程中去。 #### 求解 Von-Mises 等效应力 最后一步便是引入广义胡克定律表达式联立上述所得各项结果共同推导出最终所需的Von-Mises等效强度指标σ_vM 。其通用公式表述为: \[ σ_\text{VM} = \sqrt{\frac{(σ_x−σ_y)^2+(σ_y−σ_z)^2+(σ_z−σ_x)^2}{2}}+\sqrt{3(τ_{xy})^2} \] 但在当前讨论的情境下由于只考虑XY平面上的情况所以简化后的版本应该是这样的样子: \[ σ_\text{VM,plane stress} = \sqrt{{(\sigma _x-\nu*\sigma _y)}^2+(\tau ^2)+({\sigma _y}-ν*{\sigma _x})^2-(ν*(σ_x-σ_y))^2 } \] 这里需要注意的是当涉及到不同类型的边界约束情形时可能还需要额外调整系数以适应实际情况需求。 综上所述,整个流程涵盖了从原始影像采集到最后得出量化评价指标的一系列环节,每一个阶段都紧密相连缺一不可。希望以上介绍能够帮助理解如何运用Ncorr工具箱配合MATLAB平台实现高效精准的数据挖掘任务。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值