opencv-膨漲與侵蝕
opencv-膨漲與侵蝕
膨漲
左邊那張是膨漲後,右邊那張是邊緣化
第一個參數:img指需要膨漲的圖
第二個參數:kernel指膨漲操作的內核,默認是一個簡單的3X3矩陣,我們也可以利用getStructuringElement()函數指明它的形狀
第三個參數:iterations指的是腐蝕次數,省略是默認為1
第二個參數:kernel指膨漲操作的內核,默認是一個簡單的3X3矩陣,我們也可以利用getStructuringElement()函數指明它的形狀
第三個參數:iterations指的是腐蝕次數,省略是默認為1
import cv2
import numpy as np
img = cv2.imread(r"C:\Users\blair\Pictures\saveImg\lena.jpg")
canny = cv2.Canny(img, 200, 200)
dilate = cv2.dilate(canny, kernel=np.ones((3, 3), np.uint8), iterations=2)
cv2.imshow("canny", canny)
cv2.imshow("dilate", dilate)
while True:
if cv2.waitKey(1) & 0xFF == ord('q'):
break
侵蝕
cv2.erode(img,kernel,iterations)
參數和上面的膨漲一樣
import cv2
import numpy as np
img = cv2.imread(r"C:\Users\blair\Pictures\saveImg\lena.jpg")
# gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# blur = cv2.GaussianBlur(gray, (7, 7), 2)
canny = cv2.Canny(img, 200, 200)
dilate = cv2.dilate(canny, kernel=np.ones((3, 3), np.uint8), iterations=2)
erode = cv2.erode(dilate, kernel=np.ones((3, 3), np.uint8), iterations=2)
cv2.imshow("canny", canny)
# cv2.imshow("blur", blur)
# cv2.imshow("gray", gray)
cv2.imshow("dilate", dilate)
cv2.imshow("eroded", erode)
while True:
if cv2.waitKey(1) & 0xFF == ord('q'):
break


留言
張貼留言