OpenCV半小时掌握基本操作之腐蚀膨胀
目录
- 概述
- 腐蚀
- 膨胀
- 开运算
- 闭运算
【OpenCV】⚠️高手勿入! 半小时学会基本操作⚠️ 腐蚀膨胀
概述
OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. (第 10 课)
腐蚀
腐蚀 (Eroding) 会沿着图像边界向内收缩, 从而消除边界点.
原图:
例子:
# 读取图片 img = cv2.imread("white.jpg") # 腐蚀 erode = cv2.erode(img, kernel=(3, 3), iterations=5) # 图片展示 cv2.imshow("erode", erode) cv2.waitKey(0) cv2.destroyAllWindows()
输出结果:
我们可以看到旁边的一圈线基本不见了.
膨胀
膨胀 (Dilating) 会沿着图像边界向外膨胀.
例子:
# 读取图片 img = cv2.imread("white.jpg") # 膨胀 dilate = cv2.dilate(img, kernel=(3, 3), iterations=5) # 图片展示 cv2.imshow("dilate", dilate) cv2.waitKey(0) cv2.destroyAllWindows()
输出结果:
开运算
开运算: 先腐蚀 (Eroding) 在膨胀 (Dilating).
例子:
# 开运算 open = cv2.morphologyEx(img, cv2.MORPH_OPEN, (3, 3), iterations=5) # 图像展示 cv2.imshow('open', open) cv2.waitKey(0) cv2.destroyAllWindows()
输出结果:
闭运算
开运算: 先膨胀 (Dilating), 再腐蚀 (Eroding).
例子:
# 读取图片 img = cv2.imread("white.jpg") # 闭运算 close = cv2.morphologyEx(img, cv2.MORPH_CLOSE, (3, 3), iterations=5) # 图像展示 cv2.imshow('close', close) cv2.waitKey(0) cv2.destroyAllWindows()
输出结果:
到此这篇关于OpenCV半小时掌握基本操作之腐蚀膨胀的文章就介绍到这了,更多相关OpenCV腐蚀膨胀内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
OpenCV半小时掌握基本操作之直方图
[OpenCV]⚠️高手勿入!⚠️ 半小时学会基本操作 ⚠️ 直方图 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. (第 20 课) 直方图 原图: cv2.calcHist()可以帮助我们统计像素并得到直方图. 格式: calcHist(images, channels, mask, histSize, ranges, hist=None, accumulate=None) 参数: images: 输入图像 c
-
OpenCV半小时掌握基本操作之分水岭算法
[OpenCV]⚠️高手勿入! 半小时学会基本操作 ⚠️ 分水岭算法 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. 分水岭算法 分水岭算法 (Watershed Algorithm) 是一种图像区域分割算法. 在分割的过程中, 分水岭算法会把跟临近像素间的相似性作为重要的根据. 分水岭分割流程: 读取图片 转换成灰度图 二值化 距离变换 寻找种子 生成 Marker 分水岭变换 距离变换 距离变换 (Distan
-
OpenCV半小时掌握基本操作之图像轮廓
目录 概述 图像轮廓 绘制轮廓 轮廓特征 轮廓近似 边界矩形 外接圆 [OpenCV]⚠️高手勿入! 半小时学会基本操作 ⚠️ 图像轮廓 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. 图像轮廓 cv2.findContours可以帮助我们查找轮廓. 格式: cv2.findContours(image, mode, method, contours=None, hierarchy=None, offset=Non
-
OpenCV半小时掌握基本操作之对象测量
目录 概述 对象测量 多边形拟合 计算对象中心 [OpenCV]⚠️高手勿入! 半小时学会基本操作 ⚠️ 对象测量 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. 对象测量 对象测量可以帮助我们进行矩阵计算: 获取弧长与面积 多边形拟合 计算图片对象中心 原点距: 中心距: 图像重心坐标: 多边形拟合 步骤: 读取图片 转换成灰度图 二值化 轮廓检测 计算轮廓周长 多边形拟合 格式: cv2.approxPolyD
-
OpenCV半小时掌握基本操作之模板匹配
目录 概述 模板匹配 案例一 案例二 [OpenCV]⚠️高手勿入! 半小时学会基本操作 ⚠️ 概述模板 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. (第 21 课) 模板匹配 模板匹配 (Template Matching) 和卷积的原理很像. 模板在原图像上从原点开始滑动, 计算模板与图片被模板覆盖的地方的差别程度. 格式: cv2.matchTemplate(image, templ, method, r
-
OpenCV半小时掌握基本操作之圆圈检测
[OpenCV]⚠️高手勿入! 半小时学会基本操作 ⚠️ 圆圈检测 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. 霍夫圆变换 霍夫圆变换 (Hough Circle Transform) 的原理和霍夫直线变换类似. 对于一条直线, 我们可以用参数 (r, θ) 表示, 对于圆我们需要三个参数 (x, y, r), 分别代表三个参数 x 圆心, y 圆心, r, 半径. 代码实现 因为霍夫圆检测对噪声比较敏感, 所
-
OpenCV半小时掌握基本操作之傅里叶变换
目录 概述 高频 vs 低频 傅里叶变换 代码详解 输入转换 傅里叶变换 获取幅度谱 傅里叶逆变换 获取低频 获取高频 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. 高频 vs 低频 高频 vs 低频: 高频: 变换剧烈的灰度分量, 例如边界 低频: 变换缓慢的灰度分量, 例如一片大海 滤波: 低通滤波器: 只保留低频, 会使得图像模糊 高通滤波器: 只保留高频, 会使得图像细节增强 傅里叶变换 傅里叶变化 (F
-
OpenCV半小时掌握基本操作之腐蚀膨胀
目录 概述 腐蚀 膨胀 开运算 闭运算 [OpenCV]⚠️高手勿入! 半小时学会基本操作⚠️ 腐蚀膨胀 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. (第 10 课) 腐蚀 腐蚀 (Eroding) 会沿着图像边界向内收缩, 从而消除边界点. 原图: 例子: # 读取图片 img = cv2.imread("white.jpg") # 腐蚀 erode = cv2.erode(img, kernel=
-
OpenCV半小时掌握基本操作之图像梯度
目录 概述 梯度运算 礼帽 黑帽 Sobel 算子 计算 x 计算 y 计算 x+y 融合 [OpenCV]⚠️高手勿入! 半小时学会基本操作⚠️图像梯度 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. 梯度运算 梯度: 膨胀 (Dilating) - 腐蚀 (Eroding). 例子: # 读取图片 pie = cv2.imread("pie.jpg") # 核 kernel = np.ones((7,
-
OpenCV半小时掌握基本操作之边缘检测
目录 概述 Scharr 算子 Laplacian 算子 Sobel vs Scharr vs Laplacian Canny 边缘检测 高斯滤波器 梯度和方向 非极大值抑制 双阈值检测 [OpenCV]⚠️高手勿入! 半小时学会基本操作⚠️ 边缘检测 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. (第 12 课) Scharr 算子 Scharr 算子和 Sobel 算子基本一样. 只是卷积核系数不同. Sch
-
OpenCV半小时掌握基本操作之色彩空间
目录 概述 色彩空间 色彩空间转换 视频阈值 [OpenCV]⚠️高手勿入! 半小时学会基本操作⚠️色彩空间 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. (第 6 课) 色彩空间 色彩空间 (Color Space) 即以同的空间维度来表示某一色彩 (通常使用 3 个或者 4 个 值). 常见的色彩空间: RGB HSV HIS YCrCb YUV 色彩空间转换 原图: 代码实现: import numpy a
-
OpenCV半小时掌握基本操作之像素加减乘除&逻辑运算
目录 概述 加减乘除 相加 相减 相乘 相除 逻辑运算 逻辑与 逻辑或 逻辑反 [OpenCV]⚠️高手勿入! 半小时学会基本操作⚠️像素加减乘除 & 逻辑运算 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. 加减乘除 原图: 相加 import cv2 def add(image1, image2): """相加""" result = cv2.add(i
随机推荐
- 使用vbscript生成36进制自动增长序号的实现代码
- iOS支付宝支付方法详解
- Android Studio升级到3.0 Terminal 中文显示异常解决
- Android 使用Vitamio打造自己的万能播放器(5)——在线播放(播放优酷视频)
- js页面跳转的常用方法整理
- iOS 三级下拉菜单功能实现
- java selenium教程之selenium详细介绍
- Oracle 自定义split 函数实例详解
- Nginx服务器Nginx.com配置文件详解
- .net与javascript脚本的交互方法总结
- Windows2012配置SQLServer2014AlwaysOn的图解
- 在Python中处理时间之clock()方法的使用
- 深入剖析Python的爬虫框架Scrapy的结构与运作流程
- vbs base64 解密脚本代码
- jQuery+CSS实现一个侧滑导航菜单代码
- IBM服务器系统安装傻瓜教程(详细图解39张)
- DevExpress实现TreeList节点互斥的方法
- Android中使用TextView实现文字跑马灯效果
- Android常用进度条效果分享
- wchar_t,char,string,wstring之间的相互转换