У меня есть небольшой фрагмент кода, который пытается преобразовать Mat в GpuMat и наоборот. Когда я пытаюсь загрузить Mat в GpuMat с функцией «загрузить», он прерывается. Если я сделаю следующий шаг в отладке, размер GpuMat будет написан, как и Mat, но он не загрузит данные пикселя. Вот код:CUDA и OpenCV. Конверсионная форма Mat to GpuMat не работает
Mat initFrame;
Mat initconv;
Mat threshold;
imageCircle.copyTo(initFrame);
cvtColor(initFrame,initconv,CV_BGR2HSV);
gpu::GpuMat myFrame;
gpu::GpuMat myFrameLab;
myFrame.upload(initconv);
myFrame.download(threshold);
//gpu::cvtColor(myFrame,myFrameLab,CV_BGR2YCrCb);
imshow("INPUT",threshold);
UPDATE
Я читал, что мне нужно будет OpenCV построен с поддержкой GPU. Здесь я не знаю, что делать. Я где-то видел, что в каталогах OpenCV существует /gpu/built/..
. У меня есть 2.4.9 и 3.1 версии, но я не нашел в каталоге OpenCV /gpu/build/...
Пожалуйста, определить, что вы подразумеваете под «он ломает». Как «это ломается»? –
cv :: Исключение в ячейке памяти 0x001eaac4. У меня нарушение доступа к памяти. Я подтвердил, что у меня есть opencv, построенный с поддержкой GPU, и, к сожалению, он прав. Мне нужно получить opencv, построенный с поддержкой GPU или что? Здесь я не понимаю. – Eddie
Пожалуйста, отредактируйте свой вопрос с этой информацией, а не разместите его в комментариях. –