Я новичок в opencv с cuda.
Я использую opencv2.4.6 и CUDA4.2.
Я успешно скомпилировал OpenCV с CUDA.
когда я использую код:
int cuda_count;
cudaError_t error = cudaGetDeviceCount( &cuda_count );
это возвращается cudaSuccess
а также cuda_count=1
Но когда я использую код:
int num_devices = cv::gpu::getCudaEnabledDeviceCount();
num_devices returns 0
Зачем?
мой полный код:
int main()
{
int num_devices = cv::gpu::getCudaEnabledDeviceCount();
int cuda_count;
cudaError_t error = cudaGetDeviceCount( &cuda_count );
if(num_devices <=0 )
{
std::cerr << "no" << std::endl;
return -1;
}
int enable_devivce_id = -1;
}
вы должны были скомпилировать OpenCV без поддержки CUDA
gpu :: getCudaEnabledDeviceCount Возвращает количество установленных
Устройства с поддержкой CUDA.C ++: int gpu :: getCudaEnabledDeviceCount ()
Используйте эту функцию перед любым
вызовы других функций графического процессора. Если OpenCV скомпилирован без поддержки GPU,
эта функция возвращает 0.
Других решений пока нет …