چطور تصویر اعشاری را با OpenCV ذخیره کنیم؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

چطور تصویر اعشاری را با OpenCV ذخیره کنیم؟

+1 امتیاز
سلام.

تابع imwrite فقط تصاویر 8 بیت را ذخیره میکنه من تصویر اعشاری را ذخیره کردم و سپس لود کردم مقادیرش شده 3 کاناله 8 بیت آیا راهی وجود داره که از طریق آن بتونم تصاویر اعشاری را ذخیره و لود کنم؟
سوال شده فروردین 26, 1394  بوسیله ی مریم اکرمی (امتیاز 482)   25 55 66

1 پاسخ

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

بله حق با شماست چون در واقع تصاویر را در فرمت های مشخص ذخیره می کنه و تصاویر مختلف هم قالب مشخص دارن پس نتیجه می گیریم که در فرمت های تصویر نمی تونیم همچین کاری را انجام بدیم.

پیشنهاد من این هستش که شما تصاویر اعشاری خودتون را در FileStorage ذخیره و بازیابی کنید به صورت زیر.

//write float image
cv::FileStorage fs(file_name, FileStorage::WRITE);
fs << "img1" << img1;
fs << "img2" << img2;
fs.release();

//read float image
Mat float_mat1,float_mat2;
cv::FileStorage fs(file_name, FileStorage::READ);
fs["img1"] >> float_mat1;
ss["img2"] >> float_mat2;
fs.release();

 

پاسخ داده شده فروردین 27, 1394 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد خرداد 22, 1399 بوسیله ی عباس مولایی
...