使用OpenCV操作CUDA送检图像到TensorRT(SSD模型)

本地环境:

 Core i7 7700HQ, GTX 1060 6G.

开发环境(安装顺序):

            1) Nvidia Driver 384;

            2) Cuda 9;

            3) Cudnn7 for cuda 9;

            4) OpenCV 3.4.1;

            5) TensorRT 3.4.2;

1.调用CUDA内存, 矩阵声明初始化:

Cuda::GpuMat imageGpu(cv::Size(640,480),CV_32FC4);

 

 

 

2. 读取摄像头图像<进行颜色空间转换并送检:

Capture>> frame;

cvtColor(frame,imageRGBA,CV_RGB2BGRA);

imageRGBA.convertTo(imageRGBA, CV_32FC4,4);

 

 

 

3. 上传图像数据到GPU:

...
imageGpu.upload(imageRGBA);
...
// Here is the memory data allocated when getting the GPU corresponding to the above upload
// That is, imageNetMean's first parameter parameter
(float4*)imageGpu.ptr()
...

 

 

 

4. 图像预测:

注意数据类型RGBA (float4).

...
cudaError_t cudaPreImageNetMean(float4* input, size_t inputWidth,

                            Size_t inputHeight,float* output,size_t outputWidth, size_t outputHeight, 

                             Const float3& mean_value );

 

 

 

5. 手机播放龙门架视频,对准电脑摄像头. : (forgive me for shaking hands, actually still caught 4)

使用OpenCV操作CUDA送检图像到TensorRT(SSD模型)_第1张图片

完整代码:https://github.com/wkexinw/tensorSSD

 

00:02:58 AM  04.02.2018 0

 

你可能感兴趣的:(C/C++/VC,Machine,learning,Algorithm,model,AI,Opencv,Nvidia,CUDA,TensorRT,opencv,cuda,tensorrt,ssd模型,汽车检测)