Вот код, который я имею в настоящее время (упрощен): < /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
Ошибка OpenCV CUDA: (-215: Утверждение не удалось) Размеры ROI Недопустители при обнаружении и вычислении клавиш и дескр ⇐ C++
Программы на C++. Форум разработчиков
1746191198
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79603274/opencv-cuda-error-215assertion-failed-roi-dimensions-invalid-when-detecting[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия