You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

28 lines
902 B

# 実験課題7
# 3.7 膨張・収縮
import cv2
import numpy as np
image_path = 'person.jpg'
img = cv2.imread(image_path)
if img is not None:
hsv_img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower_skin = np.array([0, 20, 70])
upper_skin = np.array([20, 255, 255])
# 2値画像(白黒画像)を作成
mask_img = cv2.inRange(hsv_img, lower_skin, upper_skin)
kernel = np.ones((5, 5), np.uint8)
# オープニング処理 (収縮 -> 膨張) [Erode to Dilate]
eroded_first = cv2.erode(mask_img, kernel, iterations=3)
seq_opening = cv2.dilate(eroded_first, kernel, iterations=3)
cv2.imwrite('3_7_e2d.jpg', seq_opening)
# クロージング処理 (膨張 -> 収縮) [Dilate to Erode]
dilated_first = cv2.dilate(mask_img, kernel, iterations=3)
seq_closing = cv2.erode(dilated_first, kernel, iterations=3)
cv2.imwrite('3_7_d2e.jpg', seq_closing)