OpenCV學習筆記12 形態學轉換

2021-08-05 23:29:14 字數 2046 閱讀 4883

形態學操作:根據影象形狀進行的簡單操作。

原理:卷積核沿著影象滑動,如果與卷積核對應的原影象的所有畫素值都是 1,那麼中心元素就保持原來的畫素值,否則就變為零。

效果:前景物體會變小,整幅影象的白色區域會減少。

用途:去除白雜訊;斷開兩個連在一塊的物體等。

cv2.erode(src, kernel[, dst[, anchor[, iterations[, bordertype[, bordervalue]]]]]) -> dst

import numpy as np

import cv2

img = cv2.imread('2.png', 0)

kernel = np.ones((5,5), np.uint8)

erosion = cv2.erode(img, kernel, iterations=1) #腐蝕

原理:與腐蝕相反,與卷積核對應的原影象的畫素值中只要有乙個是 1,中心元素的畫素值就是 1。

效果:增加影象中的白色區域(前景)。

用途:可以用來連線兩個分開的物體。

cv2.dilate(src, kernel[, dst[, anchor[, iterations[, bordertype[, bordervalue]]]]]) -> dst

import numpy as np

import cv2

img = cv2.imread('2.png', 0)

kernel = np.ones((5,5), np.uint8)

dilate = cv2.dilate(img, kernel, iterations=1) #膨脹

開運算:先腐蝕再膨脹。被用來去除雜訊。

先膨脹再腐蝕。它經常被用來填充前景物體中的小洞,或者前景物體上的

小黑點。

其實就是一幅影象膨脹與腐蝕的差別。看上去就像前景物體的輪廓。

OpenCV學習筆記 形態學

opencv提供了通用的形態學函式cvmorphologyex,該函式能夠實現開運算,閉運算,形態梯度,禮帽操作,黑帽操作,例題如下 include stdafx.h include cv.h include highgui.h include highgui.h int main int argc...

opencv學習 形態學

void cvdilate const cvarr src,cvarr dst,iplconvkernel element null,int iterations 1 void cverode const cvarr src,cvarr dst,iplconvkernel element null,...

OPenCV學習11 形態學

在opencv sources samples下面提供了很多的官方例程,是學習opencv的最好的資源。開運算 閉運算 形態學梯度 膨脹減去腐蝕 頂帽 top hat 原影象與開操作之間的差值影象。黑帽 閉操作影象和原影象之間的差值影象。提取直線 提取步驟 輸入彩色影象 轉化為灰度影象 轉化為二值影...