मैं वर्तमान में जावा के लिए सी से कुछ OpenCV कोड परिवर्तित कर रहा हूँ ++। मैं JavaCV का उपयोग नहीं कर सकता, क्योंकि हमें मूल जावा में रूपांतरण की आवश्यकता है, न कि जेएनए।यूनरी माइनस ऑपरेटर सी ++ में बूलियन पर कैसे काम करता है?
dst[x] = (uchar)(-(kHit >= kForeground));
कहाँ dst
uchar*
, kHit
और kForeground
है int
रों हैं: कोड में एक बिंदु पर, मैं निम्नलिखित काम मिलता है।
मैं यह कैसे काम करता बारे में कुछ भी खोजने में असमर्थ किया गया है, और जावा एक ऑपरेशन के रूप में मान्यता नहीं दी जाएगी। कोड में किसी अन्य बिंदु पर इन दो चरों पर एक ऑपरेशन है, और यह दो मानों में से एक को स्टोर करता है: 255 या 0.
प्रश्न में कोड opencv/video/src/bgfg_gaussmix.cpp
से आता है।
यह समझ में आता है, और ऐसा कुछ है जिसे मैं आसानी से परीक्षण और खोज सकता था। संक्षेप में इसे इंगित करने के लिए धन्यवाद। – Wraith967
तकनीकी रूप से बूलियन अभिव्यक्ति या तो 'सत्य' या 'झूठी' उत्पन्न करती है, जब किसी 'int' को पदोन्नत किया जाता है तो मान '1' या' 0' प्राप्त होंगे। –