【问题标题】:OpenCV function does not work same Python and C++OpenCV 函数在 Python 和 C++ 中不起作用
【发布时间】:2020-07-13 09:36:48
【问题描述】:

这是python代码:

vs = cv2.VideoCapture(0)
while True:
    ret,frame = vs.read()
    blob = cv2.dnn.blobFromImage(frame, 1.0,(300, 300), (104.0, 177.0, 123.0))
    print(blob.shape[2]) # print channel

当我在 c++ 中尝试相同的代码时,通道值与 python 代码不同

cv::VideoCapture cap;
cap.open(0);
cv::Mat frame;

while(true)
{
    cap.read(frame);

    Mat blob = cv::dnn::blobFromImage(frame,1.0,cv::Size(300,300),Scalar(104.0, 177.0, 123.0));
    cout << blob.channels() << endl; // print channel here
}

它们有什么区别?

【问题讨论】:

    标签: python c++ opencv deep-learning


    【解决方案1】:
    print(blob.shape[2]) # print channel
    

    您确定索引 2 应该包含频道数吗? 在常见的 4 维顺序 NCHW 和 NHWC 中,形状的索引 2 不对应于通道。

    【讨论】:

      猜你喜欢
      • 2012-03-31
      • 2016-04-04
      • 2016-11-24
      • 2018-05-10
      • 1970-01-01
      • 2014-11-20
      • 2020-03-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多