1. 程式人生 > >opencv-學習筆記(5)形態學轉變

opencv-學習筆記(5)形態學轉變

中心 sds TE inf 輪廓 port IE jpg import

              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)形態學轉變