جمع دو Mat با انواع متفاوت - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

جمع دو Mat با انواع متفاوت

0 امتیاز

سلام.

می خواستم 2 تا Mat با 2 نوع متفاوت را با هم جمع کنم ولی error میده چطور باید اینکارو انجام بدم؟

const Mat A( 100, 200, CV_32FC1, Scalar::all(50) );
const Mat B( A.size(), CV_8UC1, Scalar::all(100) );
Mat C( A.size(), A.type() );
C = A + B;

خطایی که میده.







OpenCV Error: Bad argument (When the input arrays in add/subtract/multiply/divide
functions have different types, the output array type must be explicitly specified)
سوال شده آذر 12, 1392  بوسیله ی farnoosh (امتیاز 8,362)   20 44 59
دوباره تگ گذاری شد بهمن 22, 1392 بوسیله ی BlueBlade

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

نوع داده ای هر 2 نوع Mat باید یکسان باشه در غیر اینصورت بهتر ماتریسی را که دارای نوع داده ای کوچکتر هستش رو به ماتریس با نوع داده ای بزرگتر تبدیل می کنیم.

const Mat A( 100, 200, CV_32FC1, Scalar::all(50) );
const Mat B( A.size(), CV_8UC1, Scalar::all(100) );
const Mat D(A.size(),A.type());
B.convertTo(D,CV_32FC1);
Mat C( A.size(), A.type() );
C = A + D;

 

 

پاسخ داده شده آذر 12, 1392 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد آذر 12, 1392 بوسیله ی farnoosh
...