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

خواندن تصویر با نام فایل یونی کد با OpenCV

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

من نام فایلم به صورت یونی کد و داخل wstring ریختمش هرکاری می کنم imread تصویر را نمی تونه بخونه چرا imread نام فایلش را std::string گرفته؟
سوال شده شهریور 23, 1394  بوسیله ی مریم اکرمی (امتیاز 482)   25 55 66

2 پاسخ

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

باید خودتون فایل را دستی  را باز کنید و بعد دیکو کنید.

cv::Mat imreadW(std::wstring input_image_path) {
    cv::Mat image;
    std::ifstream input_image_stream;
    input_image_stream.open(
        input_image_path.c_str(),
        std::iostream::binary | std::ios_base::ate | std::ios_base::in);
    if (input_image_stream.is_open()) {
        if (input_image_stream.good()) {
            std::size_t file_size = input_image_stream.tellg();
            input_image_stream.seekg(0, std::ios::beg);
            std::vector<char> buffer(0);
            std::copy(
                std::istream_iterator<char>(input_image_stream),
                std::istream_iterator<char>(),
                std::back_inserter(buffer));
            image = cv::imdecode(cv::Mat(1, file_size, CV_8UC1, &buffer[0]), cv::IMREAD_COLOR);
        } else {
            tcout << "Input file '" << input_image_path << "' processing error" << std::endl;
        }
        input_image_stream.close();
    } else {
        tcout << "Unable to read input file '" << input_image_path << "'" << std::endl;
    }
    return image;
}

 

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