表面粗糙度分析
表面粗糙度分析一、技术背景表面粗糙度是衡量材料表面微观几何形状误差的重要指标在SEM图像分析中用于评估样品表面质量。传统粗糙度测量需要触针式仪器而基于图像的方法通过分析灰度变化来近似计算粗糙度参数。在SEM项目中calcuateRA方法实现了基于灰度图像的粗糙度近似计算包括Ra算术平均粗糙度灰度偏差的算术平均值Rq均方根粗糙度灰度偏差的均方根值纹理复杂度评分综合GLCM特征和频域特征二、数学原理2.1 算术平均粗糙度Ra在机械测量中Ra定义为测量长度内轮廓偏差绝对值的算术平均Ra1n∑i1n∣yi−yˉ∣R_a \frac{1}{n}\sum_{i1}^{n}|y_i - \bar{y}|Ra​n1​i1∑n​∣yi​−yˉ​∣在图像中用灰度值代替高度值Raimg1M×N∑i1M∑j1N∣g(i,j)−gˉ∣R_a^{img} \frac{1}{M \times N}\sum_{i1}^{M}\sum_{j1}^{N}|g(i,j) - \bar{g}|Raimg​M×N1​i1∑M​j1∑N​∣g(i,j)−gˉ​∣其中g(i,j)g(i,j)g(i,j)为像素灰度值gˉ\bar{g}gˉ​为平均灰度。2.2 均方根粗糙度RqRq定义为轮廓偏差的均方根值Rq1n∑i1n(yi−yˉ)2R_q \sqrt{\frac{1}{n}\sum_{i1}^{n}(y_i - \bar{y})^2}Rq​n1​i1∑n​(yi​−yˉ​)2​图像近似Rqimg1M×N∑i1M∑j1N(g(i,j)−gˉ)2R_q^{img} \sqrt{\frac{1}{M \times N}\sum_{i1}^{M}\sum_{j1}^{N}(g(i,j) - \bar{g})^2}Rqimg​M×N1​i1∑M​j1∑N​(g(i,j)−gˉ​)2​2.3 归一化处理将粗糙度值归一化到[0, 100]范围Normalizedvalue−minmax−min×100Normalized \frac{value - min}{max - min} \times 100Normalizedmax−minvalue−min​×1002.4 纹理复杂度综合GLCM对比度和熵TextureScoreContrastEntropy2TextureScore \frac{Contrast Entropy}{2}TextureScore2ContrastEntropy​三、代码实现3.1 粗糙度计算主函数// 文件路径: e:\SEM\Utils\imageUtils.cs// 计算RA值(粗糙度)publicstaticRAInfocalcuateRA(Matsrc_img){// 预处理灰度化、直方图均衡、高斯模糊MatprocessedPreProcessimage(src_img);// 特征提取varstatsCalculateGrayStatistics(processed);// Ra, RqvartextureCalculateTextureFeatures(processed);// GLCM特征varfreqCalculateFrequencyFeatures(processed);// 频域特征// 综合评估returnnewRAInfo(){NormallizeRaNormalize(stats.Ra,0,255)*100,NormallizeRqNormalize(stats.Rq,0,255)*100,TextureScore(texture.Contrasttexture.Entropy)/2};}3.2 预处理函数// 文件路径: e:\SEM\Utils\imageUtils.cs// 粗糙度预处理publicstaticMatPreProcessimage(Matsrc_img){MatoutputnewMat();// 灰度化Cv2.CvtColor(src_img,output,ColorConversionCodes.BGR2GRAY);// 直方图均衡化增强对比度Cv2.EqualizeHist(output,output);// 高斯模糊降噪Cv2.GaussianBlur(output,output,newOpenCvSharp.Size(3,3),0);returnoutput;}3.3 灰度统计特征计算// 文件路径: e:\SEM\Utils\imageUtils.cs// 灰度特征统计privatestaticGrayStatsCalculateGrayStatistics(Matgray){// 计算灰度均值和标准差ScalarmeanVal,stdDevVal;Cv2.MeanStdDev(gray,outmeanVal,outstdDevVal);// 手动计算Ra每个像素与均值偏差的累加doubletotalDeviation0;doubletotalDeviationSquare0;varindexergray.GetGenericIndexerbyte();for(inty0;ygray.Rows;y){for(intx0;xgray.Cols;x){doubledeviationMath.Abs(indexer[y,x]-meanVal.Val0);totalDeviationdeviation;totalDeviationSquaredeviation*deviation;}}doublepixelCountgray.Rows*gray.Cols;returnnewGrayStats{RatotalDeviation/pixelCount,// 算术平均粗糙度RqstdDevVal.Val0// 均方根粗糙度标准差};}3.4 归一化函数// 文件路径: e:\SEM\Utils\imageUtils.cs// 工具方法归一化到[0,1]privatestaticdoubleNormalize(doublevalue,doublemin,doublemax){return(value-min)/(max-min);}3.5 RAInfo结构体// 文件路径: e:\SEM\Utils\imageUtils.cs// 粗糙度结构体publicstructRAInfo{publicdoubleNormallizeRa;// 相对算术粗糙度 (0-100)值越大表面越粗糙publicdoubleNormallizeRq;// 相对均方根粗糙度 (0-100)值越大表面越不均匀publicdoubleTextureScore;// 纹理复杂度0-10.7高粗糙0.3低粗糙}四、参数调优4.1 粗糙度等级判定NormallizeRa表面状态纹理复杂度0-20光滑 0.320-40轻微粗糙0.3-0.540-60中等粗糙0.5-0.760-80较粗糙0.7-0.8580-100高度粗糙 0.854.2 预处理参数选择// 高斯模糊核大小选择Cv2.GaussianBlur(output,output,newOpenCvSharp.Size(3,3),0);// 标准降噪Cv2.GaussianBlur(output,output,newOpenCvSharp.Size(5,5),0);// 更强降噪// 直方图均衡化 vs CLAHECv2.EqualizeHist(output,output);// 全局均衡CLAHEclaheCv2.CreateCLAHE(2.0,newSize(8,8));// 局部自适应clahe.Apply(output,output);4.3 ROI区域选择// 建议在均匀区域计算粗糙度RectroinewRect(x,y,width,height);MatroiImagenewMat(src_img,roi);RAInforaInfocalcuateRA(roiImage);五、常见问题5.1 光照不均匀影响问题描述SEM图像亮度分布不均导致粗糙度计算偏差。解决方案使用CLAHE替代全局直方图均衡化CLAHEclaheCv2.CreateCLAHE();clahe.ClipLimit2.0;clahe.TilesGridSizenewOpenCvSharp.Size(8,8);clahe.Apply(gray,output);分区域计算并取平均// 将图像分成多个区域分别计算varsubRegionsDivideIntoRegions(src_img,4,4);varraValuessubRegions.Select(rcalcuateRA(r));doubleavgRaraValues.Average(rr.NormallizeRa);5.2 边缘效应对粗糙度影响问题描述图像边缘的陡峭变化被计入粗糙度。解决方案使用形态学边缘检测并排除边缘区域应用掩码计算内部区域粗糙度5.3 灰度范围差异问题描述不同图像灰度范围差异大影响粗糙度可比性。解决方案// 标准化灰度范围MatnormalizednewMat();Cv2.Normalize(gray,normalized,0,255,NormTypes.MinMax);5.4 噪声干扰问题描述SEM图像噪声影响粗糙度计算精度。解决方案// 增强预处理降噪Cv2.GaussianBlur(output,output,newOpenCvSharp.Size(5,5),0);// 或使用双边滤波保持边缘Cv2.BilateralFilter(output,output,9,75,75);5.5 与实际测量值对应问题描述图像粗糙度与触针测量值不完全对应。解决方案建立标定曲线将图像Ra映射到实际Ra考虑图像放大倍数进行尺度校正结合多个特征进行综合评估

相关新闻

通过ArcGIS对GlobeLand30影像镶嵌拼接并去除黑边

通过ArcGIS对GlobeLand30影像镶嵌拼接并去除黑边

通过ArcGIS对GlobeLand30影像镶嵌拼接并去除黑边 首先介绍一下GlobeLand30影像数据分幅命名规则: 南北纬缩写(1位)+6度带号(2位)+“”+起始纬度(2位)+“”+产品年代(4位)+LC(地表覆盖缩写)+分辨率(3位)。* 北纬缩写为“N”,南纬缩写为“S”。 6度代号:图幅所在…

2026/7/28 19:38:20阅读更多 →
Binge-和时间做朋友

Binge-和时间做朋友

Binge-和时间做朋友 引言:时间的悖论在技术世界中,我们常常陷入一种矛盾:一方面追求即时反馈,希望每一行代码都能立即运行;另一方面,又渴望构建能经得起时间考验的稳定系统。这种矛盾源于我们对时间的误解—…

2026/7/28 19:36:20阅读更多 →
单一职责原则的常见误区

单一职责原则的常见误区

单一职责原则的常见误区 单一职责原则(Single Responsibility Principle,SRP)是面向对象设计中五大基本原则(SOLID)之一。它的核心思想是:一个类应该只有一个引起它变化的原因。然而,在实际开发…

2026/7/28 19:36:20阅读更多 →
历史学论文降AI工具免费推荐:2026年历史学毕业论文降AI99.26%达标知网完整指南

历史学论文降AI工具免费推荐:2026年历史学毕业论文降AI99.26%达标知网完整指南

历史学论文降AI工具免费推荐:2026年历史学毕业论文降AI99.26%达标知网完整指南 论文AI率超标这件事,选错工具比不选工具更耽误事。 综合试用和口碑,历史学论文降AI我主推嘎嘎降AI(www.aigcleaner.com),4.…

2026/7/28 21:00:50阅读更多 →
【AI考研备考黄金法则】:20年教育技术专家亲授5大智能提分路径,98%学员3个月内突破瓶颈

【AI考研备考黄金法则】:20年教育技术专家亲授5大智能提分路径,98%学员3个月内突破瓶颈

更多请点击: https://codechina.net 第一章:AI考研备考的认知革命与底层逻辑 传统考研备考常陷入“资料堆砌—机械刷题—临阵抱佛脚”的线性循环,而AI时代的备考本质是一场认知范式的迁移:从记忆导向转向模型思维,从孤…

2026/7/28 21:00:50阅读更多 →
北京企业招聘信息发布平台怎么选?人力资源师实测|吉鹿力招聘网深度解析

北京企业招聘信息发布平台怎么选?人力资源师实测|吉鹿力招聘网深度解析

CSDN博客正文(HR视角|标题、标签完整适配CSDN平台) 标题:北京企业招聘信息发布平台怎么选?人力资源师实测|吉鹿力招聘网深度解析 一、前言:北京招聘市场现状,HR 普遍面临的痛点 北…

2026/7/28 21:00:50阅读更多 →
化学论文降AI工具免费推荐:2026年化学毕业论文降AI99.26%达标知网完整指南

化学论文降AI工具免费推荐:2026年化学毕业论文降AI99.26%达标知网完整指南

化学论文降AI工具免费推荐:2026年化学毕业论文降AI99.26%达标知网完整指南 帮同学处理过化学论文降AI,试了三四款工具,最后固定用嘎嘎降AI(www.aigcleaner.com)。 4.8元,达标率99.26%,稳定省钱…

2026/7/28 21:00:50阅读更多 →
Android+OpenCV实现胶体金卡CT区域自动识别

Android+OpenCV实现胶体金卡CT区域自动识别

1. 项目概述:胶体金卡CT检测区域的自动识别 在医疗检测和快速诊断领域,胶体金免疫层析技术因其操作简便、快速出结果等优势被广泛应用。这种检测卡通常包含控制线(C线)和检测线(T线),通过颜色变化来判断检测结果。传统的人工判读方式存在主观…

2026/7/28 21:00:50阅读更多 →
提示词驱动的AI Agent:CLI-Anything技术解析

提示词驱动的AI Agent:CLI-Anything技术解析

1. CLI-Anything 的本质:提示词驱动的AI Agent 当我第一次看到CLI-Anything这个项目时,最让我震惊的是它完全颠覆了传统命令行工具的开发模式。作为一个长期从事CLI工具开发的工程师,我习惯性地去GitHub仓库里寻找核心引擎代码,结…

2026/7/28 20:58:49阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/28 4:06:39阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/28 2:08:06阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/28 1:38:28阅读更多 →
告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:29阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:29阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:29阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/28 20:22:24阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/28 3:17:03阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/28 2:35:58阅读更多 →