opencv-python 图像基础处理(三)
腐蚀操作
#腐蚀操作
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 图像基础处理(三)的更多相关文章
- OpenCV Python教程(3、直方图的计算与显示)
转载请详细注明原作者及出处,谢谢! 本篇文章介绍如何用OpenCV Python来计算直方图,并简略介绍用NumPy和Matplotlib计算和绘制直方图 直方图的背景知识.用途什么的就直接略过去了. ...
- 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) ...
- 解决Windows Server 2012 R2 Datacenter云服务器无法运行opencv python程序的问题
写了个基于opencv的python程序,pyinstaller 32位机打包后在win7/win10 32/64正常运行,在Windows Server 2012 R2 Datacenter云服务器 ...
- Ubuntu系统---安装Caffe (+OpenCV+Python+CPU-only)
安装配置Ubuntu14.04+Caffe (+OpenCV+Python+CPU-only) 记录 [作者:Wu Ping.时间:20180428.] 本人已经安装很多次的Caffe了:从开始的初探 ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- opencv学习笔记(三)基本数据类型
opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...
- 笨办法学 Python (第三版)(转载)
笨办法学 Python (第三版) 原文地址:http://blog.sina.com.cn/s/blog_72b8298001019xg8.html 摘自https://learn-python ...
- Python/MySQL(三、pymysql使用)
Python/MySQL(三.pymysql使用) 所谓pymysql就是通过pycharm导入pymysql模块进行远程连接mysql服务端进行数据管理操作. 一.在pycharm中导入pymysq ...
- python学习第三次记录
python学习第三次记录 python中常用的数据类型: 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int.数 ...
随机推荐
- Supermap/Cesium 开发心得----本地视频接入播放
在三维中,为了增加现实感.给人一种带入感,我们会采取接入视频的方式来实现,那么如何接入视频呢? 由于没有截至写文章为止,我没有视频流数据,所以只能采取本地视频文件的方式来做. 本文介绍结束视频的其中一 ...
- ABAP分享六 alv显示的几种方式的简单示例
方法1,也是大家常见的方法通过函数 REUSE_ALV_GRID_DISPLAY TYPES: BEGIN OF ty_spfli, "定义结构 carrid like s ...
- 4.Android-adt安卓打包过程、adb指令学习
本章学习adt安卓打包过程.adb指令学习.并通过adb将打包的APK发给设备 1.打包 在eclipse中已经帮我们实现打包了. 具体打包流程如下: 最终一个APK包含了如下: classes.de ...
- docker 使用mysqldump命令备份导出项目中的mysql数据
下图为镜像重命名后的镜像名为uoj,现在要把这个镜像中的mysql导出 运行如下命令: docker exec -it uoj mysqldump -uroot -proot app_uoj233 & ...
- 2018 经典的CVPR 关于ImageCaptioning论文
1. SemStyle: Learning to Generate Stylised Image Captions using Unaligned Text(2018 CVPR) 主要研 ...
- C++之结构体特点
C++的结构体和C语言的结构体有什么不同 C++的结构体其实就是类的一种,只不过类成员默认访问权限是private,结构体默认访问权限是public. C语言的结构体是不能有函数的,而C++可以有. ...
- Linux Zookeeper 安装, 带视频
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 面试必备+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 疯狂创客圈 高并发 ...
- Java 9 ← 2017,2019 → Java 13,来看看Java两年来的变化
距离 2019 年结束,只剩下 33 天了.你做好准备迎接 2020 年了吗? 一到年底,人就特别容易陷入回忆和比较之中,比如说这几天的对比挑战就火了! 这个话题登上了微博的热搜榜,也刷爆了朋友圈, ...
- IT兄弟连 HTML5教程 CSS3属性特效 渐变2 线性渐变实例
3 线性渐变实例 一.颜色从顶部向底部渐变 制作从顶部到底部直线渐变有三种方法,第一种是起点参数不设置,因为起点参数的默认值为“top”:第二种方法起点参数设置为“top”:第三种起点参数使用“-90 ...
- asp.net MVC 在Controller控制器中实现验证码输出
asp.net mvc项目使用到验证码,为了让以前的WebForm代码能利用上代码经过稍微的改动即可使用代码如下: using System; using System.Collections.Gen ...