使用Python,OpenCV进行形态学操作)

  • 1. 效果图
  • 2. 原理
  • 3. 源码
    • 3.1 [制作logo源码](https://blog.csdn.net/qq_40985985/article/details/116025825)
    • 3.2 腐蚀膨胀打开闭合形态梯度源码
    • 3.3 白帽黑帽操作源码
    • 3.4 自定义内核
  • 参考

这篇博客将介绍如何使用Python,OpenCV应用形态学操作。
包括:

  • 腐蚀(Erosion)
  • 膨胀(Dilation)
  • 打开(Opening)
  • 闭合(Closing)【在封闭前景对象内部的小孔或对象上的小黑点时非常有用。】
  • 形态梯度(Morphological gradient)
  • 黑帽(Black hat)
  • 白帽(Top hat (also called “White hat”))

形态学操作是应用于灰度或二值图像的图像处理变换。这些操作需要一个结构元素,用于定义应用该操作的像素的邻域。更具体地说,可以使用形态学操作应用于图像内部的形状和结构,以调整输出图像。(例如增加/减少图像中的物体大小,打开/缩小物体之间的间隙)

形态学运算通常被用作更强大的计算机视觉解决方案(如OCR、自动车牌识别(ANPR)和条形码检测)的预处理步骤。 巧妙地使用形态学运算可以避免更复杂(和计算昂贵)的机器学习和深度学习算法。(比如图像中的条码检测,仅使用形态学操作就可以完成~)

1. 效果图

原图 VS 腐蚀1 VS 腐蚀2 VS 腐蚀3 VS 腐蚀4次效果图如下:

可以看到,随着腐蚀迭代次数的增加,越来越多的徽标被腐蚀掉。

腐蚀对于从图像中移除小斑点或断开两个连接的组件是最有用的。


原图 VS 膨胀1 VS 膨胀2 VS 膨胀3次效果图如下:

可以看到应用了3次迭代的膨胀,徽标中所有字母的间隙都已接和。

膨胀会扩大前景区域。当连接对象的断开部分时,膨胀特别有用。


打开操作类似于腐蚀操作,去掉小斑点的同时可能会“打开”图像上的孔,如下图所示:
当我们使用大小为5的内核时×5.小而随机的斑点几乎完全消失了。当它达到一个7大小的内核时,打开操作不仅去除了所有的随机斑点,而且还“打开”了字母“s”,“n”和字母“a”上的孔。

闭合是打开的相反操作,闭合是膨胀后的腐蚀。闭合用于闭合对象内部的小孔,小黑点是很有效,或将组件连接在一起。

可以看到闭合操作开始桥接徽标中字母之间的间隙。

形态学梯度效果图如下:

形态学梯度可以使得徽标的轮廓清晰地显示出来。

白帽操作效果图如下:

白帽子

使用Python,OpenCV进行形态学操作相关推荐

  1. opencv —— morphology形态学操作函数讲解(python)

    opencv -- morphology形态学操作函数讲解 目录 opencv -- morphology形态学操作函数讲解 形态学滤波:morphologyEx 函数 开运算:先腐蚀后膨胀. 闭运算 ...

  2. Python+OpenCV:形态学变换

    Python+OpenCV:形态学变换 理论 形态学变换是基于图像形状的一些简单操作. 它通常在二值图像上执行.它需要两个输入,一个是我们的原始图像,另一个是结构元素(structuring elem ...

  3. OpenCV通过形态学操作提取水平线和垂直线

    OpenCV通过形态学操作提取水平线和垂直线 通过形态学操作提取水平线和垂直线 目标 理论 形态学运算 结构元素 代码 说明/结果 载入图片 灰阶 灰度到二进制图像 输出图像 结构要素 优化边缘/结果 ...

  4. Python OpenCV 图片模糊操作 blur 与 medianBlur

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧. Python OpenCV 基础知识铺垫 函数原型介绍 均值模糊 中值模糊 2D 卷积(图像滤波),自定义模糊 橡皮擦的小 ...

  5. opencv 的形态学操作,cv2.erode,cv.dilate等。

    opencv 的形态学操作,cv2.erode,cv.dilate,cv2.morphologyEx的使用. 一.膨胀 cv2.erode(img, kernel_size) 函数参数, img是输入 ...

  6. 用openCV实现形态学操作

    尊师: © Fu Xianjun. All Rights Reserved. 老样子先进行把图片放入文件夹如何用openCV打开 形态学操作(移除噪声) 先使用开运算去除图像中的细小白色噪点,然后通过 ...

  7. 【图像处理】——Python OpenCV实现形态学膨胀、腐蚀开闭操作(可以用于图像滤波、图像分割等)

    转载博客请注明详细地址,谢谢 本文讲了形态学基本操作膨胀腐蚀开闭操作的原理 本文讲解了用OpenCV-Python实现形态学操作 目录 一.形态学简述 1.简介 2.一些基本定义 3.结构元素 (1) ...

  8. OPenCv java 形态学操作(12)

    创建图片 Mat mat=new Mat();mat.create(new Size(516,516),CvType.CV_8UC3);Imgproc.putText(mat, "hello ...

  9. Python图像处理:形态学操作

    来源:DeepHub IMBA本文约1400字,建议阅读5分钟 形态学的操作主要是去除影响图像形状和信息的噪声.形态学运算在图像分割中非常有用,可以得到无噪声的二值图像. 形态学方法 当图像经过预处理 ...

最新文章

  1. Redis缓存使用技巧和设计方案
  2. tidb mysql登录_TiDB 忘记密码如何登陆
  3. Adobe Captivate 2019中文版
  4. 单片微型计算机简称单片机是指集成,什么是单片微型计算机 -解决方案-华强电子网...
  5. 前端学习(2988):vue+element今日头条管理--使用技术栈
  6. 一个form 如何做两次提交_如何做一个自信魅力的女人
  7. 多模态AI开发套件HiLens Kit:超强算力彰显云上实力
  8. Redis入门到入土教程_1
  9. 对立与统一(期货反向跟单-交易员培训法则)
  10. 学生党专用计算机,学生党平价笔记本电脑 最适合学生的高性价比电脑推荐
  11. style标签中的几个属性
  12. 博客导航——一站式搜索(所有博客的汇总帖)【微信开发】
  13. 给热心老哥搭个窝,2021年30分钟用Discourse搭建新一代BBS论坛站全攻略
  14. Linux 网络协议栈开发—— 二层桥实现原理
  15. python scripts 目录空
  16. 【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
  17. GitHub最有毒的仓库
  18. 是指用计算机帮助各类,电子商务师
  19. 开放标准驱动工业物联网创新
  20. server系统中继服务器驱动,rustdesk-server(中继服务器)

热门文章

  1. Linux服务器上监控网络带宽的18个常用命令
  2. python正确方法,方法 - 廖雪峰的官方网站
  3. Android 计时器 Chronometer
  4. 使用属性position:fixed的时候如何才能让div居中
  5. oracle sql 获取本季度所有月份,上季度所有月份
  6. 【分布式架构】“高并发” -- 详解
  7. 2018考研英语:10篇必背的真题文章
  8. Activiti——准备开发环境(一)
  9. linux安装语言总是waiting,node的serialport在arm的Linux安装血泪史之我太难了
  10. bitset类型, 标准库类型