c++ - C ++ opencv如何扩展Mat dims
问题描述
我的tensorflow
模型希望图像具有形状:[1, 1080, 1920, 3]
我正在尝试重塑从视频中捕获的帧。
使用 python 和 numpy 似乎很容易做到这一点:np.expand_dims(frame, axis=0)
但我不知道如何在 c++ 上使用Mat
from opencv
。
有任何想法吗?
解决方案
是的,有一个简单的函数叫做 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 可以预先创建或只是一个参考,它会自动创建它。
有关如何使用它的更详细说明,请参阅此处“调整大小”功能下的文档。
推荐阅读
- mongodb - 我想用正则表达式按 pName 和 pCode 搜索产品,并只返回产品数组的选定值
- oracle - 用于读取逗号或制表符或管道分隔/分隔数据的 SQLLoader 控制文件?
- jenkins - 使用 Groovy 以编程方式使用 GitSCM 凭据
- active-directory - 使用 Microsoft 365 时如何创建没有重音字符的主目录
- python-2.7 - App Engine Python 2.7 - ImportError:无法导入名称 apiproxy
- linux - 为什么我在尝试使用通过 ld --verbose 获得的默认链接器脚本时得到 /usr/bin/ld: internal error ../../ld/ldlang.c 4986?
- autodesk-forge - 从客户端隐藏访问令牌
- r - 如何将高度测量值转换为统一格式?
- c++ - VScode 说我尝试编写 c++ 程序时出现包含错误
- docker - 在 Digital Ocean docker 用户名和密码错误中使用 Github 操作进行部署