news 2026/5/13 6:46:03

C# 基于OpenCv的视觉工作流-章6-腐蚀

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
C# 基于OpenCv的视觉工作流-章6-腐蚀

C# 基于OpenCv的视觉工作流-章6-腐蚀

本章目标:
一、卷积计算原理;
二、获取卷积核;
三、腐蚀;


一、卷积计算原理;
卷积计算原理,如下图所示:
1、先定义卷积核(3x3、5x5、7x7等,一般用奇数,卷积核中的值可自定义);
2、卷积核覆盖在图像起始位置,然后计算卷积核中各值与被覆盖图像中各像素值,一对一相乘,最终求和,如图起始位置计算的卷积结果为44;
3、卷积核向右滑动一格(一像素),再计算,得结果70;
4、同理,卷积核,从上到下,从左到右,依次滑动计算,最终得到整个图像的卷积计算结果。

二、获取卷积核;
OpenCv提供了卷积核的获取方法,可如下使用:
Mat matKernel = Cv2.GetStructuringElement(MorphShapes.Rect, new OpenCvSharp.Size(width, height));
其中:参数1,为卷积核类型(矩形、交叉形、椭圆形);
参数2,为卷积核大小(3x3、5x5、7x7等,一般用奇数);

三、腐蚀
腐蚀原理如下图:
1、用值全为1的卷积核,滑动扫描图像;
2、计算,如果卷积核内所有像素点都为白色,那锚点位置(卷积核当前中心点)的像素值为白色,否则为黑色。
注:卷积核边界与卷积核中心点的距离,当卷积核覆盖在图像中的黑白交界时,不全是白色则为黑色,即部分白色区域变小,形成了腐蚀。

OpenCv腐蚀可如下使用:
Mat matDst = new Mat();
Cv2.Erode(image, matDst, matKernel, null, iteration);
其中:参数1,image为输入图像;
参数2,为输出图像;
参数3,为卷积核;
参数4,为内核的锚点,其默认值为(-1,-1),表示锚点位于内核的中心;
参数5,为腐蚀次数;

效果如图:
腐蚀前后对比可知,腐蚀后,白色区域相对变小。

参考链接
https://www.bilibili.com/video/BV1RFtpeJE6h/?vd_source=3f9438f03abb9d3e91fda0640164d626&p=28&spm_id_from=333.788.videopod.episodes

“VisionTool 探迹”免费视觉工具
下载地址:https://pan.baidu.com/s/11tktKOSnepLNIEqNbvnv6w?pwd=qv5i

“VisionTool Halcon”付费视觉工具,19元,微信付款后可获取。
下载地址:https://pan.baidu.com/s/1v832KTonDYS6oNnWG2iZtQ?
对应系列文章“C# 基于Halcon的视觉工作流”,欢迎前往阅读。

上述内容需要一定的技术功底,本章至此已结束,欢迎阅读下章,谢谢!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/11 13:41:16

ViGEmBus虚拟手柄驱动:Windows游戏输入设备兼容性终极解决方案

ViGEmBus虚拟手柄驱动:Windows游戏输入设备兼容性终极解决方案 【免费下载链接】ViGEmBus 项目地址: https://gitcode.com/gh_mirrors/vig/ViGEmBus 还在为Windows系统游戏手柄兼容性问题而烦恼吗?ViGEmBus虚拟游戏控制器驱动技术正是你需要的完…

作者头像 李华
网站建设 2026/5/3 5:50:49

通过FastStone Capture注册码获取截图工具辅助调试

通过FastStone Capture注册码获取截图工具辅助调试 在大模型研发日益工程化的今天,一个看似微不足道的调试细节,往往可能成为项目推进的关键瓶颈。比如,你在训练一个多模态模型时突然遇到显存溢出,终端日志一闪而过、没有完整堆栈…

作者头像 李华
网站建设 2026/4/28 16:58:19

Plate:一款基于 React 和 Slate.js 的现代化富文本编辑器框架

开篇唠嗑 各位老铁们,今天我们来摆一摆一个超级好用的 React 富文本编辑器框架——Plate! 说实话,做富文本编辑器的都知道,这玩意儿坑多得很。要么是功能太弱鸡,要么是定制太麻烦,用第三方组件吧&#xf…

作者头像 李华
网站建设 2026/5/4 2:17:35

基于YOLOv8的钢材表面缺陷目标检测系统(YOLOv8深度学习+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目开发了一个基于YOLOv8深度学习算法的钢材表面缺陷自动检测系统,旨在解决传统人工检测方法在效率、准确性和一致性方面的局限性。系统针对六类常见钢材表面缺陷(crazing龟裂、inclusion夹杂、patches斑块、pitted_surface点蚀表…

作者头像 李华
网站建设 2026/4/24 15:45:01

基于YOLOv8的工地安全帽防护衣检测系统(YOLOv8深度学习+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 项目基于YOLOv8目标检测算法开发了一套专门用于建筑工地安全管理的智能检测系统,能够实时识别并检测工人是否佩戴安全帽、穿着防护衣等关键安全装备。系统采用五分类检测模型(nc5),可准确识别helmet(安全帽)、no-helmet(未戴安全帽)…

作者头像 李华