【OpenCv 4 Python 3.7】图像形态学操作之膨胀腐蚀

python图像形态学操作——膨胀,腐蚀;开运算,闭运算 提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。 阅读详情

形态学操作(morphology operators)-膨胀与腐蚀(Dilation与Erosion)。

图像形态学操作

1、图像形态学操作 – 基于形状的一系列图像处理操作的合集

2、形态学有四个基本操作:腐蚀、膨胀、开、闭

3、膨胀与腐蚀是图像处理中最常用的形态学操作手段

4、腐蚀和膨胀是对白色部分(高亮部分)而言的,不是黑色部分。膨胀就是图像中的高亮部分进行膨胀,“领域扩张”,效果图拥有比原图更大的高亮区域。腐蚀就是原图中的高亮部分被腐蚀,“领域被蚕食”,效果图拥有比原图更小的高亮区域。

5、膨胀与腐蚀能实现多种多样的功能,主要如下:
消除噪声
分割(isolate)出独立的图像元素,在图像中连接(join)相邻的元素。
寻找图像中的明显的极大值区域或极小值区域
求出图像的梯度

相关的 API
getStructuringElement(int shape, Size ksize, Point anchor)

形状 (MORPH_RECT \MORPH_CROSS \MORPH_ELLIPSE)
大小
锚点 默认是Point(-1, -1)意思就是中心像素

1.1 膨胀

相关的API:dilate
跟卷积操作类似,假设有图像A和结构元素B,结构元素B在A上面移动,其中B定义其中心为锚点,计算B覆盖下A的最大像素值用来替换锚点的像素,其中B作为结构体可以是任意形状

膨胀的作用
 对象大小增加一个像素(3x3)
 平滑对象边缘
 减少或者填充对象之间的距离

在这里插入图片描述

  1. 形态学操作-腐蚀

相关的API:erode
腐蚀跟膨胀操作的过程类似,唯一不同的是以最小值替换锚点重叠下图像的像素值
腐蚀的作用:
 对象大小减少1个像素(3x3)
 平滑对象边缘
 弱化或者分割图像之间的半岛型连接

在这里插入图片描述

代码实现:

import cv2 as cv
import numpy as np

#腐蚀
def erode_demo(image):
    print(image.shape)
    #灰度图像
    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
    #二值化
    ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)
    cv.imshow("binary", binary)
    #得到结构元素,(15, 15)可以控制腐蚀程度
    kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5))
    #腐蚀
    dst = cv.erode(binary, kernel)
    cv.imshow("erode_demo", dst)

#膨胀
def dilate_demo(image):
    print(image.shape)
    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)
    ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)
    cv.imshow("binary", binary)
    kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5))
    #膨胀
    dst = cv.dilate(binary, kernel)
    cv.imshow("dilate_demo", dst)


print("--------- Python OpenCV Tutorial ---------")
src = cv.imread("D:/vcprojects/images/demo.png")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
#erode_demo(src)
#也可以对彩色图像进行膨胀腐蚀操作,单通道、多通道都支持
kernel = cv.getStructuringElement(cv.MORPH_RECT, (3, 3))
dst = cv.erode(src, kernel)
cv.imshow("result", dst)
cv.waitKey(0)

cv.destroyAllWindows()


erode结果:

在这里插入图片描述

dilate结果:

在这里插入图片描述

图像处理基础:图像膨胀、腐蚀、开闭运算及梯度运算的Python实现 通过这些形态学操作,我们可以更好地理解图像处理的基本原理和方法,掌握图像处理的基本技能,为进一步的图像分析和处理打下基础。 阅读详情

相关推荐

图像处理--形态学处理

opencv形态学处理

weixin_51711289的博客 3115

Python图像处理:图像腐蚀与图像膨胀

该公式表示用B来对图像A进行膨胀处理,其中B是一个卷积模板或卷积核,其形状可以为正方形或圆形,通过模板B与图像A进行卷积计算,扫描图像中的每一个像素点,用模板元素与二值图像元素做“与”运算,如果都为0,那么目标像素点为0,否则为1。被扫描到的原始图像中的像素点,只有当卷积核对应的元素值均为1时,其值才为1,否则其值修改为0。图像膨胀是腐蚀操作的逆操作,类似于“领域扩张”,将图像中的高亮区域或白色部分进行扩张,其运行结果图比原图的高亮区域更大,线条变粗了,主要用于去噪。通常进行1次膨胀即可。

aobulaien001的博客 1728

【Python】【Opencv】形态学操作cv2.morphologyEx()函数详解和示例,实现腐蚀、膨胀、闭和开等运算

常用的形态学操作如腐蚀、膨胀、开运算、闭运算等,可以帮助我们解决一下图像不连接或消除图像中某些不想要的连接,对于图像处理使用方便,效果明显。本文通过示例对这些功能和效果进行演示,以帮助大家理解和使用。

不定时分享,互相学习,共同进步 8544

图像形态学处理操作:膨胀和腐蚀

二值图像分析:图像形态学处理

Hundreays 3156

OpenCV+python:膨胀和腐蚀

1,概念及原理: 膨胀(Dilating) (或) (1)将图像 A 与任意形状的内核 (B),通常为正方形或圆形,进行卷积。 (2)内核 B 有一个可定义的 锚点, 通常定义为内核中心点。 (3)进行膨胀操作时,将内核 B 划过图像A,将内核 B 覆盖区域的最大相素值提取,并代替锚点位置的相素。显然,这一最大化操作将会导致图像中的亮区开始”扩展” (因此有了术语膨胀 dilation )。 以3...

qq_43660987的博客 6539

形态学处理腐蚀和膨胀

图像的腐蚀和膨胀都属于形态学的基本运算。什么是形态学?形态学操作可以说是基于形状的一系列图像处理操作,通过将结构元素(这里是kernal)作用于输入图像,从而得到输出图像。大都是在二值图像的基础上进行的操作。 膨胀操作类似于“领域扩张”,原二值图像中分为前景和背景,膨胀操作就是把前景区域扩大;腐蚀操作类似于“领域压缩”,图像中高亮的前景部分的区域会缩小。 以下图为例: 上图中左边的图像为经过ot...

jackzhang11的博客 3414

数字图像处理(12): 形态学处理——图像腐蚀与图像膨胀

目录 1 形态学操作 2 图像腐蚀 3 图像膨胀 参考资料 1 形态学操作 形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。这里,我们使用同一词语表示数学形态学的内容,将数学形态学作为工具从图像中提取表达和描绘区域形状的有用图像分量,如边界、骨架和凸壳等。 形态学处理主要针对的是二值图像(0或1)。 形态学通常使用图像腐蚀和图像膨胀...

TechArtisan6的博客 3万+

OpenCV-Python:腐蚀、膨胀、开操作、闭操作

腐蚀: 腐蚀就是选择滑动窗口中像素值最小的点(局部最小值)。 公式表示: 可以理解为,移动结构B,如果结构B与结构A的交集完全属于结构A的区域内,则保存该位置点,所有满足条件的点构成结构A被结果B腐蚀的结果。 函数原型: dst=cv2.erode(src, kernel[, dst[, anchor[, iterations[, borderType[, borde...

JACK_YOUNG007的博客 2342

openCV:详解形态学操作(腐蚀、膨胀、开运算,闭运算等)

定义 形态学操作,例如腐蚀,膨胀,开运算,闭运算等 形态学操作是根据图像形状进行的简单操作 一般情况下对二值化图像进行的操作。 需要输入两个参数: 一个是原始图像, 一个被称为结构化元素或核,它是用来决定操作的性质的 原理 形态变换是基于图像形状的一些简单操作。它通常在二进制图像上执行。它需要两个输入,一个是原始图像,第二个是结构元素或核structuring element or kernel ,它决定我们操作的性质。两个基本的形态操作运算符是侵蚀和扩张。然后,是它们的变体形式,如开放,关闭,梯

Vermont_的博客 2万+

Xilinx Vivado LDPC IP core,TSN IP core. 各种IP core

Xilinx Vivado LDPC IP core,TSN IP core. 各种IP core

qq_1432825237的博客 3991

FANUC机器人KAREL编程实战:手把手教你用SOCKET指令连接外部设备(附完整.KL文件)

本文详细解析了FANUC机器人KAREL编程中SOCKET指令的应用,从开发环境配置到工业级通讯全流程,涵盖网络参数设置、模块化代码设计、错误处理及现场调试技巧。通过实战案例,帮助开发者掌握与外部设备稳定连接的关键技术,提升工业自动化系统的通讯可靠性。

weixin_30907935的博客 226

【形态学滤波】——腐蚀和膨胀

本篇文章主要用于记录python调用opencv实现图像膨胀与腐蚀的算法,以及相关的知识点。 一、基础理论 二、图像腐蚀代码 三、图像膨胀代码 四、形态学处理图像常规操作 一、基础理论 1、形态学概述 图像处理中的形态学往往指的是数学形态学。 2、数学形态学 建立在格论和拓扑学基础之上的图像分析学科,是数字形态学图像图像处理的基本理论。 其基本的运算包括二值化腐蚀和膨胀、二值开闭...

yxdd1gbk的博客 8178

新手必看:用Simulink搭建飞跨电容三电平逆变器的完整流程(附SPWM配置技巧)

本文详细介绍了使用Simulink搭建飞跨电容三电平逆变器(FCNPC)的完整流程,特别聚焦于SPWM调制策略的配置技巧。通过模块拆解、参数设置和波形优化的三步法,配合实操截图和典型参数表,帮助新手快速掌握多电平逆变器的建模与仿真技能,适用于电力电子学习和项目开发。

weixin_30664051的博客 287

《OpenCv视觉之眼》Python图像处理九 :Opencv图像形态学处理之图像腐蚀与膨胀原理及方法

本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的、不同方法的处理,以达到对图像进行去噪、锐化等一系列的操作。同时,希望观看本专栏的小伙伴可以理解到OpenCv进行图像处理的强大哦,如有转载,请注明出处(原文链接和作者署名),感谢各位小伙伴啦! 前文参考: 《OpenCv视觉之眼》Python图像处理一 :Opencv-python的简介及Python环境搭建 《OpenCv视觉之眼》Python图像

qq_42451251的博客 5298

MATLAB 2026最新版免费下载安装教程:许可证激活与报错排查

科学计算与仿真在工程实践中扮演着核心角色,MATLAB 作为业界标准平台,凭借矩阵运算、数据可视化和 Simulink 仿真能力,成为高校课程设计与科研实验中的高频工具。理解其许可证机制是正确安装与持续使用的关键:官方提供试用版、学生版、家庭版及校园许可证等多种合法获取途径,安装包由引导器、工具箱文件与授权信息组成。掌握从下载到激活的完整流程,并根据操作系统进行环境配置与工具组件选装,不仅能规避安全风险,还能显著提升工程效率。针对安装过程中常见的许可证校验失败或工具箱不可用等问题,提供系统化排查思路与命令行

weixin_30702441的博客 2684

《全连接到卷积神经网络:图像识别的演变历程》

这篇文章会从传统全连接层面临的困境说起,揭示卷积神经网络(CNN)成为图像识别核心动力的原因,探究其背后蕴含的设计思想与技术创新。但是回顾历史,CNN的出现提醒我们:技术的突破往往是由对自然规律的模仿和重新构建得来的。也许,当机器真的学会“像人一样看世界”的时候,它们的“眼睛”早就超过生物视觉的限制了。例如,用5×5的核处理224×224的输入时,只要25个参数(而不是全连接那种百万级的)。* 局部性:网络的底层只需留意局部的地方(像边缘、纹理这样的地方),不用管那些全局像素之间复杂的关系。

2401_82434295的博客 674

Python+OpenCV系列:膨胀和腐蚀——图像形态学操作深度解析

在计算机视觉中,膨胀和腐蚀是两种基本的图像形态学操作。膨胀通过扩展前景区域,增大物体,常用于填补小空洞和连接物体;腐蚀则通过收缩前景区域,使物体变小,主要用于去除噪声和分离相邻物体。膨胀和腐蚀操作通过结构元素(Kernel)控制图像变化,常用于图像去噪、物体分割和边缘增强等任务。本文详细介绍了膨胀和腐蚀的基本原理、应用场景,并展示了如何在Python中使用OpenCV实现这些操作。膨胀和腐蚀的组合操作,如开运算和闭运算,也在实际应用中发挥着重要作用。

Byronloong 的博客 2401

Java的API帮助文档

JDK帮助文档 SUN公司为JDK工具包提供了一整套文档资料,我们习惯上称之为JDK文档。 JDK文档中提供了Java中的各种技术的详细资料,以及JDK中提供的各种类的帮助说明。 JDk文档是Java语言的完整说明,大多数书籍中的类的介绍都要参照它来完成,它是编程者经常查阅的资料 如何理解API:就当做是一个“字典”,“使用手册”,API就相当于是一个电子的帮助文档,可以帮我们查看JDK提供的类的信息,平时查看的时候可结合百度一起看。 官网下载: 1、登录Oracle官网(Oracl.

人生得意须尽欢 2万+

python-opencv之形态学操作(腐蚀和膨胀)原理详解

python-opencv之形态学操作(腐蚀和膨胀)原理详解

恍恍惚惚的大穷猫的博客 8600

【NIPS 2022】时序精选论文07|Non-stationary Transformers: 引入非平稳性信息的平稳化序列预测模型(代码解读附源码)

整体代码框架基本上与传统 Transformer 类似,基本上只有在内嵌的注意力机制模块有区别,因此这里只对关键部分进行讲解,代码整体框架可参考 Transformer。非平稳时序很难预测,尤其对模型泛化性影响很大,试想下推理阶段的数据分布变了,模型很难适应这种变化。,比如很早以前的差分就是一种平稳化操作。序列平稳化能增强数据的可预测性,但这时也会带来一个问题,叫。,通过MLP层进行定义,使得参数可学习,以便于更好的融合到注意力网络中。代码中整体注意力的计算方式与原生Transformer类似,

ViolenceTemper的博客 1495

【图论】系列(七)图论的中心性度量方法及重要性评价指标

图论中的中心性度量方法是用来衡量图中各个节点(或顶点)相对重要性的指标。

qq_30066733的博客 1078

[图像形态学操作]——腐蚀和膨胀、开闭运算、黑帽礼帽

形态学转换是基于图像形状的一些简单操作,它通常在二进制图像上执行。腐蚀和膨胀是两个基本的形态学运算符。然后它的变体形式如:开运算、闭运算、礼帽黑帽等。 一、连通性 在图像学当中,图像的最小单位是像素,每个像素周围有8个邻接像素,常见的邻接关系有3种:4领接、D邻接和8邻接 连通性是描述区域和边界的重要概念,两个像素连通的两个必要条件是: 1、两个像素的位置是否相邻 2、两个像素的灰度值是否满足特定的相似性准则(或者是否相等) 根据连通性的定义,有4连通、8连通和m连通三种 1..

weixin_42067873的博客 2483

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【OpenCV-Python】:形态学操作之腐蚀与膨胀

目录😺一、引言😺二、腐蚀(erosion)🐶2.1 什么是腐蚀🐶2.2 程序编写及结果可视化😺三、膨胀(erosion)🐶3.1 什么是膨胀🐶3.2 程序编写及结果可视化 😺一、引言 形态学(morphology)通常表示生物学的一个分支,该分支主要研究动植物的形态核结构。我们使用同一词语表示数学形态学的内容,.

王乐予的博客 3804

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

OpenCV-Python教程:形态学变换~腐蚀和膨胀(erode,dilate)

原文链接:http://www.juzicode.com/opencv-python-erode-dilate 返回Opencv-Python教程 形态学变换是基于图像形状的变换过程,通常用来处理二值图像,当然也可以用在灰度图上。OpenCV中的形态学变换同平滑处理一样也是基于一种“滑动窗口”的操作,不过在形态学变换中“滑动窗口”有一个更专业的名词:“结构元”,也可以像平滑处理那样称呼为kernel,结构元的形状有方形、十字形、椭圆形等,其形状决定了形态学变换的特点。形态学变换主要有腐蚀、膨胀、开操作、

桔子code 的博客 7679

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python——OpenCV形态学处理(膨胀与腐蚀)

定义结构元素 形态学处理的核心就是定义结构元素,在OpenCV-Python中,可以使用其自带的getStructuringElement函数,也可以直接使用NumPy的ndarray来定义一个结构元素。 函数原型: Mat getStructuringElement(int shape, //核的形状 0:矩形 1:十字交叉形 2: 椭圆 ...

YBAdiam的博客 4858

腐蚀及膨胀的python实现——数字图像处理

形态学操作主要包含:腐蚀,膨胀,开运算,闭运算,形态学梯度运算,顶帽运算,黑帽运算等操作。腐蚀操作与膨胀操作是形态学的运算基础,将腐蚀与膨胀结合,就可以实现开运算,闭运算,形态学梯度等不同形式的运算。腐蚀是最基本的形态学操作之一,它能够将图像的边界点消除,使图像沿着边界向内收缩,也可以将小于指定结构体元素的部分去除。腐蚀主要用来“收缩”或者“细化”二值图像中的前景,借此实现去噪声,元素分割等功能。

qq_49370210的博客 2750
上一篇: 【OpenCv 4 Python 3.7】对象测量(面积,周长,质心,边界框等)
下一篇: 【OpenCv 4 Python 3.7】图像形态学操作之开闭操作
YL_python_C++_java
博客等级 码龄7年 1392粉丝 142原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值