如何使用tensorrt优化带有输入图像的openpose模型

时间:2019-03-15 01:56:39

标签: c++ opencv tensorrt openpose

我正在尝试使用tensorrt5.0来优化openpose的coco模型。我想输入图片。但是我无法获得正确的结果,我想我的输入数据有问题。

这是我的输入代码: 加载图像文件并转换为CV_32F:

Mat image = cv::imread("./image.jpg", cv::IMREAD_COLOR);
cv::resize(image, image, cv::Size(inputW, inputH));
image.convertTo(image, CV_32F, 1 / 256.f, -0.5);

然后获取FLOAT像素数据并保存:

float *data = (float *)malloc(inputC * inputH * inputW * sizeof(float));
int height = image.rows;
int width = image.cols; 
int nc = image.channels();
for (size_t nrow = 0; nrow < image.rows; nrow++)
{
    float* row_data = image.ptr<float>(nrow);
    for (size_t ncol = 0; ncol < image.cols * image.channels(); ncol++)
    {
        int index = nrow * image.cols * image.channels() + ncol;
        data[index] = row_data[ncol];
    }
}

最后,将此数据放入缓冲区并进行推断:

float* hostInputBuffer = static_cast<float*>(buffers.getHostBuffer(inputTensorName));
for (int i = 0; i < inputC * inputH * inputW; i++)
{
    hostInputBuffer[i] = data[i];
}

他们有什么问题吗?

0 个答案:

没有答案