C语言visual studio下配置opencv环境

文章目录

  • 前言
  • 一、下载opencv2
  • 二、安装opencv2
  • 三、环境变量添加
  • 四、visual studio中添加目录
    • 1.添加包含目录
    • 2.库目录
    • 3.添加静态链接库
    • 4.添加动态链接库
  • 五、摄像头读取并显示视频


前言

在配置opencv环境时遇到了一些问题,包括#include 显示找不到资源,无法找到动态链接库,以及在opencv namedwindow 出现两个窗口、窗口名称出现乱码、按键事件不响应的问题。这里记录一下解决办法


一、下载opencv2

搜索opencv官网,进入下载页面,下载windows版本, 下载地址
C语言visual studio下配置opencv环境_第1张图片

二、安装opencv2

运行下载下来的exe文件,进行安装
C语言visual studio下配置opencv环境_第2张图片

三、环境变量添加

在高级系统设置,环境变量,系统变量,path中添加opencv的路径
分别是build\bin、build\x64\vc16\bin
C语言visual studio下配置opencv环境_第3张图片

四、visual studio中添加目录

1.添加包含目录

右键项目名称,属性,常规-vc++目录选项-包含目录:
C语言visual studio下配置opencv环境_第4张图片

2.库目录

右键项目名称,属性,常规-vc++目录选项-库目录:
C语言visual studio下配置opencv环境_第5张图片

3.添加静态链接库

右键项目名称,属性,链接器,输入-附加依赖项:
C语言visual studio下配置opencv环境_第6张图片
注意!这里一般有两个文件xxx.dll和xxxd.dll,根据你的项目是debug还是release来配置,debug则配置xxxd.dll,否则xxx.dll。不然会错误。具体错误表现是在显示窗口时,opencv namedwindow 出现两个窗口、乱码、按键事件不响应。

4.添加动态链接库

运行时可能会报错找不到dll,将这两个dll拷贝到C:./Windows/system32下可以解决,其位置在\opencv\build\x64\vc16\bin
在这里插入图片描述

五、摄像头读取并显示视频

下面给出一个读取摄像头并在窗口中显示的代码,可用作测试环境配置正确与否

#include 

int main() {
    // 创建VideoCapture对象
    cv::VideoCapture capture;

    // 打开桌面视频流,通常使用0表示默认摄像头
    capture.open(0);

    // 检查视频流是否成功打开
    if (!capture.isOpened()) {
        printf("无法打开视频流\n");
        return -1;
    }

    // 创建窗口用于显示视频流
    cv::namedWindow("Desktop 1", cv::WINDOW_AUTOSIZE);


    // 循环读取桌面视频流并显示
    while (true) {
        cv::Mat frame;

        // 读取视频流中的帧
        capture >> frame;

        // 检查是否成功读取帧
        if (frame.empty()) {
            printf("无法从视频流中读取帧\n");
            break;
        }

        // 显示帧
        cv::imshow("Desktop 1", frame);

        // 检查按下键盘上的Esc键来退出循环
        char key = cv::waitKey(10);
        if (key == 27) // Esc键的ASCII码为27
            break;
    }

    // 释放VideoCapture对象
    capture.release();

    // 关闭所有窗口
    cv::destroyAllWindows();

    return 0;
}

你可能感兴趣的:(C,c语言,visual,studio,opencv)