OpenCV之开运算与闭运算

article/2025/10/3 17:07:13

1.开运算:先腐蚀,后膨胀

  • 开运算总结:
    (1)开运算能够除去孤立的小点,毛刺和小桥,而总的位置和形状不便。
    (2)开运算是一个基于几何运算的滤波器。
    (3)结构元素大小的不同将导致滤波效果的不同。
    (4)不同的结构元素的选择导致了不同的分割,即提取出不同的特征。
  1. 代码:
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread(r"C:\Users\Curry\Desktop\cc.png")
# img = cv2.cvtColor(img, code=cv2.COLOR_BGR2RGB)
kernel = np.ones(shape=[10, 10], dtype=np.uint8)
img = 255-img  #黑变白,白变黑
# 开运算,先腐蚀,后膨胀
result = cv2.morphologyEx(img, op=cv2.MORPH_OPEN,kernel=kernel, iterations=1)
plt.subplot(1,2,1)
plt.title('raw')
plt.imshow(img)
plt.subplot(1,2,2)
plt.title('monrph')
plt.imshow(result)
plt.show()

 2.闭运算:先膨胀,后腐蚀

  • 闭运算总结:

        (1)闭运算能够填平小湖(即小孔),弥合小裂缝,而总的位置和形状不变。
        (2)闭运算是通过填充图像的凹角来滤波图像的。
        (3)结构元素大小的不同将导致滤波效果的不同。
        (4)不同结构元素的选择导致了不同的分割

代码:

import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread(r"C:\Users\Curry\Desktop\aa.png")
# img = cv2.cvtColor(img, code=cv2.COLOR_BGR2RGB)
kernel = np.ones(shape=[10, 10], dtype=np.uint8)
img = 255-img  #黑变白,白变黑
# 闭运算.先膨胀,后腐蚀
result = cv2.morphologyEx(img, op=cv2.MORPH_CLOSE,kernel=kernel, iterations=1)
plt.figure(figsize=(10,10))
plt.subplot(1,2,1)
plt.title('raw')
plt.imshow(img)
plt.subplot(1,2,2)
plt.title('monrph')
plt.imshow(result)
plt.show()

 


http://chatgpt.dhexx.cn/article/lVRak5mw.shtml

相关文章

halcon 开运算与闭运算

例一:毛刺在往外凸的面上 策略1:分割出黑色部分,然后通过开运算去掉毛刺,再通过原黑色部分区域减去开运算之后的区域,得到毛刺部分的区域。 1 read_image (Tu, C:/Users/xiahui/Desktop/tu.jpg) 2 binary_threshold …

图像开运算

开运算是先腐蚀后膨胀的过程,它能去除孤点、毛刺和小桥(连接两区域的小点),消除小物体、平滑大物体的边界,并且不明显改变面积。 开运算公式如下: #include"cv.h" #include "highgui.h&…

8.3 开运算

点击此处返回总目录 一、什么是开运算 一个图像先进行腐蚀,再进行膨胀。 这种操作,最后得到的图像就是对原始图像的去燥处理。并保持原有图像的形状不变。 这种操作叫做开运算。 官网上的例子&#xff…

形态学应用——图像开运算与闭运算

(如果不了解腐蚀与膨胀原理的同学那请看我前一期博客哦!) 1.开运算 开运算 先腐蚀运算,再膨胀运算(看上去把细微连在一起的两块目标分开了) 开运算的效果图如下图所示: 开运算总结&#xf…

20、开运算与闭运算

一、开运算含义 先进行腐蚀再进行膨胀就叫做开运算。开运算 (image) 膨胀 (腐蚀 (image)) 图像被腐蚀后,去除了噪声,但会压缩图像;对腐蚀过的图像进行膨胀处理,可以去除噪声并保持原有形状。 二、morphologyEx() 实现开运算 2…

形态学操作——开运算与闭运算

1.开运算 开运算 先腐蚀运算,再膨胀运算(看上去把细微连在一起的两块目标分开了) 开运算的效果图如下图所示: 开运算总结: (1)开运算能够除去孤立的小点,毛刺和小桥&am…

形态学 - 开运算和闭运算

目录 1. 介绍 2. 代码实现 2.1 开运算 2.2 闭运算 1. 介绍 膨胀和腐蚀操作都会有一个通病,就是会改变原目标的大小 开运算:先对目标腐蚀在膨胀 开运算能够平滑物体的轮廓、断开狭窄的狭颈、消除细长的突出物等等 开运算的一些理解:先…

RNN流程详解

RNN及其代码流程 本文重点关注RNN的 整个流程,而不是BP的推导过程 什么是RNN Recurrent Neural Network 循环神经网络 为什么需要RNN? 普通的神经网络都只能单独地处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是&#…

微信小程序:如何在{{}}中使用函数?WXML+WXS

前言 在项目中涉及到百分比的计算&#xff0c;js浮点数运算会出现精度问题&#xff0c;造成小数位数过多&#xff0c;因此想在模板语法中对值进行相应的处理。 开始 按照常规用法&#xff0c;使用js中的toFixed()进行处理&#xff1a; <view>&#xffe5;{{(cashMone…

wxPython:wx.Font详细解释用法

官方构造解释&#xff1a; 注解用法&#xff1a; wx.Font(pointSize, family, style, weight, underlineFalse, faceName"", encodingFONTENCODING_DEFAULT) pointSize &#xff1a;文字大小&#xff1a;floatfamily &#xff1a;字体系列&#xff1a;FontFamilyst…

小程序 - wxs

wxs&#xff1a; 在小程序里写函数表达式&#xff0c;做数据处理 官方文档 wxs WXS&#xff08;WeiXin Script&#xff09;是小程序的一套脚本语言&#xff0c;结合 WXML&#xff0c;可以构建出页面的结构。 WXS 与 JavaScript 是不同的语言&#xff0c;有自己的语法&#x…

如何在小程序的wxml中书写函数逻辑,wxs的使用

在小程序wxml的页面中我们可以使用{{}}内部来书写简单的js表达式&#xff0c;如三目运算符等&#xff0c;但是对于稍微复杂一点的逻辑我们就需要用函数来解决&#xff0c;如果写在js文件中有些繁琐还需要绑定数据等&#xff0c;此时wxs就配上了用场 wxs只支持ES5&#xff01;&…

【学习】HW5

机器学习/深度学习 一、HW5任务训练数据集评价指标——BLEU工作流程训练技巧Baseline Guidereport 代码数据集迭代器编码器attention解码器Seq2Seq模型初始化优化优化器&#xff1a;Adamlr scheduling验证和推断模型补充 一、HW5 任务 在这个家庭作业中&#xff0c;我们将把英…

WXSS-WXML-WXS语法

目录&#xff1a; 1 WXSS编写程序样式 2 Mustache语法绑定 3 WXML的条件渲染 4 WXML的列表渲染 5 WXS语法基本使用 6 WXS语法案例练习 小程序的自适应单位rpx。在设计稿为iPhone6的时候1px2rpx wxml必须是闭合标签&#xff0c;或者单标签加/&#xff0c;否则会报错&#…

WX:用法

1.条件渲染wx:for 在组件上绑定一个数组&#xff08;默认当前标下变量为index.数组变量为item) wx:for-item可以指定当前元素的变量名 wx:for-index可以指定数组当前下标的变量名 2.条件渲染wx:if wx:if是一个控制属性&#xff0c;需要添加到标签中使用 使用多个标签时可…

【微信小程序】WXML WXSS JS

目录 &#x1f353;小程序代码的构成 - WXML 模板 1. 什么是 WXML 2. WXML 和 HTML 的区别 &#x1f347;小程序代码的构成 - WXSS 样式 1. 什么是 WXSS 2. WXSS 和 CSS 的区别 &#x1f352;小程序代码的构成 - JS 逻辑交互 1. 小程序中的 .js 文件 2. 小程序中 .js 文…

【HW4】

HW4 一、Unsupervised LearningSharing ParametersFormulationIn PracticeVarious ArchitecturesApplication机器翻译 总结 二、HW41、Task2、数据集分析mapping.json文件metadata.json文件testdata.json文件 3、Dataset 4、Dataloader5、Model6、Learning rate scheduleLambda…

【微信小程序】--WXML WXSS JS 逻辑交互介绍(四)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#…

微信小程序 | 小程序WXSS-WXML-WXS

&#x1f5a5;️ 微信小程序 专栏&#xff1a;小程序WXSS-WXML-WXS &#x1f9d1;‍&#x1f4bc; 个人简介&#xff1a;一个不甘平庸的平凡人&#x1f36c; ✨ 个人主页&#xff1a;CoderHing的个人主页 &#x1f340; 格言: ☀️ 路漫漫其修远兮,吾将上下而求索☀️ &#x1…

【wx】

.js: //message.js const app getApp() Page({data: {background: #D1EEEE,activeKey: 0,motto: Hello World,userInfo: {},hasUserInfo: false,canIUse: wx.canIUse(button.open-type.getUserInfo),navData: [{text: 首页},{text: 健康},{text: 情感},{text: 职场},{text: 育…