आसान सवाल लेकिन इसे समझ नहीं सकता है।सीवी :: मास्क Opencv minMaxLoc के लिए कैसा दिखना चाहिए?
normaly अपने शून्य minMaxLoc (InputArray src, डबल * minVal, डबल * maxVal = 0, प्वाइंट * minLoc = 0, प्वाइंट * maxLoc = 0, InputArray मुखौटा = noArray()) लेकिन यह कैसे मुखौटा की तरह लग रहा है?
यह वही है जो मैं चाहता हूं: यह एक आयामी मैट (केवल एक पंक्ति) है और मैं मैट (maxRowGChnnl) के अंतराल (ऊपरी सीमा तक कम) का minMax स्थान चाहता हूं।
OpenCV Error: Assertion failed ((cn == 1 && (mask.empty() || mask.type() == CV_8
U)) || (cn >= 1 && mask.empty() && !minIdx && !maxIdx)) in unknown function, fil
e ..\..\..\src\opencv\modules\core\src\stat.cpp, line 787
आपकी मदद के लिए धन्यवाद:
maxRowGChnnl {flags=1124024325 dims=2 rows=1 ...} cv::Mat
flags 1124024325 int
dims 2 int
rows 1 int
cols 293 int
साथ कोड abborts ऊपर:
int lowerBorder,upperBorder;
lowerBorder = 30;
upperBorder = 100;
cv::minMaxLoc(maxRowGChnnl.row(0),&minValue,&maxValue,&minLoc,&maxLoc,(lowerBorder,upperBorder));
यह maxRowGChnnl आकार है।
यह वह उत्तर है जिसे मैं सोच रहा था (जिस तरह से इसे हल किया गया है)। लेकिन वास्तव में यह काम नहीं किया। MaxLoc मुद्रण करते समय मैं [-1, -1] शोध। MaxRowGChnnl मुद्रण करते समय (सीवी :: रेक्ट (निचला, 0, ऊपरी-निचला, 0)) आउटपुट [] - खाली है। लेकिन मैट maxRowGChnnl में मूल्य है! मैं क्या गलत कर रहा हूं? – user1651460
ओप्स। मेरी गलती। ऊंचाई निश्चित रूप से 1 होना चाहिए। नहीं 0. maxRowGChnnl का उपयोग करें (सीवी :: रेक्ट (निचला, 0, ऊपरी-निचला, 1)) –
बिल्कुल सही। बस! ठीक है अब मैं rect के निर्माण को देखते हैं। – user1651460