【问题标题】:C++ opencv How to expand Mat dims [duplicate]C ++ opencv如何扩展Mat dims [重复]
【发布时间】:2019-07-29 12:49:25
【问题描述】:

我的tensorflow 模型希望图像具有形状:[1, 1080, 1920, 3],我正在尝试重塑从视频中捕获的帧。

使用 python 和 numpy 似乎很容易做到这一点:np.expand_dims(frame, axis=0) 但我不知道如何在 c++ 上使用来自opencvMat

有什么想法吗?

【问题讨论】:

  • OpenCV 文档对 cv::Mat 有什么看法?

标签: c++ opencv tensorflow


【解决方案1】:

是的,有一个简单的函数叫做 resize :)

C++: void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, >int interpolation=INTER_LINEAR);

你的问题基本上在这里得到了回答 Resize an image type "Mat" opencv C++ ,但是 IIRC(与他在那里所说的相反),dst 可以预先创建或只是一个参考,它会自动创建它。

有关如何使用它的更详细说明,请参阅“resize”功能下的文档here

【讨论】:

  • 这不能回答问题,它也不是其他东西的重复。他们希望保持相同数量的元素,但添加一个单独的维度。即:newmat = mat; mat.size = newmat.size = [1, mat.size[0],... mat.size[n]]; newmat.step = ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-25
相关资源
最近更新 更多