Исключение в C ++ / CLI: «Параметр недействителен» при создании растрового изображения - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь отобразить объект cv::Mat (opencv) в Winform PictureBox:

void Show(cv::Mat& picture, PictureBox^ box) {
    cv::Mat pic;
    cv::resize(picture, pic, cv::Size(250, 250)); //picturebox size = 250, 250
    box->Image = gcnew System::Drawing::Bitmap(
        pic.cols, pic.rows, pic.step,
        System::Drawing::Imaging::PixelFormat::Format24bppRgb,
        (System::IntPtr)pic.data
    );
    box->Refresh();
}

Конструктор Bitmap выдает исключение: «Параметр недействителен».Я обнаружил похожую проблему из: C # «Параметр недействителен».создание нового растрового изображения Отвечено, что Bitmap занимает слишком много места.Однако у меня Bitmap только 250x250 или ~ 180 КБ памяти.Я не думаю, что 180 КБ это слишком много.

Я попытался уменьшить размер изображения до 200x200, и это работает.Но это слишком мало для моей необходимости.И это доказывает, что проблема должна быть в размере картинки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...