python - 如何将数组传递给 OpenCV dnn
问题描述
我正在使用 OpenVino 预训练模型进行动作驱动动作检测......
驾驶员动作检测管道由编码器和解码器两部分组成,可与 openCV dnn 类一起使用。编码器获取形状为 (1,3,224,224) 的图像并生成形状为 (1,512,1,1) 的特征向量,然后解码器获取 16 帧形状 (1,16,512) 的输入并生成表示每个类别的概率。
我的问题是如何将形状数组(1,16,512)提供给解码器网络......当我使用cv2.dnn.blobFromImage()
它时会引发异常
blob=cv.dnn.blobFromImage(vectors,size=(16,512))
cv2.error: OpenCV(4.3.0-openvino) ../opencv/modules/core/src/arithm.cpp:669: error: (-209:Sizes of input arguments do not match) The operation is neither 'array op array' (where arrays have the same size and the same number of channels), nor 'array op scalar', nor 'scalar op array' in function 'arithm_op
有人可以帮忙吗?
解决方案
推荐阅读
- excel - Excel 在使用使用协作数据对象发送电子邮件的宏后冻结
- python - 模板中的Django外键表单字段渲染
- sql-server - SQL Server:比较两个 CTE 表
- c++ - 试图访问 qml 中结构成员的 QList
- python - 预测数组有一个奇怪的形状
- powerbi - 如何始终在字段为 False 的情况下返回值,但在 Power BI 中字段为 True 时显示的值是否显示?(在正文中措辞更好)
- python-3.x - 在 Python 3.7 中序列化为 JSON 字符串 tracemalloc
- mysql - MySQL 触发器:删除超过 1 小时的会话过期
- r - 使用 openxlsx 导出 R 数据框时出错(“zipr 中的错误”)
- python - 从 Opencv Videoframe 中提取 ROI