Opencv:高维Mat的创建、存取

本文介绍了如何在OpenCV中创建和操作高维Mat,特别是4-D Mat。通过两种方法进行演示,一种是使用`cv::dnn::blobFromImages`(适用于OpenCV 4及以上版本),另一种是利用Mat的重载操作。对于低版本的OpenCV,提供了通过源码理解和实现功能的替代方案,并进行了存储验证,确保结果一致。
摘要由CSDN通过智能技术生成

如果想直接创建一个高维的Mat,本文以4-D的Mat为例,分别使用opencv高版本和低版本来进行示例:

方式1: cv::dnn::blobFromImages【dnn这个api是opencv4里面新增的,如果opencv版本低,可以看方式2

    cv::Mat trtInput = cv::dnn::blobFromImages(InputImgs,1.0,cv::Size(m_inputH,m_inputW), cv::Scalar(127.0,127.0,127.0),true,false);

输入的InputImgs是std::vector<cv::Mat>类型的变量,输出的trtInput是高维的Mat类型的变量【这里是4-D,NCHW】

该代码的含义就是将多张图像做了一些预处理,返回一个4通道的blob(blob可以简单理解为一个N维的数组,用于神经网络的输入)。

函数原型:

cv2.dnn.blobFromImage(image[, scalefactor[, size[, mean[, swapRB[, crop[, ddepth]]]]]])

函数参数:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微风❤水墨

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值