Я пытался реализовать трекер (CSRT) в OpenCV с C ++, но я получил ошибку при выполнении части
tracker->init(firstframe, boundingbox)
.
Вот сообщение об ошибке ниже,
.... / opencv / modules / core / src / merge.dispatch. cpp: 129: ошибка: (-215 : Утверждение не выполнено) mv [i] .size == mv [0] .size && mv [i] .depth () == глубина в функции 'объединить'
и вот мой код. Кстати, я работаю над Jetson Nano, и мне пришлось сделать какое-то преобразование типов из float * в cv :: Mat.
cv::Mat first_frame;
float* first_imgRGBA = NULL;
camera->CaptureRGBA(&first_imgRGBA, 1000, 1);
first_frame = cv::Mat(camera->GetHeight(), camera->GetWidth(), CV_32FC4, first_imgRGBA);
first_frame /= 255;
cv::cvtColor(first_frame, first_frame, cv::COLOR_RGBA2BGR);
Rect2d bbox(287, 23, 86, 320);
rectangle(first_frame, bbox, Scalar( 255, 0, 0 ), 2, 1 );
imshow("Tracking", first_frame);
tracker->init(first_frame, bbox);
Спасибо.