膨胀腐蚀操作opencv dilate膨胀白膨胀,erode腐蚀是黑吃白。主要针对二值图

news/2024/11/15 0:28:37/

效果:
在这里插入图片描述

代码:

import cv2
import numpy as np
from matplotlib import pyplot as pltif __name__ == "__main__":h = 10w = 10data = np.random.normal(0, 1, [h, w]) # sigma, 2*sigma, 3*sigma之间的数的比例分别为0.68, 0.96, 0.99mask_new = data > 2print(data)print(np.sum(abs(data) < 1) / (h*w))print(np.sum(data < 0) / (h * w))mask_new = (mask_new * 255).astype(np.uint8)mask_new[3:6, 4:6] = 255kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))a = cv2.dilate(mask_new, kernel) # 膨胀b = cv2.erode(a, kernel) #腐蚀closing = cv2.morphologyEx(mask_new, cv2.MORPH_CLOSE, kernel) # 先膨胀后腐蚀opening = cv2.morphologyEx(mask_new, cv2.MORPH_OPEN, kernel)  # 先腐蚀后膨胀plt.figure()plt.subplot(231)plt.imshow(mask_new, cmap='gray')plt.subplot(232)plt.imshow(a, cmap='gray')plt.subplot(233)plt.imshow(b, cmap='gray')plt.subplot(234)plt.imshow(opening, cmap='gray')plt.subplot(235)plt.imshow(closing, cmap='gray')plt.show()

http://www.ppmy.cn/news/1523897.html

相关文章

什么是设计模式,要掌握那些知识

设计模式就像是软件开发中的“秘籍”&#xff0c;它们是经过无数开发者反复实践验证的“套路”&#xff0c;帮助我们解决常见的代码设计问题。如果把编程比作武功&#xff0c;那设计模式就像是“武功秘籍”&#xff0c;能让你在应对复杂开发问题时&#xff0c;招式更灵活、思路…

Ubuntu 24.04 配置 nginx + php-fpm

nginx 是一个流行的 web 服务器&#xff0c;以其速度和可靠性而闻名&#xff0c;被许多顶级网站使用。要用 PHP 运行网站&#xff0c;您需要设置 php-fpm&#xff0c;nginx 与 php-fpm 一起处理 PHP 文件并将其显示给用户&#xff0c;帮助网站更快地加载并处理更多流量。 本教…

每日一题——第八十五题

题目&#xff1a;写一个函数&#xff0c;输入一个十六进制/八进制数/二进制数,输出对应的十进制数 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> long stringToDecimal(const char* str, int base);int main() {char …

ML 系列:机器学习和深度学习的深层次总结(02)线性回归

ML 系列&#xff1a; — 简单线性回归 线性回归、损失函数、假设函数 图 1.线性回归 文章目录 一、说明二、线性回归2.1 简单线性回归2.2 回归中的损失函数 三、线性回归中的评估标准四、线性回归模型训练五、可视化5.1 假设函数5.2 计算训练模型的损失&#xff1a;5.3 绘制 H…

Spring Cloud Gateway学习记录

Spring中文网 https://springdoc.cn/spring-cloud-gateway/ Spring官网 https://spring.io/projects/spring-cloud-gateway 网关简介 大家都都知道在微服务架构中&#xff0c;一个系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢&#xff1f; 如果…

某red书最新版x-s、x-s-common(上)

目标&#xff1a;达人主页笔记翻页接口 打上xhr断点 断住后回溯堆栈&#xff0c;会发现直到异步堆栈为止参数都是已经生成的&#xff0c;那么进入异步堆栈打上断点 刷新页面发现参数已经生成&#xff0c;那么继续往下找堆栈 进入第二个异步。发现此时参数并未生成 异步调试…

算法:区间dp

文章目录 一、适用场景二、基本思路步骤时间复杂度&#xff1a; 三、例题 区间动态规划&#xff08;Interval DP&#xff09;是一种用于解决某些需要处理区间或子段问题的动态规划方法&#xff0c;特别适合于问题的解可以通过子区间的解进行组合的情况。该方法的核心思想是在子…

【习题】质量建议与测试指南

判断题 1. 兼容性测试是指测试长时间运行故障率&#xff08;崩溃、冻屏等&#xff09;、长时间运行内存资源异常等。 A、正确(True) B、错误(False) 2. 敏感个人信息是一旦泄露或者非法使用&#xff0c;容易导致自然人的人格尊严受到侵害或者人身、财产安全受到危害的…