gpt4 book ai didi

c++ - openCV Mat N 维 reshape

转载 作者:行者123 更新时间:2023-12-03 12:48:06 29 4
gpt4 key购买 nike

我有一个从 dnn::blobFromImage 返回的 cv::Mat mat,大小为 1x3x600x450。 (img 是没有 Alpha channel 的 BGR)

cv::Mat mat = dnn::blobFromImage(img);
cout << mat.size() << endl; // 1x3x600x450

将其 reshape 为 3x600x450 的 numpy.reshape 的模拟是什么?

在 python 中,如果我断言 mat.shape[0] == 1,那么使用 numpy.reshape 我会做类似的事情

mat = mat.reshape((mat.shape[1], mat.shape[2], mat.shape[3]))

OpenCV 中的等价物是什么?

最佳答案

Per Dan 在上述评论中的回应,这就是我的看法:

cv::Mat mat = dnn::blobFromImage(img);
cout << mat.size() << endl; // 1x3x600x450

int sz[] = {mat.size[1], mat.size[2], mat.size[3]};
Mat newmat(3, sz, mat.type(), mat.ptr<float>(0));
cout << newmat.size() << endl; // 3x600x450

关于c++ - openCV Mat N 维 reshape ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52129975/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com