- 浏览: 496275 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
Python OpenCV 形态学操作(腐蚀膨胀,开运算和闭运算)
过滤器生成
腐蚀膨胀开、闭运算
形态学梯度
顶帽黑帽
过滤器生成
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (3, 3)) # 椭圆结构 kernel = cv2.getStructuringElement(cv2.MORPH_CROSS, (3, 3)) # 十字结构 kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3)) # 矩形结构
腐蚀膨胀开、闭运算
# -*-encoding:utf-8-*- import pytesseract from PIL import Image from PIL import ImageFilter from PIL import ImageFont from PIL import ImageDraw import numpy as np from PIL import Image import cv2 def main(): # img = cv2.imread("test001.jpg") #读取图片 # cv2.imshow("1",img) #显示图片 # cv2.waitKey(10000)# 延时10s # image = Image.open("test002.png") # img = image.convert('1') # 转化为灰度图 # img.show() img = cv2.imread("test002.png", 0) kernel = np.ones((3, 3), np.uint8) # 全为1的过滤数组 print(kernel) # 腐蚀(去白小点) img2 = cv2.erode(img, kernel) # 腐蚀 cv2.imshow('canny', img2) cv2.waitKey(2000) # cv2.waitKey() # 膨胀(去黑小点) img3 = cv2.dilate(img, kernel) # 膨胀 cv2.imshow('canny', img3) cv2.waitKey(2000) # cv2.waitKey() # 先腐蚀后膨胀叫开运算(因为先腐蚀会分开物体,这样容易记住),其作用是:分离物体,消除小区域。 opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel) # 开运算 cv2.imshow('canny', opening) cv2.waitKey(2000) # 闭运算则相反:先膨胀后腐蚀(先膨胀会使白色的部分扩张,以至于消除/"闭合"物体里面的小黑洞,所以叫闭运算) closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel) # 闭运算 cv2.imshow('canny', closing) cv2.waitKey(2000) if __name__ == '__main__': main()
形态学梯度
# -*-encoding:utf-8-*- import pytesseract from PIL import Image from PIL import ImageFilter from PIL import ImageFont from PIL import ImageDraw import numpy as np from PIL import Image import cv2 def main(): # img = cv2.imread("test001.jpg") #读取图片 # cv2.imshow("1",img) #显示图片 # cv2.waitKey(10000)# 延时10s # image = Image.open("test002.png") # img = image.convert('1') # 转化为灰度图 # img.show() img = cv2.imread("test002.png", 0) kernel = np.ones((3, 3), np.uint8) # 全为1的过滤数组 print(kernel) # 形态学梯度:膨胀图减去腐蚀图,dilation - erosion,这样会得到物体的轮廓: gradient = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel) # 形态学梯度 cv2.imshow('canny', gradient) cv2.waitKey(2000) if __name__ == '__main__': main()
顶帽黑帽
# -*-encoding:utf-8-*- import pytesseract from PIL import Image from PIL import ImageFilter from PIL import ImageFont from PIL import ImageDraw import numpy as np from PIL import Image import cv2 def main(): # img = cv2.imread("test001.jpg") #读取图片 # cv2.imshow("1",img) #显示图片 # cv2.waitKey(10000)# 延时10s # image = Image.open("test002.png") # img = image.convert('1') # 转化为灰度图 # img.show() img = cv2.imread("test002.png", 0) kernel = np.ones((3, 3), np.uint8) # 全为1的过滤数组 print(kernel) # 顶帽:原图减去开运算后的图 tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel) cv2.imshow('canny', tophat) cv2.waitKey(2000) # 黑帽:闭运算后的图减去原图 blackhat = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel) cv2.imshow('canny', blackhat) cv2.waitKey(2000) if __name__ == '__main__': main()
发表评论
-
识别图片中的人脸
2018-10-31 21:21 792识别图片中的人脸 # -*-encoding:ut ... -
opencv 霍夫变换(识别出图像中的直线和圆)
2018-10-23 20:34 3114# -*-encoding:utf-8-*- import ... -
opencv 模板匹配(在大图中找小图)
2018-10-22 21:31 8385# -*-encoding:utf-8-*- import ... -
opencv 直方图
2018-10-22 21:30 494# -*-encoding:utf-8-*- import ... -
opencv 轮廓特征
2018-10-21 20:35 1232# -*-encoding:utf-8-*- import ... -
opencv 轮廓
2018-10-21 20:34 516# -*-encoding:utf-8-*- import ... -
opencv 膨胀腐蚀开闭
2018-10-21 20:34 873# -*-encoding:utf-8-*- import ... -
opencv 边缘检测
2018-10-21 20:32 765# -*-encoding:utf-8-*- import ... -
opencv 平滑图像
2018-10-17 21:25 719opencv 平滑图像 模糊/平滑图片来消除图片噪声 O ... -
opencv 图像混合
2018-10-17 20:58 705opencv 图像混合 图片间的数学运算,如相加、按位运算 ... -
opencv 绘图功能
2018-10-16 22:04 840opencv 绘图功能 学习画线、圆和矩形等多种几何形状, ... -
opencv 图像几何变换
2018-10-16 19:36 913opencv 图像几何变换 实现旋转、平移和缩放图片 了解仿 ... -
opencv 阈值分割
2018-10-16 16:02 1231opencv 阈值分割 同的阈值方法”二值化”图像。 使用 ... -
opencv 颜色空间转换
2018-10-15 19:42 1308opencv 颜色空间转换 颜色空间转换,如BGR↔Gray ... -
openvc 图像基本操作
2018-10-15 19:11 973openvc 图像基本操作 访问和修改图片像素点的值 px ... -
Python OpenCV 基本操作
2018-10-12 22:46 392Python OpenCV 基本操作 加载图片,显示图片, ...
相关推荐
本文将深入探讨如何利用OpenCV3.1.0来实现图像的膨胀、腐蚀以及开闭运算,这些都是形态学图像处理中的基本操作,对于图像去噪、分割和特征提取有着重要作用。 首先,我们要理解这些术语的基本概念: 1. **膨胀...
在Python的OpenCV库中,可以使用`cv2.erode()`和`cv2.dilate()`函数分别进行腐蚀和膨胀操作,然后通过组合这两个操作来实现开运算和闭运算。例如: ```python import cv2 # 加载图像 img = cv2.imread('image.png'...
掌握二值图像的腐蚀、膨胀、开运算、闭运算等常见的形态学方法python,用jupyterlab 文件写的
在图像处理领域,形态学运算是一种非常重要的技术,主要用于处理图像的几何形状。"形态学开闭运算平滑图像"这个标题所涉及的核心知识点就是形态学处理中的开运算和闭运算,以及它们在平滑图像、填充孔洞方面的应用。...
在OpenCV库中,形态学处理包括腐蚀、膨胀、开运算、闭运算、顶帽和黑帽算法以及边缘检测。下面将详细介绍这些概念。 ### 1. 定义结构元素 结构元素是形态学操作的基础,它是一个小的二维矩阵,用于定义在图像上...
在图像处理领域,"图像腐蚀、膨胀、开、闭运算"是重要的形态学操作,主要用于图像分割、噪声去除和形状分析。这些操作基于数学形态学理论,是图像处理中的基本工具,尤其在二值图像(黑白图像)处理中广泛应用。 1....
本资料主要探讨了两个关键的形态学操作:开运算和闭运算,以及不同核矩阵对这些运算的影响。形态学操作是图像处理领域的重要工具,主要用于噪声消除、边缘检测和形状分析。 首先,开运算是一种组合操作,由腐蚀...
本文详细介绍了数学形态学中的三个基本概念:开运算、闭运算和梯度运算,并探讨了它们在图像处理中的应用场景以及如何利用OpenCV库在Python中实现这些操作。通过理解和掌握这些基本概念和技术,我们可以更有效地进行...
开运算和闭运算分别是先腐蚀后膨胀,以及先膨胀后腐蚀的操作组合,常用于去除噪声和保留大物体。开运算有助于消除小颗粒噪声,闭运算则有助于填补小孔洞。 **5. 形态学梯度(Morphological Gradient)** 形态学梯度...
形态学变换主要包括开运算、闭运算和梯度运算,这些操作可以帮助去除噪声,连接断开的线条,填充小孔洞,以及分离粘连的物体。接下来我们将详细探讨这些概念,并结合OpenCV库在Python中的应用。 ### 开运算 开运算...
形态学操作主要包括腐蚀、膨胀、开运算、闭运算、形态学梯度、顶帽和黑帽等。下面将详细介绍这些概念: 1. **腐蚀**:腐蚀操作是用一个小结构元素(通常是矩形、圆形或椭圆形)在图像上滑动,如果该结构元素的所有...
OpenCV-Python 学习笔记:形态学转换是图像处理中的一个重要部分,它主要用于处理二值图像,尤其在噪声去除、物体分离、边缘检测等方面有显著效果。在Python中,OpenCV库提供了丰富的函数来实现这些操作。 1. **...
5. **形态学操作**:形态学操作是基于形状的图像处理技术,例如膨胀(dilation)和腐蚀(erosion)。这些操作通常用于改变图像的形状。在代码中,通过`cv.Dilate`函数可以使用特定形状的结构元素对图像进行膨胀操作...
流域变换、灰值腐蚀和膨胀、灰值开闭运算、灰值形态学梯度等。 简单来讲,形态学操作就是基于形状的一系列图像处理操作。OpenCV 为进行图像的形 态学变换提供了快捷、方便的函数。最基本的形态学操作有两种,分别...
在OpenCV中,可以使用`cv2.erode()`和`cv2.dilate()`函数进行腐蚀和膨胀操作,`cv2.morphologyEx()`则提供了一站式的解决方案,可以执行开运算、闭运算以及更多复杂的形态学变换。在使用这些函数时,需要指定结构...
形态学变换主要包括腐蚀、膨胀、开运算和闭运算,这些都是图像处理的重要组成部分。 1. 腐蚀(Erosion): 腐蚀操作是通过一个结构元素(通常是小的矩形、圆形或椭圆)在图像上滑动,并用结构元素的黑色部分替换图像...
内容概要:本实战教程详细讲解了OpenCV-Python中的图像处理方法,特别是各种形态学操作,如膨胀、腐蚀、开闭运算等,并提供了完整的代码示例。 适合人群:有一定Python编程经验并对图像处理有兴趣的学习者和技术人员...
- **形态学开运算**:结合腐蚀和膨胀操作,去除小的噪声点。 - **自适应阈值处理**:利用 `adaptiveThreshold` 函数,根据图像局部特性自动设置阈值,实现二值化。 **3. 利用 Pytesser 进行文字识别** Pytesser ...
总结,本文介绍了Python OpenCV库中关于图像形态学的三个基本操作:开运算、闭运算和梯度运算。开运算和闭运算常用于噪声消除和形状修复,梯度运算则用于边缘检测。这些操作对于图像预处理和特征提取至关重要,特别...