【配置环境】Visual Studio 配置 OpenCV

这篇具有很好参考价值的文章主要介绍了【配置环境】Visual Studio 配置 OpenCV。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一,环境

二,下载和配置 OpenCV

三,创建一个 Visual Studio 项目

四,配置 Visual Studio 项目

五,编写并编译 OpenCV 程序

六,解决CMake编译OpenCV报的错误

七,本人编译好的库


一,环境

  • Windows 11 家庭中文版
  • Microsoft Visual Studio Community 2022 (64 位) - Current版本 17.5.3
  • CMake – 3.24.1
  • OpenCV – 4.8.0

二,下载和配置 OpenCV

1.在Windows下安装OpenCV,通常有两种选择

  1. 使用预编译的二进制库(推荐): 这是最常见的方法。可以从OpenCV官方网站下载已经编译好的二进制版本,无需自己编译。这些预编译库已经包含了OpenCV的头文件和库文件,可以直接在项目中使用。
    1. 前往 OpenCV Releases 页面 下载最新的版本(选择Windows版)。vs配置opencv环境,环境准备,visual studio,opencv
    2. 解压下载的文件到指定路径下,会得到一个文件夹,例如opencv/build,内容参考如下。vs配置opencv环境,环境准备,visual studio,opencvvs配置opencv环境,环境准备,visual studio,opencv
  2. 从源代码编译OpenCV(高级选项): 如果需要进行高级配置、自定义编译选项或者希望在Windows上编译OpenCV的源代码,可以选择这种方法。但这通常较为复杂,需要更多时间和资源。
    1. 首先,从OpenCV的 GitHub仓库 下载源代码。
    2. 安装CMake,可以从 CMake官网 下载并安装最新的CMake版本,这是一个用于配置和生成编译项目的工具。
    3. 打开CMake GUI,在 “Where is the source code” 中选择OpenCV的源代码目录。在 “Where to build the binaries” 中选择一个用于生成编译结果的目标文件夹,通常建议在源代码目录之外创建一个名为 “build” 的文件夹。
    4. 点击 “Configure” 按钮。CMake将提示选择生成器,选择合适的Visual Studio版本(例如,Visual Studio 2022),选择需要生成的位数(默认为64位)。
    5. CMake编译过程中可能会报一些红色的错误的提示信息,解决办法看最后一节。(可以跳过这些错误
    6. 配置选项:在CMake配置过程中,可以根据需要设置不同的选项,如编译类型、安装路径、开启/关闭模块等。确保根据自己的需求进行配置。(网上搜索
    7. 点击 “Generate” 按钮,这将生成一个Visual Studio项目文件。
    8. 打开生成的Visual Studio项目文件(通常是.sln文件),或者点击CMake界面的“Open Project”。
    9. 在Visual Studio中,选择 “Release” 或 “Debug” 配置(根据需要选择),然后找到 “CMakeTargets > INSTALL” 文件,右击该文件选择 “生成” 选项。这将编译OpenCV。

      vs配置opencv环境,环境准备,visual studio,opencv

    10. 编译完成后,可以在生成的目标文件夹中找到编译好的OpenCV库文件(通常在 build/install 文件夹下)。
    11. 按照上面方式可以自行构建Release/Debug,64/32位的库。

2.配置 OpenCV 环境变量

  1. 使用键盘快捷键 Win + R 打开运行对话框。在运行对话框中,输入 sysdm.cpl,然后按 Enter 键。这将直接打开系统属性窗口的 “高级” 选项卡,从那里访问环境变量配置。
  2. 添加OpenCV的 bin 文件夹路径,以便系统可以找到OpenCV的DLL文件。例如:D:\Program Files\OpenCV\build\x64\vc16\bin(请根据你的实际路径进行替换)。
  3. 添加OpenCV的 lib 文件夹路径,以便编译器和连接器可以找到OpenCV的库文件。例如:D:\Program Files\OpenCV\build\x64\vc16\lib(请根据你的实际路径进行替换)。
  4. 确保点击了 "确定" 按钮,然后关闭所有窗口。vs配置opencv环境,环境准备,visual studio,opencv
  5. 打开命令提示符,输入 opencv_version 命令,检查OpenCV是否配置成功。如果配置成功,会输出OpenCV的版本号,表明OpenCV库可在命令行中正常运行。

三,创建一个 Visual Studio 项目

使用Visual Studio创建一个新的C++项目,或者打开一个现有的项目。

四,配置 Visual Studio 项目

1.跟随项目进行配置(推荐)

  1. 打开项目属性,选择 “配置属性 > VC++ 目录”,然后将 “包含目录” 配置为包含OpenCV的include文件夹(opencv\build\include),将 “库目录” 配置为包含OpenCV的lib文件夹(opencv\build\x64\vc16\lib)。vs配置opencv环境,环境准备,visual studio,opencv
  2. 在 “配置属性 > 链接器 > 输入” 下,将 “附加依赖项” 添加要使用的 OpenCV 库文件(例如 opencv_world480d.lib)。vs配置opencv环境,环境准备,visual studio,opencv

2.全局配置(不推荐)

  1. 点击工具栏的 “视图” 视图项。展开后点击 “其它窗口 > 属性管理器”。vs配置opencv环境,环境准备,visual studio,opencv
  2. 然后会得到四种不同的模式,在每种模式目录下会默认有几个系统文件,这里对 “xxx.64.user” 系统文件按照前面提到的方式配置当前项目以使用这些编译库,在这些系统文件中进行的属性配置是全局配置。

    vs配置opencv环境,环境准备,visual studio,opencv

  3. 也可以新添一个属性文件,然后也按照前面提到的方式配置当前项目以使用这些编译库,该属性文件是保存在当前项目目录下的(这种配置是跟随项目的,可以对四种模式都新添一个属性文件)。

    vs配置opencv环境,环境准备,visual studio,opencv

五,编写并编译 OpenCV 程序

以下是一些基本图像处理程序

1.加载和显示图像:创建一个程序,能够加载图像文件并将其显示在窗口中。

#include <iostream>
#include <opencv2/opencv.hpp>

//#pragma comment(lib,"opencv_world480d.lib")

int main() {
    // 加载图像
    cv::Mat image = cv::imread("your_image.jpg");
    if (image.empty()) {
        std::cerr << "Error: Could not read image file." << std::endl;
        return -1;
    }

    // 显示图像
    cv::imshow("My Image", image);
    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}

2.调整图像大小:编写代码,可以加载图像并调整其大小。

#include <iostream>
#include <opencv2/opencv.hpp>

//#pragma comment(lib,"opencv_world480d.lib")

int main() {
    // 加载图像
    cv::Mat image = cv::imread("your_image.jpg");
    if (image.empty()) {
        std::cerr << "Error: Could not read image file." << std::endl;
        return -1;
    }

    // 调整图像大小
    cv::Size newSize(800, 600);
    cv::Mat resizedImage;
    cv::resize(image, resizedImage, newSize);

    // 显示调整后的图像
    cv::imshow("Resized Image", resizedImage);
    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}

3.应用滤波器:学习如何应用常见的图像滤波器,例如高斯滤波器。

#include <iostream>
#include <opencv2/opencv.hpp>

//#pragma comment(lib,"opencv_world480d.lib")

int main() {
    // 加载图像
    cv::Mat image = cv::imread("your_image.jpg");
    if (image.empty()) {
        std::cerr << "Error: Could not read image file." << std::endl;
        return -1;
    }

    // 应用高斯滤波
    cv::Mat blurredImage;
    cv::GaussianBlur(image, blurredImage, cv::Size(5, 5), 0);

    // 显示模糊图像
    cv::imshow("Blurred Image", blurredImage);
    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}

4.检测边缘:创建一个程序,用于检测图像中的边缘。

#include <iostream>
#include <opencv2/opencv.hpp>

//#pragma comment(lib,"opencv_world480d.lib")

int main() {
    // 加载图像
    cv::Mat image = cv::imread("your_image.jpg");
    if (image.empty()) {
        std::cerr << "Error: Could not read image file." << std::endl;
        return -1;
    }

    // 检测边缘
    cv::Mat edges;
    cv::Canny(image, edges, 100, 200);

    // 显示边缘图像
    cv::imshow("Edge Image", edges);
    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}

5.图像转换:练习图像颜色空间的转换,如将彩色图像转换为灰度图像,并将图像从RGB颜色空间转换为HSV颜色空间。

#include <iostream>
#include <opencv2/opencv.hpp>

//#pragma comment(lib,"opencv_world480d.lib")

int main() {
    // 加载图像
    cv::Mat image = cv::imread("your_image.jpg");
    if (image.empty()) {
        std::cerr << "Error: Could not read image file." << std::endl;
        return -1;
    }

    // 转换为灰度图像
    cv::Mat grayImage;
    cv::cvtColor(image, grayImage, cv::COLOR_BGR2GRAY);

    // 显示灰度图像
    cv::imshow("Gray Image", grayImage);
    cv::waitKey(0);
    cv::destroyAllWindows();

    // 转换为HSV颜色空间
    cv::Mat hsvImage;
    cv::cvtColor(image, hsvImage, cv::COLOR_BGR2HSV);

    // 分离通道
    std::vector<cv::Mat> channels;
    cv::split(hsvImage, channels);

    // 显示H、S、V通道
    cv::imshow("Hue Channel", channels[0]); // H通道
    cv::imshow("Saturation Channel", channels[1]); // S通道
    cv::imshow("Value Channel", channels[2]); // V通道
    cv::waitKey(0);
    cv::destroyAllWindows();

    return 0;
}

6.要深入理解OpenCV,官网也提供了丰富的示例代码,如下。

vs配置opencv环境,环境准备,visual studio,opencv

六,解决CMake编译OpenCV报的错误

1.定位问题

  • 以下错误表示检测到了Python解释器的版本与期望的版本不符,但这个错误可以忽略,不用管vs配置opencv环境,环境准备,visual studio,opencv
  • 但后面会出现很多如下这种错误,就是不能从指定的链接中下载需要的文件资源,详细情况可以看 build/CMakeDownloadLog.txt 文件。vs配置opencv环境,环境准备,visual studio,opencv
  • CMakeDownloadLog.txt 文件用途:
    • CMakeDownloadLog.txt 文件是由CMake工具生成的日志文件,主要用于记录CMake在下载依赖项和外部资源时的详细信息。
    • CMakeDownloadLog.txt 文件对于排查和调试依赖项下载问题非常有用。当在使用CMake配置或构建项目时,如果下载依赖项失败或遇到与外部资源相关的问题,可以查看这个文件以获取更多信息,以便进一步解决问题。
  • 打开 CMakeDownloadLog.txt 文件后,会显示如下信息,其中的每一段都是我们要解决的错误:vs配置opencv环境,环境准备,visual studio,opencv

2.分析问题

  • 先分析这些错误信息是什么意思,然后我们就很容易的去解决问题了,摘取其中一段显示如下(其它都是类似的问题)vs配置opencv环境,环境准备,visual studio,opencv
  • 其中红框的内容解释如下:
    • #do_copy:这是一个命令,表示从指定的URL下载名为 "ffmpeg_version.cmake" 的文件,并将其复制到本地目录 "D:/opencv/build/3rdparty/ffmpeg"。并且该文件的MD5哈希值文设置为 "8862c87496e2e8c375965e1277dee1c7"。
    • #missing:这是一条信息,表示在指定的本地目录中没有找到名为 "ffmpeg_version.cmake" 的文件。
    • #check_md5:这是一条信息,表示检查名为 "ffmpeg_version.cmake" 文件的MD5哈希值,以验证文件完整性。
    • #mismatch_md5:这是一条信息,表示本地文件的MD5哈希值与预期值 "d41d8cd98f00b204e9800998ecf8427e" 不匹配,说明文件可能已损坏或缺失。
    • #delete:这是一条命令,表示删除本地缓存目录中的文件。
    • #cmake_download:这是一条命令,表示尝试从指定的URL重新下载文件。
    • #try 1:这是一条信息,表示这是第一次尝试下载文件。
    • 总的来说:do_copy 尝试从指定的URL下载名为 "ffmpeg_version.cmake" 的文件,并保存到本地目录 "D:/opencv/build/3rdparty/ffmpeg"。首先,它检查本地目录中是否已经存在文件 "ffmpeg_version.cmake",但没有找到该文件(missing)。然后,它尝试根据文件的MD5哈希值检查本地缓存目录中是否有与下载文件匹配的文件,但发现MD5哈希值不匹配(mismatch_md5)。接下来,它尝试从指定的URL下载文件,并在第一次尝试时遇到了网络问题。
  • 具体的错误信息:
    • # timeout on name lookup is not supported这个错误消息表示在进行DNS名称解析时发生了超时错误。CMake试图解析主机名 "raw.githubusercontent.com",但因为解析超时,所以无法连接到该主机。
    • # getaddrinfo(3) failed for raw.githubusercontent.com:443这个错误消息表明获取主机地址信息失败,其中 "raw.githubusercontent.com:443" 是要解析的主机名和端口。
    • # Could not resolve host: raw.githubusercontent.com这个错误消息指出无法解析主机名 "raw.githubusercontent.com"。
    • # Closing connection 0这是一条信息,表示关闭了与主机的连接。
    • 总结:这些错误的主要原因是CMake无法通过DNS解析找到主机名 "raw.githubusercontent.com",因此无法连接到GitHub服务器以下载所需的文件 "ffmpeg_version.cmake"。

3.解决问题

  • 确定了问题原因是无法下载 ffmpeg_version.cmake 文件,浏览器输入指定的URL后,显示如下信息:vs配置opencv环境,环境准备,visual studio,opencv
  • 接下来就是要下载 ffmpeg_version.cmake 文件,然后覆盖D:/opencv/source/.cache/ffmpeg/8862c87496e2e8c375965e1277dee1c7-ffmpeg_version.cmake 文件,再进行编译就行了。

七,本人编译好的库

百度网盘链接:VS2022编译的OpenCV库,四种模式下都可以使用(Release32,Release64,Debug32,Debug64)。文章来源地址https://www.toymoban.com/news/detail-713704.html

到了这里,关于【配置环境】Visual Studio 配置 OpenCV的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【OpenCV】OpenCV4.7.0 + Visual Studio 2019环境配置 + 运行opencv

    01、OpenCV的下载与安装 这里贴上网址: https://opencv.org/ 进入会看到主界面,跟着一步一步来下载就好: 当把上面这个下载下来之后,会得到一个opencv-4.7.0-windows.exe,我们双击运行,等待程序自己执行完成,就会在exe当前目录下面生成一个同exe名字的文件夹。 打开文件夹如下

    2024年02月09日
    浏览(42)
  • 手把手教你games101环境搭建(图文并茂)——Visual Studio安装,Eigen库,Opencv配置

      本文主要内容是games101在本机下的环境搭建,主要有VS的下载与安装,Eigen库的下载与配置,OpenCV的下载与配置,主要解决的bug是LNK2019 无法解析的外部符号 “public: __thiscall cv::Mat::Mat(void)” ,希望能给各位想做games101作业的带来帮助,减少环境配置上的困难,后续也会陆续

    2024年04月12日
    浏览(47)
  • Visual Studio配置OpenCV

    目录 一.下载Visual Studio 2022 ​编辑 二.下载opencv 三.配置环境变量 四.配置vs2022 五.测试opencv 一.下载Visual Studio 2022 前往Visual Studio官网,下载vs2022社区版 vs中配置opencv用的C++语言,所以要配置C++工具集 后面如果要修改或增加拓展的话,可在VisualStudioSetup.exe应用程序里配置 二.下

    2024年02月08日
    浏览(31)
  • Visual Studio + Opencv配置

    Opencv安装、环境变量配置 Visual Studio 库的两种配置 本文使用操作系统为Windows10,仅适用于windows环境Visual Studio编译器上的 Opencv开发配置。Opencv所有平台通用的配置方式是从官网下载源码,然后使用CMake编译成对应平台的库,比如Windows平台,使用CLion IDE + gcc配置Opencv,就需要

    2024年02月09日
    浏览(34)
  • Visual Studio部署C++环境下OpenCV库

      本文介绍在 Visual Studio 2022 中配置、编译 C++ 计算机视觉库 OpenCV 的方法。   首先,我们进行 OpenCV 库的下载与安装。作为一个开源的库,我们直接在其官方下载网站中进行下载即可;如下图所示,我们首先选择需要下载的操作系统。   随后,即可在弹出的新界面中自

    2024年03月09日
    浏览(55)
  • Visual Studio项目环境配置

    一. 静态库环境配置 1.1 添加静态库对应的头文件所在目录 1.1.1 使用尖括号引用头文件的配置 右键项目-属性-配置属性-VC++目录 点击包含目录,点击右边的下拉箭头,点击编辑,添加新的项,手动输入附加库头文件的路径 点击确定保存,这样就能保证我们能用引用我们想要使

    2024年02月05日
    浏览(34)
  • 安装visual studio2022以及配置opencv

    目录 1下载visual studio 1.1进入网站点击 下载visual studio,选择Community 2022 1.2打开安装包,进入界面 1.3等待安装完成  2下载opencv 2.2下载完成后自定义解压路径 3.3win10系统配置环境变量 3配置visual studio 3.1打开软件 3.2配置 4测试 Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编

    2024年02月12日
    浏览(53)
  • Visual Studio下2022Opencv的配置

    先从官网下载opencv : opencv releases 下载 ​ 我这里的开发环境是window版本,我们选择Windows版本进行下载 点开下载的文件,输入需要保存的路径 记住你保存的路径(我这里安装再F:) 安装需要时间静等安装。 创建一个项目 我们对其进行opencv的配置 在创建的项目中找到解决方案资

    2024年02月13日
    浏览(40)
  • 基于 Visual Studio 配置 opengl 环境

    Visual Studio 2022 glfw glad Visual Studio 2022 打开链接,看到如下界面: 傻瓜式安装即可,如果不知道需要安装什么环境,可以什么都不装。 glfw 打开链接,看到如下界面: 注意下载 win32 版本。 glad 打开链接,看到如下界面: 选择上述内容后,点击 generate。跳转后下载出现的安装包

    2024年02月05日
    浏览(32)
  • <Visual Studio 2019安装及环境配置教程>

    目录 1.Visual Studio 2019下载安装: 1.1 进入官网 1.2 选择所需Visual Studio 2019安装包 1.3  Visual Studio 2019 版本说明 1.4 点击下载、安装 1.5 登录账户 1.6 使用演示 2.写在最后的话:  后记:●由于作者水平有限,文章难免存在谬误之处,敬请读者斧正,俚语成篇,恳望指教!  

    2024年02月14日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包