0
Я пытаюсь скопировать данные объекта OpenCV мата (его типа Uchar *) в неподписанный символ *, используя функцию копирования C++ следующим образом:Попытка копирования данных резюме :: Mat в Uchar *
cv::Mat m = cv::imread (path, 0);
uchar * ptr;
std::copy (m.data, ptr, mask.size);
Однако im получает 26 синтаксических ошибок относительно функции копирования. ты можешь помочь мне с этим? Помощь приветствуется. Спасибо.
Вы пытаетесь скопировать данные всего мата в один указатель? И, как вы думаете, 'mask.size' даст вам? вы проверили? – Derman
Вы перепутали много вещей здесь. 1) неинициализированный указатель 2) Неверные аргументы в 'std :: copy'. Вы хотели использовать вместо этого 'memcpy'? 3) Что такое 'маска'? Если вы собираетесь работать с не непрерывными изображениями, вам действительно нужно по-другому. Итак, что вы пытаетесь сделать? И зачем вам «учитель»? И зачем вам нужно копировать данные в 'uchar'? – Miki
Маска Derman и Miki должна была быть «m». Вместо этого выделена память m.total(). m.size возвращает объект размера с шириной и высотой. Таким образом, вы были правы, когда вы зашли на использование копии. Вместо этого я использовал memcpy, так что теперь все в порядке. Спасибо! – dramaticlook