使用 OpenCV 从摄像机捕获视频时"Unable to Locate DLL"

"Unable to Locate DLL" when using opencv to capture video from camera

本文关键字:Unable to Locate DLL 视频 OpenCV 摄像机 使用      更新时间:2023-10-16

我在互联网上应用了安装 opencv 2.9 的教程,但我得到

Unhandled exception at 0x00007FFC6470C0B4 (ntdll.dll) in Project11.exe: 
0xC0000135: Unable to Locate DLL.

我尝试了以下代码,但无法解决。

#include "stdafx.h"
#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <stdio.h>
#include "opencv.hpp"
int main(){
    CvCapture *camera=cvCaptureFromFile("rtsp://192.168.1.19:554/0/1:1/main");
    if (camera==NULL)
    printf("camera is nulln"); 
    else
    printf("camera is not null");
    cvNamedWindow("img");
    while (cvWaitKey(10)!=atoi("q")){
            IplImage *img=cvQueryFrame(camera);
            cvShowImage("img",img);
    }
    cvReleaseCapture(&camera);
}

正如错误消息所述,Windows找不到所需的DLL。此错误很可能是由缺少OpenCV DLL 引起的;它必须放置在以下任一位置

  • 在您的System32目录中(通常为 C:WindowsSystem 32
  • 与可执行文件位于同一目录中
  • 附加到系统的PATH环境变量

请参阅 Windows 上的 OpenCV 安装页面,了解有关正确安装 OpenCV 库的更多信息。

您正在尝试使用OpenCV库源代码中的各个文件。虽然这可能有效,但不可取。

TL:DR; 您必须找到opencv_core[version number here]并将其放置在我上面提到的位置之一。

你应该复制dll文件(C:\opencv\build\x64\vc11\bin)在你的System32目录中(通常是C:\Windows\System 32)