膨脹處理與縮小處理
膨脹處理是指把一個pixel如果是1他的四面八方也會因為膨脹而變成1
縮小處理則是把1的周圍變成0
主要用3×3的行列式來定義例如
[[1, 1, 1]
[1, 1, 1]
[1, 1, 1]]
的行列式的話就是四面八方都會改變
但是
[[0, 1, 0]
[1, 1, 1]
[0, 1, 0]]的行列式的話就只有上下左右會改變
原圖
經過膨脹處理 (5次)
import numpy as np
import cv2
try:
img = cv2.imread('kemofure.jpg')
if img is None:
print('Fail')
import sys
sys.exit()
kernal = np.ones((3, 3), np.uint8)
dst = cv2.dilate(img, kernal, iterations = 5)
cv2.imwrite('dilate.jpg', dst)
cv2.waitKey(10)
cv2.destroyAllWindows()
cv2.waitKey(1)
except:
import sys
print("Error: ", sys.exc_info()[0])
print(sys.exc_info()[1])
import traceback
print(traceback.format_tb(sys.exc_info()[2]))
經過縮小處理
import numpy as np
import cv2
try:
img = cv2.imread('kemofure.jpg')
if img is None:
print('Fail')
import sys
sys.exit()
kernal = np.ones((3, 3), np.uint8)
dst = cv2.erode(img, kernal, iterations = 5)
cv2.imwrite('dilate.jpg', dst)
cv2.waitKey(10)
cv2.destroyAllWindows()
cv2.waitKey(1)
except:
import sys
print("Error: ", sys.exc_info()[0])
print(sys.exc_info()[1])
import traceback
print(traceback.format_tb(sys.exc_info()[2]))
文章標籤
全站熱搜
