腐蚀操作

#腐蚀操作
import cv2
import numpy as np
img=cv2.imread("d:/ke.png")
kernel = np.ones((3,3),np.uint8)
erosion = cv2.erode(img,kernel,iterations = 1)#腐蚀操作 iterations控制腐蚀程度
erosion1 = cv2.erode(img,kernel,iterations = 2)
erosion2 = cv2.erode(img,kernel,iterations = 3)
res=np.hstack((img,erosion,erosion1,erosion2))
cv2.imshow('erosion', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

膨胀操作

import  cv2
import numpy as np
img=cv2.imread("d:/ke.png")
kernel=np.ones((3,3),np.uint8)
img_diate=cv2.dilate(img,kernel,iterations=1) #膨胀操作
img_diate1=cv2.dilate(img,kernel,iterations=2)
img_diate2=cv2.dilate(img,kernel,iterations=3)
res=np.hstack((img_diate,img_diate1,img_diate2)) #水平展示
cv2.imshow("ditae",res)
cv2.waitKey(0)
cv2.destroyAllWindows()

开闭运算

import  cv2
import numpy as np
img=cv2.imread("d:/ke.png")
kernel=np.ones((3,3),np.uint8)
open=cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel)#开运算:先腐蚀,后膨胀
close=cv2.morphologyEx(img,cv2.MORPH_CLOSE,kernel)#关运算:先膨胀,后腐蚀
res=np.hstack((open,close))
cv2.imshow("kai vs close",res)
cv2.waitKey(0)
cv2.destroyAllWindows()

梯度运算

#梯度运算
import cv2
import numpy as np
img=cv2.imread("d:/ke.png")
kernel=np.ones((3,3),np.uint8)
dilate=cv2.dilate(img,kernel,iterations=3) #膨胀
erosion=cv2.erode(img,kernel,iterations=3) #腐蚀
gradient=cv2.morphologyEx(img,cv2.MORPH_GRADIENT,kernel) #梯度
res=np.hstack((dilate,erosion,gradient))
cv2.imshow("show",res)
cv2.waitKey(0)
cv2.destroyAllWindows()

礼帽与黑帽

礼帽 = 原始输入-开运算结果

黑帽 = 闭运算-原始输入

import cv2
import numpy as np
img=cv2.imread("d:/ke.png")
kernel=np.ones((3,3),np.uint8)
tophar=cv2.morphologyEx(img,cv2.MORPH_TOPHAT,kernel) #礼帽
blackhar=cv2.morphologyEx(img,cv2.MORPH_BLACKHAT,kernel) #黑帽
res=np.hstack((tophar,blackhar))
cv2.imshow("hat",res)
cv2.waitKey(0)
cv2.destoryAllWindows()

opencv-python 图像基础处理(三)的更多相关文章

  1. OpenCV Python教程(3、直方图的计算与显示)

    转载请详细注明原作者及出处,谢谢! 本篇文章介绍如何用OpenCV Python来计算直方图,并简略介绍用NumPy和Matplotlib计算和绘制直方图 直方图的背景知识.用途什么的就直接略过去了. ...

  2. Win7 64bit+Anaconda(3-5.0.1,Python3.6)+Pycharm(community-2017.3.3)+OpenCV(python‑3.4.0‑cp36‑cp36m)(转载)

    Anaconda(3-5.0.1,Python3.6)下载链接:https://pan.baidu.com/s/1bqFwLMB 密码:37ih Pycharm(community-2017.3.3) ...

  3. 解决Windows Server 2012 R2 Datacenter云服务器无法运行opencv python程序的问题

    写了个基于opencv的python程序,pyinstaller 32位机打包后在win7/win10 32/64正常运行,在Windows Server 2012 R2 Datacenter云服务器 ...

  4. Ubuntu系统---安装Caffe (+OpenCV+Python+CPU-only)

    安装配置Ubuntu14.04+Caffe (+OpenCV+Python+CPU-only) 记录 [作者:Wu Ping.时间:20180428.] 本人已经安装很多次的Caffe了:从开始的初探 ...

  5. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  6. Python 基础语法(三)

    Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

  7. opencv学习笔记(三)基本数据类型

    opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...

  8. 笨办法学 Python (第三版)(转载)

    笨办法学 Python (第三版) 原文地址:http://blog.sina.com.cn/s/blog_72b8298001019xg8.html   摘自https://learn-python ...

  9. Python/MySQL(三、pymysql使用)

    Python/MySQL(三.pymysql使用) 所谓pymysql就是通过pycharm导入pymysql模块进行远程连接mysql服务端进行数据管理操作. 一.在pycharm中导入pymysq ...

  10. python学习第三次记录

    python学习第三次记录 python中常用的数据类型: 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int.数 ...

随机推荐

  1. 百度大脑UNIT3.0详解之数据生产工具DataKit

    在智能对话项目搭建的过程中,高效筛选.处理对话日志并将其转化为新的训练数据,是对话系统效果持续提升的重要环节,也是当前开发者面临的难题之一.为此百度大脑UNIT推出学习反馈闭环机制,提供数据获取.辅助 ...

  2. Navicat Keygen - 注册机是怎么工作的?

    Navicat Keygen - 注册机是怎么工作的? 1. 关键词解释. Navicat激活公钥 这是一个2048位的RSA公钥,Navicat使用这个公钥来完成相关激活信息的加密和解密. 这个公钥 ...

  3. Nacos 安装(带视频)

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并 ...

  4. mysql之行转列与列转行

    mysql之行转列与列转行是数据查询的常见操作,以更好的来展示数据,下面就详细说说怎么实现. 行转列 行转列的话,就是将一条一条的行数据记录转换为一条列数据展示,一般来说是根据某一列来做汇总数据的操作 ...

  5. ETCD:客户端v3

    原文地址:etcd/clientv3 etcd/clientv3是v3版本的Go etcd官方客户端 安装 go get go.etcd.io/etcd/clientv3 开始 创建客户端使用clie ...

  6. WebShell代码分析溯源(七)

    WebShell代码分析溯源(七) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];$arr = array($_POST['POST'],);array_map(ba ...

  7. ES6知识点脑图

    点击左键 => 拖拽图片 => 新标签页查看图片 => 放大拖拽查阅

  8. node、npm、chrome、v8、sandbox是什么?

    这些东西有些比较常用,有些仅知道个名称,但无论是熟悉还是陌生的,要比较精确地解释这些东西,是有一定的难度,可这些东西对前端开发非常重要,还是需要有明确的概念. PS:内容点到即止,不然一个东西一篇文章 ...

  9. 【Puppeteer】puppeteer安装/常用的方法以及一个小栗子(Youtube油管自动评论)

    这里介绍的是Win平台的安装方法,其他平台请至Github>Puppeteer. 首先要安装node.js 可以看我这篇的开头>[Angular]学习笔记-环境部署.项目建立相关 1.新建 ...

  10. 记,NSProxy需要实现哪些方法?

    转注出:https://www.cnblogs.com/xiaobajiu/p/10799962.html 使用NSProxy做替身,代理,多继承,本质上都是用它来转发消息给真身. 观察头文件,NSP ...