プログラミング初心者で申し訳ございません。画像中の金属の部品の溝に発生している影の輪郭を可能な限り取得しようと思っておりましたが上手く取得できません。どうすればいいでしょうか?
またソースコードと入力画像、出力画像を記載しております。
python
1import cv2 2import numpy as np 3 4img=cv2.imread('input.png') 5gray = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)[:,:,2] 6 7ret_a,thresh_a = cv2.threshold(gray,190,220,cv2.THRESH_BINARY_INV) 8 9gray=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)[:,:,1] 10ret_b,thresh_b = cv2.threshold(gray,150,200,cv2.THRESH_BINARY) 11kernel = np.ones((5,5),np.uint8) 12opening = cv2.morphologyEx(thresh_b, cv2.MORPH_OPEN, kernel) 13kernel2 = np.ones((9,9),np.uint8) 14closing = cv2.morphologyEx(opening, cv2.MORPH_CLOSE, kernel2) 15 16mask = thresh_a*closing*220 17 18contours,hierarchy = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 19contimg=cv2.drawContours(img,contours,-1,(0,255,0),3) 20 21cv2.imwrite('output.png',img) 22 23
入力画像
出力画像
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。