• VS2019中配置C++ OpenCV 4.5.4完整指南


    ⭐️我叫忆_恒心,一名喜欢书写博客的在读研究生👨‍🎓。
    如果觉得本文能帮到您,麻烦点个赞👍呗!

    近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧,喜欢的小伙伴给个三连支持一下呗。👍⭐️❤️
    Qt5.9专栏定期更新Qt的一些项目Demo
    项目与比赛专栏定期更新比赛的一些心得面试项目常被问到的知识点。
    人工智能学习与练手笔记定期更新优质的人工智能的论文有趣的AI项目

    喜欢,觉得有帮助的,欢迎订阅专栏,后续有很多优质的文章进行更新,有任何疑问,欢迎留言!
    在这里插入图片描述

    VS2019中配置OpenCV 4.5.4完整指南

    一、前言

    在做Cpp 开发桌面应用的时候,总想着向python那样可以调用视觉的一些库,从而玩起YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks

    关键的一步就在VS2019中搭建好OpenCV库。

    但是,😂OpenCV的库过于多,且版本之间向上和向下兼容性差的问题,因此查过了一些资料也踩了一些坑,希望这篇博客可以简单的带你入个门。

    OpenCv配置入门,运行一个简单demo,调试一个基于OpenCV的项目

    二、OpenCV的安装

    在这里插入图片描述
    本文将指导你如何在Visual Studio 2019中配置OpenCV 4.5.4并编译在openCV基础上开发的ZXing库,以便在你的项目中利用这些强大的工具。
    第一部分:配置OpenCV 4.5.4

    1. 下载和安装OpenCV

    首先,你需要从OpenCV的官方网站下载OpenCV 4.5.4版本。下载完成后,解压缩文件到你的电脑上一个方便访问的位置。

    1. 配置环境变量

    为了让OpenCV在Visual Studio 2019中正常工作,你需要配置环境变量。这一步骤确保VS2019能够找到OpenCV的库和头文件。

    • 打开“系统属性”对话框,然后点击“环境变量”按钮。
    • 在“系统变量”区域,找到Path变量,然后点击“编辑”。
    • 点击“新建”,添加OpenCV的build\x64\vc15\bin目录到路径中。
    • 确认更改,并重启电脑使路径生效。
    1. 在VS2019中配置项目

    创建一个新的C++项目后,你需要配置项目以使用OpenCV库。

    • 右击项目名称,选择“属性”。
    • 在“配置属性”下,选择“C/C++” > “常规”,然后在“附加包含目录”中添加OpenCV的include目录路径。
    • 在“链接器” > “常规”下,添加OpenCV的lib目录路径到“附加库目录”。
    • 根据你的构建类型(Debug或Release),在“链接器” > “输入”下的“附加依赖项”中添加相应的OpenCV库文件。

    完成这些步骤后,你的项目就配置好了OpenCV。

    三、OpenCv的简单Demo

    为了测试你在Visual Studio 2019中是否成功配置了OpenCV,你可以编写一个简单的C++程序,用于加载并显示一张图片。这将验证OpenCV库是否被正确链接和能够正常工作。
    以下是一个简单的测试代码:

    #include 
    #include 
    
    int main() {
        // 替换为你的图片路径
        std::string imagePath = "path_to_your_image.jpg";
    
        // 使用OpenCV的cv::imread函数加载图片
        cv::Mat image = cv::imread(imagePath, cv::IMREAD_COLOR);
    
        if (image.empty()) {
            std::cout << "无法加载图片,请检查路径是否正确" << std::endl;
            return -1;
        }
    
        // 创建一个窗口
        cv::namedWindow("测试OpenCV", cv::WINDOW_AUTOSIZE);
    
        // 在窗口中显示图片
        cv::imshow("测试OpenCV", image);
    
        // 等待用户按键,参数是等待时间(毫秒),0表示无限等待
        cv::waitKey(0);
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    1. 包含OpenCV库:确保包含了opencv2/opencv.hpp,这是使用OpenCV所必需的。
    2. 读取图片:使用cv::imread函数读取一张图片。你需要将imagePath变量替换为实际图片的路径。
    3. 检查图片:如果图片未能加载(可能是因为路径错误或文件损坏),程序将输出错误消息并退出。
    4. 显示图片:使用cv::namedWindow和cv::imshow函数创建一个窗口并在其中显示图片。
    5. 等待按键:cv::waitKey(0)使程序等待用户按键,参数0表示无限等等,直到用户按下一个键。

    确保在项目的链接器设置中已经添加了相应的OpenCV库文件,如opencv_world454d.lib(Debug模式)或opencv_world454.lib(Release模式),并且配置了正确的包含目录和库目录。运行此程序后,如果一切配置正确,你应该能看到一个窗口显示出你选择的图片。

    四、基于OpenCv的项目

    第二部分:编译ZXing库

    ZXing (“Zebra Crossing”) 是一个开源项目,提供条码扫描功能。接下来,我们将编译ZXing库以便在项目中使用。

    1. 拉取ZXing库

    打开命令行工具,使用git命令拉取ZXing库的最新代码:

    1. 使用CMake编译ZXing

    接下来,使用CMake来编译ZXing库。确保你已经安装了CMake,并在命令行中执行以下命令:

    这些命令会在zxing-cpp.release目录下生成ZXing的Release版本。

    1. 配置项目以使用ZXing

    最后,你需要在VS2019项目中配置,以使用编译好的ZXing库。

    • 在项目的“链接器” > “常规”设置中,添加ZXing库的路径到“附加库目录”。
    • 在“链接器” > “输入”设置中,添加zxing.lib到“附加依赖项”。

    至此,你的项目已经成功配置了OpenCV和ZXing库,可以开始开发图像处理和条码识别功能了。

    五、注意事项

    • 在配置OpenCV时,确保正确设置了环境变量,并且重启了电脑使设置生效。

    • 在链接OpenCV库时,记得区分Debug和Release模式,它们需要链接不同的库文件。

    • 编译ZXing库时,确保你的系统中已安装了CMake,并且正确执行了命令行指令。
      常见问题解决

    • 环境变量未生效:如果发现VS2019无法识别OpenCV的路径,尝试手动重启电脑。

    • 链接错误:检查是否选择了正确的库文件进行链接,特别是区分了Debug和Release模式。

    • ZXing编译失败:确保拉取的ZXing库是最新的单分支版本,并且CMake版本符合要求。

    结束语

    配置OpenCV和ZXing库可能初看起来有些复杂,但遵循上述步骤,将使你能够顺利完成配置。掌握这些工具不仅能够扩展你的项目功能,还能够提升你的编程技能到新的水平。希望本文能够帮助你顺利完成配置。

    最后,最后
    如果觉得有用,麻烦三连👍⭐️❤️支持一下呀,希望这篇文章可以帮到你,你的点赞是我持续更新的动力

  • 相关阅读:
    DHCP原理与配置
    ZCC5429 异步升压芯片
    python二次开发Solidworks:齿轮生成器
    safari 浏览器overflow:hidden样式失效,一个css属性完美解决
    Jenkins+RebotFramework 持续环境集成
    uniapp 手动调用form表单submit事件
    在字节做 QA 的 288 天
    .360、.halo勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
    大厂都是如何处理重复消息的?
    java计算机毕业设计家电仓储管理系统MyBatis+系统+LW文档+源码+调试部署
  • 原文地址:https://blog.csdn.net/qq_37457202/article/details/138174598