Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于OpenCV,我的Python代码可以显示网络摄像头,但我的C++;不能 我在Windows 10 64位上使用OpenCV 3.3.1、Python 3、最新C++和VisualStudio 2017。_Python_C++_Opencv_Webcam - Fatal编程技术网

对于OpenCV,我的Python代码可以显示网络摄像头,但我的C++;不能 我在Windows 10 64位上使用OpenCV 3.3.1、Python 3、最新C++和VisualStudio 2017。

对于OpenCV,我的Python代码可以显示网络摄像头,但我的C++;不能 我在Windows 10 64位上使用OpenCV 3.3.1、Python 3、最新C++和VisualStudio 2017。,python,c++,opencv,webcam,Python,C++,Opencv,Webcam,以下是正确显示网络摄像头的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 No

以下是正确显示网络摄像头的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;
}
#包括“opencv2/opencv.hpp”
使用名称空间cv;
#包括
使用名称空间std;
int main()
{
视频捕获cap(0);//第一个设备,DSHOW
while(cap.isOpened())
{
垫架;
cap>>框架;
imshow(“ocv”,框架);
int k=等待键(10);
如果(k==27)中断;
}
返回0;
}
有人能帮我解决这个问题吗?我尝试修改我的C++到视频捕捉CAP(1),视频捕捉帽(2),视频捕捉帽(3),视频捕捉帽,但我仍然没有从我的摄像头直播视频。 我正在运行的Python代码的屏幕截图:

<>我运行的C++代码截图:
我终于让我的网络摄像头能正确地显示VisualStudioC++ + OpenCV。以下是我所做的:

  • 用C++和Python工具安装VisualStudio 2015。
  • 下载并解压缩OpenCV 3.4.2
  • 添加到路径C:\\opencv\build\x64\vc14\bin
  • 在Visual Studio 2015中,创建Win32控制台应用程序
  • 在项目上单击鼠标右键,然后选择“属性”。进行以下更改:
  • a。C/C++-常规-其他包含目录:C:\\opencv\build\Include

    b。链接器-常规-其他库目录:C:\\opencv\build\x64\vc14\lib

    c。链接器-输入:opencv_world342d.lib


    谢谢大家的回复

    我发现它很奇怪,你的代码是正确的,检查你是否丢失了一些DLL,你也可以解释你是如何安装OpenCV来快速响应我的OpenCV安装C++和Visual Studio 2017的,我按照这个视频的指令:此处还提供了文本说明:如果有帮助,我可以详细说明我的安装过程。尝试运行发布版本而不是调试版本,因为人们有时会混淆库链接。@MarkSetchell我将解决方案配置设置为release,但这只会在我的#include上创建红色的扭曲线“opencv2/opencv.hpp”表示您的设置在调试和发布之间有所不同,至少有点错误。您需要检查“包含”(或“头”)文件的位置设置-抱歉,我不使用MS产品,因此无法告诉您实际名称。请检查您的DLL和链接器设置。