OpenCV中的腐蝕和膨脹操作

2021-10-10 12:50:25 字數 1368 閱讀 8016

#形態學轉換

#侵蝕、膨脹、開運算、閉運算等

import cv2

import numpy as np

『』』#侵蝕:侵蝕前景物體的邊界(盡量使前景保持白色)

#核心滑動通過影象(在2d卷積中),原始影象中的乙個畫素只有當核心下的所有畫素都是1時才被認為是1,否則其被侵蝕為0

#有助於去除小的白色雜訊,分離兩個連線的物件

img = cv2.imread(『c:\users\administrator\desktop\qq.png』)

img = cv2.cvtcolor(img,cv2.color_bgr2gray)

img = 255-img #將前景改為白色

ret,threshold = cv2.threshold(img,120,255,cv2.thresh_binary)

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

erosion = cv2.erode(threshold,kernel,iterations=1)

cv2.imshow(『qq1』,threshold) #原圖

cv2.imshow(『qq2』,erosion) #侵蝕之後的圖

cv2.waitkey(0)

『』』#膨脹:增加影象中的白色區域或者增加前景物件的大小

#原始影象中的乙個畫素,當核心下至少有乙個畫素為1,則原始影象中的該畫素設為1

img = cv2.imread(『c:\users\administrator\desktop\qq.png』)

img = cv2.cvtcolor(img,cv2.color_bgr2gray)

img = 255-img #將前景改為白色

ret,threshold = cv2.threshold(img,120,255,cv2.thresh_binary)

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

dilation = cv2.dilate(threshold,kernel,iterations=1)

cv2.imshow(『qq1』,threshold) #原圖

cv2.imshow(『qq2』,dilation) #膨脹之後的圖

cv2.waitkey(0)

#開運算:先侵蝕,再膨脹

#通常,在消除雜訊的情況下,腐蝕之後會膨脹。因為腐蝕會消除雜訊,但是也會縮小物體。

#因此,對其進行膨脹。由於雜訊消失了,它們不會回來,在連線物件的損壞部分時也很有用。

#閉運算:先膨脹,再侵蝕

#在關閉前景物件內部的小孔或者前景物件上的小黑點時很有用

opencv濾波 腐蝕 膨脹操作

1 均值濾波 簡單的平均卷積操作 blur cv2.blur img,3,3 3,3 為卷積核大小 2 方框濾波 基本和均值濾波一樣,可以選擇歸一化 box cv2.boxfilter img,1,3,3 normolize true normolize true表示卷積操作後除以9,也就是歸一化 ...

Opencv 膨脹與腐蝕

簡而言之 一組基於形狀處理影象的操作。形態操作將結構元素應用於輸入影象並生成輸出影象。最基本的形態作用是 侵蝕和擴張。它們有廣泛的用途,即 消除噪音 隔離單個元素並連線影象中的不同元素。查詢影象中的強度凸點或孔 我們將簡要解釋膨脹和侵蝕,使用以下影象作為示例 該操作包括將影象與某些核心 b 進行卷積...

OpenCV 膨脹與腐蝕

include include include using namespace cv using namespace std int element size 3 int max size 21 mat src,dst void callback demo int,void int main int...