我想在Python上用OpenCV檢測手。
我工作的這個閾值的圖像上:
這就是輪廓drawed狀態:
我想檢測的手,但輪廓太大,它抓住了我的全身。
我需要這樣的:
OpenCV分割輪廓
我的代碼:
import cv2
orImage = cv2.imread("f.png")
image = cv2.cvtColor(orImage,cv2.COLOR_BGR2GRAY)
image = cv2.blur(image,(15,15))
(_,img_th) = cv2.threshold(image,96,255,1)
(contours,_) = cv2.findContours(img_th, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for c in contours:
if cv2.contourArea(c) > 15:
x,y,w,h = cv2.boundingRect(c)
cv2.rectangle(image,(x-20,y-20),(x+w+20,y+h+20),(0,255,0),2)
cv2.drawContours(image,contours,-1,(255,0,0),2)
cv2.imwrite("hi.jpg",image)
謝謝!
要從身體的其餘部分分離手輪廓,您需要使用閾值算法。你有實際的輸入圖像嗎? –
或者,也許你可以檢測實際圖像中的邊緣,然後將其與輪廓圖像重疊。 –
是的,我願意。 http://i.imgur.com/YOFXf9u.jpg但我想我需要像「最大面積」 –