本发明涉及岩石表面形貌探测

技术领域:

:,具体是基于matlab的增大页岩afm灰度图分辨率的方法。

背景技术:

::原子力显微镜(afm)可以对各种样品进行纳米量级的物理性质包括表面形貌进行探测,它越来越广泛地被应用于地质领域,利用它可以检测岩石表面形貌,得到力学性质、糙度等有意义的数据。页岩孔径主要分布在小于50nm范围,小于50nm的微孔和介孔提供了大部分比表面积和孔体积,是气体吸附和储存的主要场所,所以研究50nm以下孔径范围内孔隙的分布非常重要,但用afm来探测页岩表面形貌再利用相关处理软件测量孔隙相关参数时会遇到灰度图像的分辨率过低的情况,导致测得的孔径集中于数十、上百纳米范围,不符合真实情况,有悖于用其他实验测试手段得到的结果和大量研究经验的总结,因此afm还未被广泛地用于测定页岩样品孔隙相关参数,而这些参数是定量表征页岩特性的重要参数。技术实现要素:为了解决现有的页岩afm扫描得到的灰度图像分辨率过低从而无法处理以得到满足需要的页岩表面形貌信息的问题,本发明提供基于matlab的增大页岩afm文件灰度图像分辨率的方法。本发明采用的技术方案如下:s1:预处理s11:处理图像,得到图像的三维信息;s12:导出afm文件中包含的三维数据,为一组x、y、z的坐标矩阵;该方法还包括以下步骤:s2:利用matlab增大afm文件中灰度图像分辨率s21:将步骤s12中得到的三维数据导入matlab,得到三个表格型变量,数据类型为table;s22:调用table2array函数将三个表格型变量转换为双精度浮点型变量;s23:调用meshgrid函数,根据x坐标、y坐标矩阵的数据范围来建立平面网格数据矩阵;s24:调用griddata函数根据三维结构计算平面网格数据点对应的z坐标值,得到z坐标矩阵;s25:对z坐标矩阵数据进行归一化处理,归一化到0-255之间;s26:调用uint8函数将z坐标矩阵数据类型转换为8为无符号整形;s27:调用imshow函数和所生成的z坐标矩阵作灰度图像;s28:调用set函数裁剪图像的边框指定图像的分辨率;s29:调用axis函数将图像纵横比设置为自动,保存图像为png格式。优选的,所述的预处理步骤s11中使用软件nanoscopeanalysis中进行相应阶数的flatten处理、降噪音处理,处理过后的文件包含真实的三维信息,根据研究需要,截取所选部分的图像储存为原文件的格式。优选的,所述步骤s12中利用软件gwyddion导出afm文件中所包含的三维数据。优选的,所述的步骤s23中,meshgrid函数所建立的平面网格数据所构成的平面网格数据在横向和纵向上的数量要大于set函数所指定的图像像素点横向和纵向上的数量。优选的,所述的步骤s23中,meshgrid函数参数设置时,对原x、y坐标矩阵最小值采用进一法取值,对原x、y坐标矩阵最大值采用去尾法取值,将这两组值分别设置为两组参数的起始数值和终止数值。优选的,所述的步骤s24中,griddata函数中使用的插值方法为cubic。优选的,所述的步骤s25中归一化方法为:每个z坐标矩阵数据减去z坐标矩阵中最小值的结果除以z坐标矩阵中最大值和最小值的比值,所得结果再乘以255。本发明的有益效果:第一,为页岩孔隙定量表征提供了一种新的实验手段:富有孔隙的页岩表面形貌参差不平,其参差特点不利于afm探针发挥作用,因此对页岩扫描得到的afm文件的灰度图像的分辨率过低,得不到符合需要的和表面形貌有关的数据,而这种方法克服了对页岩扫描得到的afm文件三维灰度图像分辨率低的问题,高度还原出真实的、精确的三维数据,在此基础上,便可定量表征页岩孔隙孔径特点,为孔隙特点定量表征提供了一种新的实验手段。第二,拓展了afm的应用范围:目前afm主要用于测定页岩的糙度、岩石表面的力学性质,而还未广泛用于表征页岩孔隙孔径分布,这主要是碍于页岩afm文件中的灰度图像分辨率不够高,图像的像素个数太少,该方法使得afm能够定量表征页岩孔径分布特点,拓展了afm的应用范围。第二,节省实验成本,提高了实验的容错率:afm扫描面很小,根据宏观经验选择扫描面难免得到不符合研究需要的数据,这种情况下,该实验数据就浪费了,而用此方法能够在极小的扫描面数据上进一步截取符合研究需要的部分进而增多此部分图像的信息,让实验数据能够得到更好的应用。附图说明图1是本发明方法流程图;图2为本发明实施例中利用afm原文件灰度数据建模得到的页岩样品表面三维图像;图3为本发明实施例中根据增大分辨率后的灰度图像中数据建模得到的页岩样品表面三维图像。图4为本发明实例所述的根据处理前后的afm文件所得到的页岩样品孔隙孔径分布数据。具体实施方式以下结合实施例和附图对本发明的技术方案进行详细说明。如图1所示,本发明提供了基于matlab的增大页岩afm灰度图分辨率的方法,包括:s1预处理s11:利用nanoscopeanalysis打开afm文件,对图像进行相应阶数的flatten处理,这种处理是为了消除实验产生的误差,得到真实的样品信息;对图像进行降噪处理,去除图像中的噪声,以免噪声对后续处理带来干扰;对图像进行裁剪处理,以得到满足需求的那部分图像以及数据。s12:利用gwyddion打开经过nanoscopeanalysis处理过的文件,将文件另存,选择格式为xyztestdata,再为保存的文件添加“.txt”后缀,这样文件就变为excel可读并且可导入matlab的文件。s13:将s13中得到的文件导入excel,在excel中将三维数据的单位由米换算为纳米,在excel中会看到文件为三个行数相等的列向量,其中的数值即为灰度图像各像素点在空间上的x、y、z坐标,行数的平方根为整数,这个整数即为gwyddion中statisticalquantities中显示的图像纵向和横向的像素个数,将这三个列向量分别转换为三个正方形矩阵排布,即将三列数据按其在空间上的位置排布。s2利用matlab增大页岩afm文件中灰度图像分辨率s21:将预处理得到的三维数据矩阵导入matlab,得到三个类型为table的表格型变量;s22:为了使得矩阵数据可以进行运算并保证运算的精度,调用table2array函数将三个表格型变量转换为双精度浮点型变量;s23:调用meshgrid函数,根据x坐标、y坐标矩阵的数据范围来建立平面网格数据矩阵,在原网格基础上增大网格密度,meshgrid函数的参数具体参数设置为:将从原afm数据中提取出的平面网格坐标矩阵中x、y坐标矩阵的起止坐标分别设置为两组参数的起始数值和终止数值,设置更小的数据点坐标间隔;这样,在相同的平面扫描面积上,减小了数据点之间的间隔,使得相同面积的平面上数据点增多,使得数据点更密集,建立了数据间隔更小的平面坐标网格数据矩阵;另外,在设置起止点数据时,由于原始x、y矩阵起止坐标数值可能是无限不循环小数,为了满足griddata函数的调用格式,对meshgrid函数的参数进行设置时,对原x、y坐标矩阵最小值采用进一法取值,对原x、y坐标矩阵最大值采用去尾法取值,将这两组值分别设置为两组参数的起始数值和终止数值;同时,该操作生成的平面网格为规则的网格,有利于后续使用griddata函数进行插值;s24:调用griddata函数,带入原始x、y、z坐标矩阵和建立的更为密集的x、y坐标矩阵,根据三维结构计算更为密集的平面网格数据点对应的z坐标值,得到z坐标矩阵,由于afm得到的数据所对应的数据点在平面上不一定能构成规则的网格,为了使griddata函数的调用不出现错误,且为了使计算出来的数据尽量能够贴合其三维形貌,这里插值函数选择调用cubic(三维插值),cubic函数为了使插值点坐标计算的数据来源最优化,在凸包算法的基础上利用目前最优的二维分割算法(delaunay三角剖分算法)得到同时满足全局最优和局部最优的三角网,利用三角网中单一三角形中三个顶点数据点的z坐标值来计算每个单一三角形中插值点z坐标值,在计算插值点z坐标时,为了保证计算结果足够精准,采用三次方程插值算法,构建出的三次方程满足几个条件:函数值和三角形顶点的真实值相等;三角形顶点处函数的一阶及高阶导数和利用已知数据算出的一阶及高阶导数相等,这样保证了曲面的光滑性和插值点坐标计算的准确性,根据统计、计算,cubic函数插值的中误差在0.6个单位左右,极小,这说明cubic插值函数的计算结果精度很高。s25:对z坐标矩阵的数据进行归一化处理,归一化到0~255之间,这里用每个数值和最小值的差与最大、最小值的差值求商,所得商乘以255,这样将z坐标矩阵中任意数值范围的数值等比例归一到0-255范围内,既符合后续imshow函数的灰度梯度成像数值调用范围,又避免了直接调用uint8函数时截断数据导致的巨大误差,所得结果有利于利用matlab自带函数成灰度像;s26:调用uint8函数将z坐标矩阵数据类型转换为8位无符号整形;s27:调用imshow函数和所生成的z坐标矩阵作灰度图像;s28:调用set函数裁剪图像的边框指定图像的分辨率,这里指定的图像横向和纵向像素点的个数要小于平面网格在横向和纵向上的数据个数;s29:调用axis函数将图像纵横比设置为自动,保存图像为png格式。s30:用gwyddion打开保存的灰度图像,并进行测试。为了体现处理过后的数据效果,对比利用处理前后的数据建模得到的页岩样品表面三维图像,分别如图2、图3,可以看到,利用本发明得到的,相同面积上更多、更密集的三维坐标数据集反映的三维形貌和原数据反映的基本无异。分别用afm原灰度数据和处理过后的灰度数据得到了页岩上同一扫描面孔径分布如图4,处理前1um2的真实面积上的三维灰度图像像素为256x256px2,处理后约1um2真实面积上的三维灰度图像像素为800px2,增加图像像素后,图像包含了更多更精细的信息。因此,利用处理后的数据测试得到的平均孔径更小、孔径分布集中于更小的孔径;处理前测试不出小于2nm的孔隙,处理过后能测得2nm以下的孔隙,识别的孔隙孔径下限提高了;处理前测得200多个孔隙,处理后测得1000多个孔隙,识别的孔隙数量也增多了,符合用其它测试手段得到的结果。当前第1页1&nbsp2&nbsp3&nbsp当前第1页1&nbsp2&nbsp3&nbsp

matlab处理afm图片,基于MATLAB的增大页岩AFM灰度图分辨率的方法与流程相关推荐

  1. matlab最小二乘 弹性网络,基于弹性SCAD罚函数的回声状态网络时间序列预测方法与流程...

    本发明涉及信息技术领域,具体地说是一种基于弹性SCAD罚函数的回声状态网络时间序列预测方法. 背景技术: 回声状态神经网络是一种新型的递归神经网络学习方法.其通过引入一个随机生成.且保持不变的,称作为 ...

  2. Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分、篮板、助攻

    Matlab之DNN:基于Matlab利用神经网络模型(epochs=10000000)预测勒布朗詹姆斯的2018年总决赛(骑士VS勇士)第一场得分.篮板.助攻 目录 输出结果 预测勒布朗詹姆斯的20 ...

  3. python登录系统账号检测_一种基于python的惠普打印机默认用户名密码检测方法与流程...

    本发明涉及打印机检测技术领域,特别是一种基于python的惠普打印机默认用户名密码检测方法. 背景技术: 网络打印机是当前各大中小型企业正常办公比不可少的办公网络设备,但对于大中型企业而言,不同部门或 ...

  4. emif接口速率问题_基于EMIF接口的双速率1553B总线设备通信方法与流程

    本发明涉及计算机总线通信 技术领域: ,尤其涉及一种基于EMIF(ExternalMemoryInterface,外部存储器接口)接口的双速率1553B总线设备通信方法. 背景技术: :某一1553B ...

  5. matlab水果图片,基于MATLAB的水果识别的数字图像处理教程.docx

    基于MATLAB的水果识别的数字图像处理教程 图像处理(报告) 题目: 基于MATLAB的水果识别的数字图像处理 指导教师: 职称: 教授 学生姓名: 学号: 专 业: 院(系): 完成时间: 201 ...

  6. matlab水果图片,基于matlab的水果识别的数字图像处理

    基于matlab的水果识别的数字图像处理 图像处理(报告)题目: 基于 MATLAB 的水果识别的数字图像处理 指导教师: 职称: 教授 学生姓名: 学号:专 业: 院(系): 完成时间: 2016 ...

  7. 基于matlab的msk仿真,基于MATLAB的MSK系统原理仿真分析

    <基于MATLAB的MSK系统原理仿真分析>由会员分享,可在线阅读,更多相关<基于MATLAB的MSK系统原理仿真分析(39页珍藏版)>请在读根文库上搜索. 1.分类号 密级 ...

  8. 基于matlab 论文知网,基于MATLAB的校园图像处理与分析

    内容介绍 原文档由会员 jiji888 发布 基于MATLAB的校园图像处理与分析 2.13万字 我自己原创的毕业设计,今年最新的,仅在本站独家提交,大家放心使用 摘要 随着计算机科学技术的不断发展以 ...

  9. matlab波形反白,基于MATLAB的海岸污染物浓度扩散实验分析

    海岸污染物图像序列隐含丰富的物质输移扩散的重要特征,通过CCD图片得到所需要的信息具有广泛的应用价值.传统的接触式和单点式测量方法很难全面高效地得到需要的实验结果,而利用CCD等摄像设备进行测量记录, ...

最新文章

  1. 拼多多程序员:因为看到同事被抬上救护车,我被开除了!
  2. QRCode.js -- 用 Javascript 生产二维码
  3. 51nod 2497 数三角形
  4. 原来不只是fastjson,这个你每天都在用的类库也被爆过反序列化漏洞!
  5. Retrofit网络请求参数注解,@Path、@Query、@Post、Body等总结(超级实用)以及以Json格式和form-data格式提交数据
  6. 螺旋测微器 flash_使用测微计收集应用程序指标
  7. (X)HTML嵌套规则
  8. think python下载 中文版开源!这或许是最经典的编程教材
  9. Linux笔记-设置SSH公钥免密码登录
  10. linux禁用root登录
  11. 修改模板文件后,Build Project(ctrl+F9)可以快速运行
  12. 马化腾卸任财付通网络小贷公司董事长、总经理
  13. idea 代码格式化 Spotless 教程
  14. 彻底搞懂SSD网络结构
  15. 这届年轻人,为什么越挣钱越穷?
  16. java 主动模式 port_详解SpringBoot修改启动端口server.port的四种方式
  17. ubantu20切换源
  18. 一年期早过:Windows 10免费升级漏洞仍然敞开着
  19. 互联网快讯:阿里云发布第四代神龙架构;微信支付正式推出品牌视频号;猿辅导加速布局素质教育
  20. 计算机论文的摘要和关键词是什么意思,什么是论文的摘要、关键词

热门文章

  1. 紫薇星“Jigsaw Puzzle”
  2. js加ajax实现分页
  3. 云计算+,如何推动建筑行业智慧化升级?
  4. 解决JDK13版本后IntelliJ IDEA导入新字体文件
  5. 混音软件哪个好用?这几个软件不容错过
  6. apollo自动驾驶进阶学习之:如何实现施工路段限速绕行及其参数调试
  7. 回顾2022! 链上NFT精彩项目大盘点
  8. Soul源码总结-01-15
  9. 首个中文开源扩散模型!中文AI艺术时代即将开启(IDEA封神榜团队)
  10. 【TensorFlow】基础教程