opencv-学习笔记(5)形态学转变
opencv-学习笔记(4)形态学转变
本章讲了几种形态学操作
- 腐蚀erode
 - 膨胀dilate
 - 开运算MORPH_OPEN
 - 闭运算MORPH_CLOSE
 - 形态学梯度MORPH_GRADIENT
 - 礼帽MORPH_TOPHAT
 - 黑帽子MORPH_BLACKHAT
 
腐蚀erode
首先卷积核滑动,如果对应的原图像所有像素都是1,中心元素就保持,否则为0
随着卷积核的靠近前景的所有像素都会被腐蚀-变0.
我们可以去除白噪声,也可以断开两个连在一起的物体
import cv2
import numpy as np
img=cv2.imread('black.png',0)
kernel=np.ones((5,5),np.uint8)#定义一个卷积核以及图像类型
erosion=cv2.erode(img,kernel,iterations=1)
cv2.imshow('sdss',img)
cv2.imshow('sds',erosion)
cv2.waitKey(0)

膨胀操作dilate
可以连接物体
import cv2
import numpy as np
img=cv2.imread('connection.jpg',0)
kernel=np.ones((7,7),np.uint8)
erosion=cv2.erode(img,kernel,iterations=1)
dilate=cv2.dilate(img,kernel,iterations=1)
cv2.imshow('sdss',img)
cv2.imshow('sdsa',dilate)
cv2.waitKey(0)

开运算morphologyEx(图像对象,cv2.MORPH_OPEN,kernel)#morph改变
对图像进行腐蚀再膨胀就叫开运算
同样也用于去噪声

闭运算morphologyEx(img,cv2.MORPH,kernel)
就是先膨胀再腐蚀
一般用来填充前景物体中的小洞

形态学梯度
就是衣服图像膨胀和腐蚀的差别
看上去想轮廓而已
morphologyEx(img,cv2.MORPH_GRADIENT,kernel)

礼帽
是图像与开运算后的差,可以获取背景噪声
参数cv2.MORPH_TOPHAT

黑帽
是图像与闭运算后的差,获取前景噪声
参数cv2.MORPH_BLACKHAT

opencv-学习笔记(5)形态学转变的更多相关文章
- OpenCV学习笔记(9)——形态学转换
		
不同的形态学操作,例如腐蚀,膨胀,开运算,闭运算等 形态学操作是根据图像形状进行的简单操作.一般情况下对二值化图像进行操作.需要的参数有两个,一个是原始图像,第二个被称为结构化元素或核,它是用来决定操 ...
 - OpenCV学习笔记3
		
OpenCV学习笔记3 图像平滑(低通滤波) 使用低通滤波器可以达到图像模糊的目的.这对与去除噪音很有帮助.其实就是去除图像中的高频成分(比如:噪音,边界).所以边界也会被模糊一点.(当然,也有一些模 ...
 - opencv学习笔记(七)SVM+HOG
		
opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...
 - opencv学习笔记(六)直方图比较图片相似度
		
opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...
 - opencv学习笔记(五)镜像对称
		
opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <ios ...
 - opencv学习笔记(四)投影
		
opencv学习笔记(四)投影 任选了一张图片用于测试,图片如下所示: #include <cv.h> #include <highgui.h> using namespace ...
 - opencv学习笔记(三)基本数据类型
		
opencv学习笔记(三)基本数据类型 类:DataType 将C++数据类型转换为对应的opencv数据类型 OpenCV原始数据类型的特征模版.OpenCV的原始数据类型包括unsigned ch ...
 - opencv学习笔记(二)寻找轮廓
		
opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...
 - opencv学习笔记(一)IplImage, CvMat, Mat 的关系
		
opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...
 - paper  93:OpenCV学习笔记大集锦
		
整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...
 
随机推荐
- ObjC之RunTime(下)
			
之前通过学习官方文档对runtime有了初步的认识,接下来就要研究学习runtime到底能用在哪些地方,能如何改进我们的程序. 本文也可以从icocoa浏览. Swizzling Swizzling可 ...
 - E. K Balanced Teams
			
类比背包问题,为每个学生附加一个权重$pos[i]$,意思是选择该学生后,之后可以选择$p[i]~p[i]+5$的学生. 转换公式: $$d[i][j]=max(d[i+1][q],d[i+pos][ ...
 - 关于secureCRT的安装
			
原文地址:https://www.cnblogs.com/yjd_hycf_space/p/7729796.html 安装该楼主的方式基本可以破解: 踩坑事项:1)可以选择自定义安装:然后将注册机复制 ...
 - mysql如何配置sql记录
			
原文链接:http://www.qqdeveloper.com/detail/11/1.html 为什么要记录sql记录 主要目的是为了检测我们的网站安全问题,有效的避免一些sql注入或者是xss攻击 ...
 - python打印九九乘法表
			
每种编程语言都可能会遇到编写“九九乘法表”的问题,用Python来处理也是很简单的,具体代码如下(基于Python3)): i = 1 while i <= 9: j = 1 while j & ...
 - UEditor代码实现高亮显示
			
在公司开发一个论坛系统,由于用的是UEditor(百度编辑器),单独使用的话,里面的代码不会高亮,网上找了很多,最后决定使用 highlight.js 实现代码高亮显示.效果如下: 这个是我修改其他的 ...
 - Email Helper
			
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Microsoft.Xrm.Sdk.Que ...
 - 关于org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z报错
			
之前一直出现这个错误,使用的开发工具是IDEA 我感觉似乎是hadoop与windows的操作系统不太适合 于是在project创建 org.apache.hadoop.io.nativeio包,将N ...
 - python应用:爬虫框架Scrapy系统学习第三篇——初识scrapy
			
scrapy的最通用的爬虫流程:UR2IM U:URL R2:Request 以及 Response I:Item M:More URL 在scrapy shell中打开服务器一个网页 cmd中执行: ...
 - 『Python基础-10』字典
			
# 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...