OpenCV 函数在 Python 和 C++ 中不起作用
Posted
技术标签:
【中文标题】OpenCV 函数在 Python 和 C++ 中不起作用【英文标题】:OpenCV function does not work same Python and 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
它们有什么区别?
【问题讨论】:
【参考方案1】:print(blob.shape[2]) # print channel
您确定索引 2 应该包含频道数吗? 在常见的 4 维顺序 NCHW 和 NHWC 中,形状的索引 2 不对应于通道。
【讨论】:
以上是关于OpenCV 函数在 Python 和 C++ 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章