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 的世界. 分水岭算法 分水岭算法 (Watershed Algorithm) 是一种图像区域分割算法. 在分割的过程中, 分水岭算法会把跟临近像素间的相似性作为重要的根据. 分水岭分割流程: 读取图片 转换成灰度图 二值化 距离变换 寻找种子 生成 Marker 分水岭变换 距离变换 距离变换 (Distan
-
OpenCV半小时掌握基本操作之模板匹配
目录 概述 模板匹配 案例一 案例二 [OpenCV]⚠️高手勿入! 半小时学会基本操作 ⚠️ 概述模板 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. (第 21 课) 模板匹配 模板匹配 (Template Matching) 和卷积的原理很像. 模板在原图像上从原点开始滑动, 计算模板与图片被模板覆盖的地方的差别程度. 格式: cv2.matchTemplate(image, templ, method, r
-
OpenCV半小时掌握基本操作之图像轮廓
目录 概述 图像轮廓 绘制轮廓 轮廓特征 轮廓近似 边界矩形 外接圆 [OpenCV]⚠️高手勿入! 半小时学会基本操作 ⚠️ 图像轮廓 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. 图像轮廓 cv2.findContours可以帮助我们查找轮廓. 格式: cv2.findContours(image, mode, method, contours=None, hierarchy=None, offset=Non
-
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 的世界. 对象测量 对象测量可以帮助我们进行矩阵计算: 获取弧长与面积 多边形拟合 计算图片对象中心 原点距: 中心距: 图像重心坐标: 多边形拟合 步骤: 读取图片 转换成灰度图 二值化 轮廓检测 计算轮廓周长 多边形拟合 格式: cv2.approxPolyD
-
OpenCV半小时掌握基本操作之直方图
[OpenCV]⚠️高手勿入!⚠️ 半小时学会基本操作 ⚠️ 直方图 概述 OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界. (第 20 课) 直方图 原图: cv2.calcHist()可以帮助我们统计像素并得到直方图. 格式: calcHist(images, channels, mask, histSize, ranges, hist=None, accumulate=None) 参数: images: 输入图像 c
-
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
随机推荐
- vbs脚本大全,配有实例 DOS命令,批处理 脚本 代码
- Hibernate中实现增删改查的步骤详解
- Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
- asp.net下一个账号不允许多个用户同时在线,重复登陆的代码
- asp.net Hashtable 遍历写法
- Global.asax取物理路径/取绝对路径具体方法
- php获取远程图片的两种 CURL方式和sockets方式获取远程图片
- CI(CodeIgniter)框架介绍
- 关于php正则匹配汉字的方法介绍
- git 删除分支和回滚的实例详解
- JQuery 无废话系列教程(一) jquery入门 [推荐]
- JavaScript判断是否是微信浏览器
- nginx php-fpm 小VPS 优化
- 浅析C语言中assert的用法
- C# 位运算符整理
- PHP学习一(基础)第1/2页
- php通过COM类调用组件的实现代码
- Java异或技操作给任意的文件加密原理及使用详解
- PHP实现微信红包金额拆分试玩的算法示例
- jQuery实现页码跳转式动态数据分页