形態學主要處理二值影象(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 ...