Ошибка OpenCV CUDA: (-215: Утверждение не удалось) Размеры ROI Недопустители при обнаружении и вычислении клавиш и дескрC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка OpenCV CUDA: (-215: Утверждение не удалось) Размеры ROI Недопустители при обнаружении и вычислении клавиш и дескр

Сообщение Anonymous »

Вот код, который я имею в настоящее время (упрощен): < /p>
cv::cuda::GpuMat croppedGpuImage(frame_meta_cv_Gpumat, cv::Rect(x, y, w, h));

// Convert to grayscale on GPU
cv::cuda::GpuMat grayGpu;
cv::cuda::cvtColor(croppedGpuImage, grayGpu, cv::COLOR_BGR2GRAY);

// ORB feature extraction on GPU
static cv::Ptr orb_gpu = cv::cuda::ORB::create(500);
cv::cuda::GpuMat keypoints_gpu, descriptors_gpu;
// Problem line
orb_gpu->detectAndComputeAsync(grayGpu, cv::cuda::GpuMat(), keypoints_gpu, descriptors_gpu);

if (!descriptors_gpu.empty())
{
static cv::Ptr matcher_gpu = cv::cuda::DescriptorMatcher::createBFMatcher(cv::NORM_HAMMING);

for (const auto& tpl : template_descriptors)
{
const cv::Mat& des_template_cpu = tpl.second.second;
if (des_template_cpu.empty()) continue;

cv::cuda::GpuMat des_template_gpu;
des_template_gpu.upload(des_template_cpu); // trying to upload CPU descriptor to GPU

std::vector knn_matches;
matcher_gpu->knnMatch(des_template_gpu, descriptors_gpu, knn_matches, 2);

// Filter good matches (Lowe’s ratio)
std::vector good_matches;
for (const auto& m : knn_matches)
{
if (m.size() >= 2 && m[0].distance < 0.75f * m[1].distance)
good_matches.push_back(m[0]);
}

if (good_matches.size() > 10)
{
ret = 1;
}
}
}
< /code>
Я получаю ошибку времени компиляции, например: < /p>
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(4.9.0-dev) /tmp/opencv/modules/core/src/cuda_gpu_mat.cpp:152: error: (-215:Assertion failed) 0

Подробнее здесь: https://stackoverflow.com/questions/796 ... -detecting
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»