मैं एक मैट को किसी अन्य फ़ंक्शन में पास कर रहा हूं और इसे फ़ंक्शन के अंदर बदल रहा हूं। मुझे उम्मीद थी कि एक अधिक जटिल प्रकार होने के कारण यह संदर्भ द्वारा स्वचालित रूप से पारित किया गया था ताकि कॉलिंग फ़ंक्शन में मैट्रिक्स बदल गया हो, लेकिन ऐसा नहीं होता है। क्या कोई मुझे किसी फ़ंक्शन से बदले गए मैट को सही तरीके से वापस करने के तरीके के बारे में बता सकता है?ओपनसीवी एक फ़ंक्शन के अंदर मैट बदल रहा है (मैट स्कोप)
void callingFunction(Mat img)
{
Mat tst(100,500,CV_8UC3, Scalar(0,255,0));
saveImg(tst, "Original image", true);
testImg(tst);
saveImg(tst, "Want it to be same as inside testImg but is same as Original", true);
}
void testImg(Mat img)
{
int rs = 50; // rows
int cs = 100; // columns
img = Mat(rs, cs, CV_8UC3, Scalar(255,0,0));
Mat roi(img, Rect(0, 0, cs, rs/2));
roi = Scalar(0,0,255); // change a subsection to a different color
saveImg(img, "inside testImg", true);
}
धन्यवाद:
यहाँ कोड का टुकड़ा है!
तो मुझे स्पष्ट रूप से संदर्भ द्वारा पास करना होगा। धन्यवाद! – zzzz