首页 > 其他分享 >图像腐蚀操作

图像腐蚀操作

时间:2023-07-14 19:55:51浏览次数:31  
标签:元素 cv2 像素 腐蚀 图像 操作 结构

1. 腐蚀操作

  腐蚀操作是一种图像处理操作,它可以将图像中的细小或细长的物体变细或变短。它通过将结构元素与图像进行卷积操作,将亮区域被黑色区域所腐蚀,从而减小亮区域的面积。在许多图像处理软件中,腐蚀操作通常作为一个常见的图像处理滤镜或功能提供。在图像形态学处理领域,常用的腐蚀操作是指定形状和大小的结构元素与二值图像进行卷积。结构元素通常是一个小的图像区域,可以是矩形、圆形、十字形等形状。

2.  步骤

(1)选择一个结构元素:结构元素是一个小的二进制矩阵,用于定义腐蚀的形状和大小。通常选择一个正方形或圆形的结构元素。

(2)将结构元素放置在图像的每一个像素上,并与之对应的区域进行逐元素比较。

(3)如果结构元素中的所有像素都与相应的图像区域中的像素匹配,则将该像素保留为白色(或者其他亮度)。

(4)如果结构元素中的任何一个像素与相应的图像区域中的像素不匹配,则将该像素设为黑色(或者其他暗度)。

重复步骤2至步骤4,直到对图像中的每一个像素都进行了处理。如下图所示

 

3. 代码与例子

"""
cv2.getStructuringElement有三个参数:shape, ksize, anchor=None
shape:结构元素的形状,可以是矩形(cv2.MORPH_RECT),椭圆(cv2.MORPH_ELLIPSE),或十字形(cv2.MORPH_CROSS)
ksize:结构元素的大小,通常为奇数
anchor:锚的位置,其有默认值(-1,-1),表示结构元素的中心位置。
"""
import cv2
import numpy as np
img = cv2.imread('./fushi.png', 0)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
# kernel = cv2.getStructuringElement(cv2.MORPH_CROSS,(3,3))
erosion = cv2.erode(img, kernel)
# cv2.imshow("img",img)
# cv2.imshow("erosion",erosion)
cv2.imshow('img',np.hstack((img,erosion)))
cv2.waitKey(0)

 

  可以发现腐蚀后的图(右图),与左图相比较,变细了,而且少了很多细线噪声。如果消除噪声不理想,可以考虑增大ksize的大小。

4. 参数

cv2.getStructuringElement中的shape参数该如何选取呢?

  • 如何选择结构元素的形状和大小取决于你想要实现的效果和场景的特点:
  • 如果你想要减小物体的边界区域,可以选择一个比较小的结构元素。
  • 如果图像中的物体形状比较圆润,可以选择椭圆形的结构元素。
  • 如果物体的边界是由细线组成的,可以选择十字形的结构元素。
  • 结构元素的大小也可以根据物体的大小来选择,通常选择一个比物体尺寸稍大一些的结构元素。

 

 小结:本文介绍了图像的腐蚀操作,与之对应相反的操作为膨胀操作,膨胀操作常与腐蚀操作一起结合使用。shape参数的其它几种情况没有试过。腐蚀操作可以用于多种图像处理任务,包括图像分割、去除噪声、提取图像中的特定形状或结构等。通常,在进行腐蚀操作之前,需要对原始图像进行灰度化、二值化或其他预处理步骤。

  若存在不足或错误之处,欢迎指正与评论!

 

标签:元素,cv2,像素,腐蚀,图像,操作,结构
From: https://www.cnblogs.com/wancy/p/17554843.html

相关文章

  • dwm.exe 是 Windows 操作系统中的一个进程,它代表桌面窗口管理器 (Desktop Window Mana
    dwm.exe是Windows操作系统中的一个进程,它代表桌面窗口管理器(DesktopWindowManager)。桌面窗口管理器是Windows中负责处理图形渲染和用户界面效果的组件之一。具体来说,dwm.exe负责管理桌面环境的显示、窗口合成、窗口动画、透明效果等任务。它使用硬件加速技术来提供流......
  • sihclient.exe 是 Windows 操作系统中的一个进程,它代表"Software Installation Helper
    sihclient.exe是Windows操作系统中的一个进程,它代表"SoftwareInstallationHelper"(软件安装助手)。sihclient.exe的主要功能是帮助管理和执行软件安装、更新和卸载操作。具体来说,sihclient.exe进程负责监控和处理在Windows上进行的软件安装过程。当用户安装或更新软件时,si......
  • devicecensus.exe 是 Windows 操作系统中的一个进程,它与设备普查相关。设备普查是 Win
    devicecensus.exe是Windows操作系统中的一个进程,它与设备普查相关。设备普查是Windows操作系统收集和报告硬件和软件信息的一项功能。具体来说,devicecensus.exe是Windows的设备普查服务的主执行文件。它负责定期运行设备普查任务,收集系统的硬件配置、驱动程序信息、应用......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-7-浏览器的相关操作
    1.简介上一篇已经将playwright的元素定位大法基本介绍的差不多了,但是在Web的UI自动化的测试中,我们通常需要使用一些方法来操作浏览器,今天就跟随学习了解一下。这一篇宏哥主要是介绍一下,在自动化测试的时候,我们常见的一些浏览器操作有哪些,宏哥将会一一介绍和讲解。2.层级在介绍......
  • 苹果iOS App Store上架操作流程详解:从开发者账号到应用发布
    ​ 很多开发者在开发完iOSAPP、进行内测后,下一步就面临上架AppStore,不过也有很多同学对APP上架AppStore的流程不太了解,下面我们来说一下iOSAPP上架AppStore的具体流程,如有未涉及到的部分,大家可以及时咨询,共同探讨。内容:在完成iOSAPP开发和内部测试后,下一个步骤就是将应......
  • 在 3ds Max 中使用Mental Ray渲染 wip 图像
    推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景本教程面向初学者,每个步骤都详细概述和显示。如果您是3DStudioMAX的新手,您可能想先尝试我们的其他一些教程。使用默认的3DStudioMAX渲染器创建粘土渲染步骤1 在3DStudioMax中启动一个新场景并向场景添加模......
  • 在vm-17版本上安装centos 8.5 版本的Linux操作系统
    1、新建虚拟机 2、选择安装模式 3、选择虚拟机硬件兼容性,选择默认的 4、客户端操作系统安装选择 5、选择安装的操作系统类型 6、虚拟机命名和存放路径修改 7、处理器内核配置 8、系统内存放分配,选择默认的 9、选择网络连接模式 10、选择控制器 11......
  • 操作符
    ①算数操作符+-* /移位操作符<<左移>>右移位操作符&按位取反|按位或^按位异或#include<stdio.h>intmain(){ inta=1; intb=a<<2; printf("%d\n",b); return0;}②按位左移的例子#include<stdio.h>intmain(){ inta=1; intb=a<&l......
  • 端口操作指南
    知行之桥EDI系统中的端口是用于创建数据工作流的功能模块。每个端口可执行以下的一个任务:使用标准网络协议(AS2,AS4,FTP,SFTP,OFTP等)与外部目标之间传输文件与后端系统集成,例如数据库或云端应用程序使用或公开RESTfulwebAPI将数据从一种格式转换为另一种格式,如X12,EDIFAC......
  • Oracle EBS:注册Form表单和function功能基本操作
    OracleEBS:注册Form基本操作。这里将注册Form的基本步骤记录下来。1.首先,查看当前用户是否具备应用开发员责任。如果没有需要为当前登录用户配置应用开发员责任权限。2.配置完应用开发员角色后,打开oracleApplication表单界面,切换角色到应用开发员,打开应用产品,即可看到表单注......