में ओपनसीवी समोच्च न्यूनतम आयाम स्थान मैं बाहरी दृश्य की चलती वस्तुओं का विश्लेषण करने के लिए पृष्ठभूमि घटाव का उपयोग कर रहा हूं। जब सूर्य निकलता है तो मुझे छाया के साथ समस्या होती है। मैं वस्तुओं को अलग करने के लिए contours का उपयोग कर रहा हूँ। फिलहाल मैं समोच्च के शीर्ष आधे हिस्से का विश्लेषण करता हूं क्योंकि छाया आमतौर पर नीचे आधे हिस्से में होती है।पायथन
एक रबड़ बतख के एक समोच्च की कल्पना करो, मैं क्या करना चाहता हूं कि बतख की गर्दन की वाई स्थिति को ढूंढना, जहां समोच्च अपने न्यूनतम क्षैतिज आयाम पर है। क्या कोई मुझे "बतख की गर्दन" को खोजने के लिए सही दिशा में इंगित कर सकता है?
कोड में, binary
गतिशील वस्तुओं, HIGHT
और WIDTH
ऊंचाई और छवि की चौड़ाई की एक सीमा छवि है, lab
प्रयोगशाला रंग अंतरिक्ष में एक ही छवि है।
मैं half = int(h/2)
लाइन को "बतख गर्दन" को काटने के लिए क्षैतिज रेखा की वाई स्थिति खोजने के लिए एक फ़ंक्शन के साथ प्रतिस्थापित करना चाहता हूं।
_,contours,_ = cv2.findContours(binary.copy(), cv2.RETR_EXTERNAL,
cv2.CHAIN_APPROX_SIMPLE)
# loop over the contours
for i, cnt in enumerate(contours):
# compute the bounding box for the contour
(x, y, w, h) = cv2.boundingRect(cnt)
# reject contours outside size range
if w > 250 or w < 30 or h > 250 or h < 30 :
continue
# make sure the box is inside the frame
if x <= 0 or y <= 0 or x+w >= (WIDTH -1) or y+h >= (HIGHT -1):
continue
# isolate feature
half = int(h/2)
roi = lab[y:y+half, x:x+w]
mask = binary[y:y+half, x:x+w]
# calculate the mean of the colour
mean = cv2.mean(roi, mask = mask)
# note: mean is L a b
L = int(mean[0])
a = int(mean[1])
b = int(mean[2])
print L,a,b
मैं opencv 3 और अजगर 2,7
पी.एस. उपयोग कर रहा हूँ मैंने बैकग्राउंड सबट्रैक्टर एमओजी 2 की कोशिश की है जिसे छाया की पहचान करने के लिए कहा जाता है लेकिन यह मेरे उपयोग के लिए शोर का तरीका है और व्यवहार्य नहीं है।
अपने प्रश्न में वास्तविक और अपेक्षित परिणामों के साथ कुछ छवियां जोड़ें। टैग के नीचे संपादन लिंक पर क्लिक करें। आपके पास छवि जोड़ने के लिए पर्याप्त प्रतिष्ठा नहीं है, लेकिन आप imgur या इसी तरह के – Miki
हाय मिकी से एक सार्वजनिक लिंक पोस्ट कर सकते हैं, मैंने एक स्केच जोड़ा है जिसे स्पष्टीकरण में मदद करनी चाहिए, कृपया कुछ और पूछने के लिए स्वतंत्र महसूस करें। मैंने 3 संभावित समाधानों के बारे में सोचा है, 1) किसी भी तरह क्षणों का उपयोग करें, 2) मोड़ बिंदु खोजने के लिए समोच्च सूची के माध्यम से घुमाएं, 3) प्रोफाइल प्राप्त करने के लिए क्षैतिज पंक्तियों को पंक्तिबद्ध करें और फिर प्रोफ़ाइल के मोड़ बिंदु खोजें। पहले दो मुझे इस बारे में कोई जानकारी नहीं है कि क्षणों का उपयोग कैसे करें या समोच्च सूची का उपयोग कैसे करें और व्याख्या कैसे करें, इस बारे में कुछ मदद मिलेगी। या किसी भी अन्य सुझाव की बहुत सराहना की जाएगी। – Johno
जब आप पूछे जाने की कोशिश कर रहे हैं तो दर्द होने के लिए खेद है, लेकिन अगर संभव हो तो ड्रॉपबॉक्स/अन्य क्षणिक लिंक से बचें - हम चाहते हैं कि ये प्रश्न वर्षों से लोगों की मदद करें और यदि आप भविष्य में अपनी ड्रॉपबॉक्स फ़ाइल हटा देंगे, तो यह होगा यह सवाल कम मूल्यवान है। इसलिए यह सुनिश्चित करने के लिए imgur के साथ एक व्यवस्था है कि सभी छवियां अवधि के लिए आसपास होंगी। मैंने इस उदाहरण में आपके लिए यह किया है। आशा है कि आपको अपना जवाब मिल जाएगा! – Basic