news 2026/5/30 23:53:18

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/30 18:57:38

使用MyBatisPlus管理ms-swift后台数据库持久层

使用 MyBatisPlus 管理 ms-swift 后台数据库持久层 在 AI 工程化落地日益深入的今天,一个高效的训练与部署框架不仅要能跑通模型,更要能管好数据。魔搭社区推出的 ms-swift 框架,正是为了解决从模型微调、对齐、推理到部署的全链路问题而生。…

作者头像 李华
网站建设 2026/5/30 19:32:50

使用Dis++清理无用缓存释放磁盘空间存放模型权重

使用Dis清理无用缓存释放磁盘空间存放模型权重 在大模型研发的日常中,你是否经历过这样的场景:正要启动一个关键训练任务时,系统突然弹出“磁盘空间不足”的警告?或者 CI/CD 流水线因缓存堆积而频繁失败?更糟的是&…

作者头像 李华
网站建设 2026/5/30 19:32:59

关于转行网络安全的一些建议

目录1.网络安全行业概况2.行业两极分化现象转行群体分析3.网络安全学习路径入门学习建议学习资料分享行业误解澄清4.就业情况面对转行的建议结语在当前就业形势下,不少朋友面临转行的困境。网络安全作为一个热门领域,自然也吸引了许多人的目光。本文将就…

作者头像 李华
网站建设 2026/5/30 19:29:12

python基于django的小程序 大学生食堂餐厅点餐系统_1312vhtr

目录 基于Django的大学生食堂点餐系统设计 关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 基于Django的大学生食堂点餐系统设计 该系统采用PythonDjango框架开发,结合…

作者头像 李华
网站建设 2026/5/30 17:23:03

python基于django的小程序 宠物领养系统_c27l9jc8

目录系统概述技术架构核心功能特色与优化应用场景关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统概述 Python基于Django的小程序宠物领养系统是一个结合Web后端与移动端应用的…

作者头像 李华
网站建设 2026/5/30 19:36:39

python基于django的物业报修系统 社区维修分配系统 p7qs0n7

目录 基于Django的物业报修与社区维修分配系统 关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 基于Django的物业报修与社区维修分配系统 该系统是一个基于Django框架开发的物业报…

作者头像 李华