# 実験課題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)