How do I pass an OpenCV Mat into a C++ Tensorflow graph?

前端 未结 4 1863
天涯浪人
天涯浪人 2020-12-14 10:08

In Tensorflow C++ I can load an image file into the graph using

tensorflow::Node* file_reader =  tensorflow::ops::ReadFile(tensorflow::ops::Const(IMAGE_FILE_         


        
4条回答
  •  误落风尘
    2020-12-14 10:09

    Tensor convertMatToTensor(Mat &input)
    {
        int height = input.rows;
        int width = input.cols;
        int depth = input.channels();
    
        Tensor imgTensor(tensorflow::DT_FLOAT, tensorflow::TensorShape({height, width, depth}));
    
        float* p = imgTensor.flat().data();
        Mat outputImg(height, width, CV_32FC3, p);
        input.convertTo(outputImg, CV_32FC3);
    
        return imgTensor;
    }
    

提交回复
热议问题