我在使用OpenCV 3.3.1,Python 3,最新的C ++和Visual Studio 2017的Windows 10 64位上。
这是我的Python 3代码,可以正确显示我的网络摄像头:
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
ret, last_frame = cap.read()
row, col, ch = last_frame.shape
if last_frame is None:
exit()
while(cap.isOpened()):
ret, frame = cap.read()
if frame is None:
exit()
cv2.imshow('frame', frame)
if cv2.waitKey(33) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
以下是不显示我的网络摄像头的C ++代码。此代码仅显示灰色框:
#include "opencv2/opencv.hpp"
using namespace cv;
#include <iostream>
using namespace std;
int main()
{
VideoCapture cap(0); // 1st device, DSHOW
while (cap.isOpened())
{
Mat frame;
cap >> frame;
imshow("ocv", frame);
int k = waitKey(10);
if (k == 27) break;
}
return 0;
}
有人可以帮我解决这个问题吗?我尝试将C ++修改为VideoCapture cap(1),VideoCapture cap(2),VideoCapture cap(3)和VideoCapture cap,但仍然无法从网络摄像头中获取实时视频。
答案 0 :(得分:1)
我终于有了可以针对Visual Studio C ++ OpenCV正常显示的网络摄像头。这是我所做的:
a。 C / C ++-常规-其他包含目录:C:\ <...> \ opencv \ build \ include
b。链接器-常规-其他库目录:C:\ <...> \ opencv \ build \ x64 \ vc14 \ lib
c。链接器-输入:opencv_world342d.lib
谢谢大家的回应!