opencv-学习笔记(4)形态学转变

本章讲了几种形态学操作

  1. 腐蚀erode
  2. 膨胀dilate
  3. 开运算MORPH_OPEN
  4. 闭运算MORPH_CLOSE
  5. 形态学梯度MORPH_GRADIENT
  6. 礼帽MORPH_TOPHAT
  7. 黑帽子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)形态学转变的更多相关文章

  1. OpenCV学习笔记(9)——形态学转换

    不同的形态学操作,例如腐蚀,膨胀,开运算,闭运算等 形态学操作是根据图像形状进行的简单操作.一般情况下对二值化图像进行操作.需要的参数有两个,一个是原始图像,第二个被称为结构化元素或核,它是用来决定操 ...

  2. OpenCV学习笔记3

    OpenCV学习笔记3 图像平滑(低通滤波) 使用低通滤波器可以达到图像模糊的目的.这对与去除噪音很有帮助.其实就是去除图像中的高频成分(比如:噪音,边界).所以边界也会被模糊一点.(当然,也有一些模 ...

  3. opencv学习笔记(七)SVM+HOG

    opencv学习笔记(七)SVM+HOG 一.简介 方向梯度直方图(Histogram of Oriented Gradient,HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子 ...

  4. opencv学习笔记(六)直方图比较图片相似度

    opencv学习笔记(六)直方图比较图片相似度 opencv提供了API来比较图片的相似程度,使我们很简单的就能对2个图片进行比较,这就是直方图的比较,直方图英文是histogram, 原理就是就是将 ...

  5. opencv学习笔记(五)镜像对称

    opencv学习笔记(五)镜像对称 设图像的宽度为width,长度为height.(x,y)为变换后的坐标,(x0,y0)为原图像的坐标. 水平镜像变换: 代码实现: #include <ios ...

  6. opencv学习笔记(四)投影

    opencv学习笔记(四)投影 任选了一张图片用于测试,图片如下所示: #include <cv.h> #include <highgui.h> using namespace ...

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

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

  8. opencv学习笔记(二)寻找轮廓

    opencv学习笔记(二)寻找轮廓 opencv中使用findContours函数来查找轮廓,这个函数的原型为: void findContours(InputOutputArray image, O ...

  9. opencv学习笔记(一)IplImage, CvMat, Mat 的关系

    opencv学习笔记(一)IplImage, CvMat, Mat 的关系 opencv中常见的与图像操作有关的数据容器有Mat,cvMat和IplImage,这三种类型都可以代表和显示图像,但是,M ...

  10. paper 93:OpenCV学习笔记大集锦

    整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址: ...

随机推荐

  1. jdk8新特性之双冒号 :: 用法及详解

    jdk8的新特性有很多,最亮眼的当属函数式编程的语法糖,本文主要讲解下双冒号::的用法. 概念 类名::方法名,相当于对这个方法闭包的引用,类似js中的一个function.比如: Function& ...

  2. 关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法

    转 关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法 2016年03月31日 10:14:59 阅读数:1 ...

  3. python3爬虫-网易云排行榜,网易云歌手及作品

    import requests, re, json, os, time from fake_useragent import UserAgent from lxml import etree from ...

  4. 【CodeForces 129 B】Students and Shoelaces(拓扑排序)

    Anna and Maria are in charge of the math club for junior students. When the club gathers together, t ...

  5. 840. Magic Squares In Grid (5月27日)

    开头 这是每周比赛中的第一道题,博主试了好几次坑后才勉强做对了,第二道题写的差不多结果去试时结果比赛已经已经结束了(尴尬),所以今天只记录第一道题吧 题目原文 Magic Squares In Gri ...

  6. mac appstore应用下载失败,不能更新等等问题,都可以解决

    打开终端,输入以下命令 open `getconf DARWIN_USER_CACHE_DIR`/com.apple.appstore 进入目录,删除 com.apple.appstore  重启系 ...

  7. MySQL数据库 : 基本语句

    mysql -uroot -p 登陆数据库 select now(); 显示当前时间 \q 退出 show databases; 显示数据库 create database 数据库名 charset= ...

  8. ACM 2003~2005

    ACM 2003 求实数的绝对值 import java.util.Scanner; public class Lengxc { public static void main(String[] ar ...

  9. 【篇一】Python安装与初识

    一.python3.6安装 windows: 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\python27 3.配置环境变量 [右 ...

  10. mysql的数据类型与表约束

    数据类型 (详细数据类型请参考:http://www.runoob.com/mysql/mysql-data-types.html) 数字 整型  tinyint int bigint 小数: flo ...