在opencv中使用cv::dnn::blobFromImage时,blob输出的大小出现问题

yzuktlbb  于 2023-03-03  发布在  其他
关注(0)|答案(1)|浏览(917)

我正在尝试使用cv::dnn::blobFromImage从图像中获取一个blob。当在C++中使用时,我得到了一个3 x 1的blob输出。然而,当我在python中运行代码时,我得到了正确的大小,即4D数组。
'代码片段:cv::垫鳍_img;文件名为:cv::imread(“/首页/laddu/307.png”);
垫斑点; cv::dnn::来自图像的斑点(fin_img,斑点,(1.0 / 255.0),大小(640,640),真,假);cout〈〈“斑点大小”〈〈斑点大小()〈〈endl;'
我使用opencv尝试了blobfromimage()

vsnjm48y

vsnjm48y1#

OpenCV的DNN模块中blobFromImage()函数的输出是一个多维数组或“blob”。blob的形状取决于传递给函数的参数。由于OpenCV版本或传递的参数不同,Python和C中的blob形状可能不同。
在你的例子中,blob的形状在C
和Python中似乎是不同的。输出的blob应该是一个有维度(batch_size,channels,height,width)的4D数组。奇怪的是,你在C中得到的是一个3 x 1的形状。
请确保您在Python和C
中使用的OpenCV版本和参数相同。如果问题仍然存在,您可以尝试更新或重新安装OpenCV。

相关问题