OpenCV 形態學處理

2021-10-03 04:49:34 字數 2692 閱讀 4295

形態學主要處理二值影象(0黑1白)。

kernel = np.ones((5

,5),np.uint8)

#numpy庫生成1陣列,資料型別為整形

img2 = cv2.erode(img,kernel,iterations)

#迭代次數,預設為1

膨脹又叫逆腐蝕。

先腐蝕後膨脹,可用於降噪。

我們把先腐蝕後膨脹的操作合併為開運算。

kernel = np.ones((5

,5),np.uint8)

opening = cv2.morphologyex(img,cv2.morph_open,kernel)

#opening,開運算結果 cv2.morph_open 開運算關鍵字

我們把先膨脹後腐蝕稱為閉運算。

kernel = np.ones((5

,5),np.uint8)

closing = cv2.morpghologyex(img,cv2.morph_close,kernel)

#閉運算結果及關鍵字

膨脹影象 - 腐蝕影象 = 梯度影象

kernel = np.ones((5

,5),np.uint8)

result = cv2.morphologyex(img,cv2morph_gradient,kernel)

原始影象 - 開運算影象 = 雜訊影象

kernel = np.ones((5

,5),np.uint8)

result = cv2.morphologyex(img,cv2.morph_tophat,kernel)

閉運算影象 - 原始影象 = 黑帽影象

kernel = np.ones((5

,5),np.uint8)

result = cv2.morphologyex(img,cv2.morph_blackhat,kernel)

1

import cv2

2import numpy as np

3import matplotlib.pyplot as plt

45 cap = cv2.videocapture(0)

67while

true

:8 _,frame = cap.read(

)9 hsv = cv2.cvtcolor(frame,cv2.color_bgr2hsv)

#顏色格式轉換

1011 lower_red = np.array(

[100

,100,0

])12 upper_red = np.array(

[255

,255

,255])

1314 mask = cv2.inrange(hsv,lower_red,upper_red)

15 res = cv2.bitwise_and(frame,frame,mask = mask)

16#原始影象與遮罩影象進行與運算

1718 kernel = np.ones((5

,5),np.uint8)

19 erosion = cv2.erode(mask,kernel,iterations =1)

20 dilation = cv2.dilate(mask,kernel,iterations =1)

2122 opening = cv2.morphologyex(mask,cv2.morph_open,kernel)

23 closing = cv2.morphologyex(mask,cv2.morph_close,kernel)

2425 cv2.imshow(

'mask'

,mask)

26 cv2.imshow(

'opening'

,opening)

27 cv2.imshow(

'closing'

,closing)

2829 k = cv2.waitkey(5)

&0xff

30if k ==27:

31break

3233 cv2.destroyallwindows(

)34 cap.release(

)

opencv 形態學處理

影象形態學中的幾個基本操作 腐蝕 膨脹 開操作 閉操作。1.1 腐蝕 結構a被結構b腐蝕的定義為,a b a b 可以理解為,移動結構b,如果結構b與結構a的交集完全屬於結構a的區域內,則儲存該位置點,所有滿足條件的點構成結構a被結構b腐蝕的結果。1.2 膨脹 結構a被結構b膨脹的定義為,a b a...

OpenCV高階 形態學處理

目標 opencv函式 腐蝕erode 膨脹dilate 簡而言之 一組基於形狀處理影象的操作。形態學操作將結構元素應用於輸入影象並生成輸出影象。最基本的形態學操作是 侵蝕和膨脹。它們有廣泛的用途,即 1.消除噪音 2.隔離單個元素並連線影象中的不同元素。3.查詢影象中的強度凸起或孔 我們將使用以下...

形態學處理

腐蝕,膨脹 效果就是暗的地方侵入亮的地方 使用 給乙個結構元 二維陣列 結構元中有乙個錨點,計算過程就是如果結構元對應的區域有暗的,那錨點就變為暗的 記作 import cv2 as cv import numpy as np s cv.getstructuringelement cv.morph ...