我正在尝试使用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()
1条答案
按热度按时间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。