我目前正在编写一个 Gstreamer1.0 插件,它会拦截一个帧,使用 tensorflow 执行一些任务,在帧上写入数据并将其重新注入。
我在 C/C++ 中执行此操作,当数据必须在 Gstreamer 和 Tensorflow 之间流动时,我目前面临一个问题。
我在 GstBuffer 对象中有一个框架,我必须从中提取数据并构造一个输入张量。格式始终相同,一个 UINT8 RGB 矩阵 [width,height,3]
/* extract raw data from gstreamer buffer */
gpointer bytes;
gst_buffer_extract_dup(outbuf, 0, size, &bytes, &copied);
使用字节指针,我现在必须构造:
Tensor input(tensorflow::DT_UINT8, tensorflow::TensorShape(cwidth, cheight, 3));
我不知道我应该怎么做。
我找不到任何关于如何使用 gpointer 和 tensorflow 的信息或示例,我只能真正找到使用文件作为源的示例,这根本不是我的情况。
任何线索或见解将不胜感激。