opencv配置安装

news2024/11/18 8:13:27

opencv配置安装

1、安装方式

https://blog.csdn.net/qq_45022687/article/details/120241068

根据这个网址的配置进行安装

2、解编译

  1. mutex/thread等

    似乎因为mingw的问题,#include 等直接引入线程无法直接引用,这导致了原有代码中直接使用mutex/thread的部分需要修改

    在这里插入图片描述

    https://blog.csdn.net/qq_41940001/article/details/127319079

  2. opengl未成功链入

    • 问题描述

      在这里插入图片描述

    • 解决过程

      • 尝试在出问题的文件中,添加头文件#include <windows.h>,解决

        参考:https://blog.csdn.net/zhongjling/article/details/7535585

  3. 重复定义

    • 问题描述

      在这里插入图片描述

    • 解决过程

      在同一个文件中定义了同一个宏定义,在对应的定义和使用的地方做相应的修改

      在这里插入图片描述

      在这里插入图片描述

  4. 返回类型不完全

    • 问题描述

      在这里插入图片描述

    • 解决过程

      把有问题的函数全部注释了

  5. ERROR: Unable to start debugging. Unexpected GDB output from command “-exec-run”. During startup program exited with code 0xc0000135.

    • 问题描述

      在这里插入图片描述

    • 解决过程

      https://blog.csdn.net/flyaaa123/article/details/125069936

      调整mingw/bin在环境变量中的相对位置

3、文档配置

1)launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "python": "D:\\BasicSetting\\python\\python.exe",
            "args": ["--source"]
        },
        {
            "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示  
            "type": "cppdbg", // 配置类型,这里只能为cppdbg  
            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)  
            "program": "${workspaceFolder}/exe/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径  
            "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可  
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false  
            "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录  
            "environment": [],
            "externalConsole": false, // true则弹出终端,false会在下方terminal直接输出
            "MIMode": "gdb",
            // 这里的路径需要修改。改成自己的路径
            "miDebuggerPath": "D:/BasicSetting/mingw64/bin/gdb.exe",
            "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

2)c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                // 以下7行需要修改 
                "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include",
                "D:/BasicSetting/protoc-21.9-win64/include",
                "D:/BasicSetting/opencv/build/x64/mingw/install/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": "",
                "path": [
                    "${workspaceRoot}",
                    // 以下7行需要修改 
                    "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++",
                    "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32",
                    "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward",
                    "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include",
                    "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed",
                    "D:/BasicSetting/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include",
                    "D:/BasicSetting/protoc-21.9-win64/include",
                    "D:/BasicSetting/opencv/build/x64/mingw/install/include"
                ]
            }
        }
    ],
    "version": 4
}

3)tasks.json

{
    "version": "2.0.0",
    "command": "g++",
    "args": [
        "-g",
        "${file}",
        "-o",
        "${workspaceFolder}/exe/${fileBasenameNoExtension}.exe",
        "-std=c++17",
        "D:/BasicSetting/opencv/build/x64/mingw/bin/libopencv_world460.dll",
        "-I",
        "D:/BasicSetting/opencv/build/x64/mingw/install/include"
        // "-lprotobuf -lpthread"
    ],
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": [
            "relative",
            "\\"
        ],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    },
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "D:\\BasicSetting\\mingw64\\bin\\g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "D:/BasicSetting/opencv/build/x64/mingw/bin/libopencv_world460.dll",
                "-I",
                "D:/BasicSetting/opencv/build/x64/mingw/install/include"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ]
}

4、安装编译mediapipe

1)python下载mediapipe

  1. pip install mediapipe

  2. 下载mediapipe库

    • 地址:https://pypi.org/project/mediapipe/#files

    • 命令:pip install --user mediapipe-0.8.9.1-cp310-cp310-win_amd64.whl

      在这里插入图片描述

      安装失败了……

      在这里插入图片描述

    • opencv-contrib-python

      • opencv-contrib-python

      • 下载资源包

        • 地址:https://pypi.tuna.tsinghua.edu.cn/packages/b2/b8/d5c14d6a0b1d898f7fe273de9b41f84dd94a5cc4c816a32da300fc70a1d5/opencv_contrib_python-4.7.0.68-cp37-abi3-win_amd64.whl#sha256=7a75f1775790106e54bcfb101c0e00e1f801a57d9baebc82d0b6758fc83a4ca0

        • pip install --user opencv_contrib_python-4.7.0.68-cp37-abi3-win_amd64.whl

        • 安装成功

          在这里插入图片描述

    • 再次安装mediapipe

2) c++安装

  1. MSYS2安装

    • 下载地址:https://www.msys2.org

    • 安装

      在这里插入图片描述

    • 配置环境变量

      地址:D:\Setting\msys64\usr\bin

      在这里插入图片描述

    • 升级msys2包数据库

      在这里插入图片描述

      pacman -Syu

    • 下载unzip

      MSYS2没有内置unzip,需要手动安装

      pacman -S git patch unzip

      在这里插入图片描述

  2. python配置

    装过了

  3. 安装VS2019和WinSDK

    VS官网:https://aka.ms/vs/17/release/vs_BuildTools.exe

    在这里插入图片描述

  4. 配置Bazel

    • 地址:https://github.com/bazelbuild/bazel/releases/download/5.2.0/bazel-5.2.0-windows-x86_64.exe

    • 移动到目的位置,并修改为bazel.exe

      在这里插入图片描述

    • 修改环境变量

      set BAZEL_VS=D:\Software\Microsoft Visual Studio\2022\Community
      set BAZEL_VC=D:\Software\Microsoft Visual Studio\2022\Community\VC
      set BAZEL_VC_FULL_VERSION=14.34.31938.0
      set BAZEL_WINSDK_FULL_VERSION=10.1.22000.832
      

      在这里插入图片描述

      在这里插入图片描述

    • 设置Bazel变量

  5. mediapipe仓库克隆及bazel的编译文件WORKSPACE的修改

    • git clone https://github.com/google/mediapipe.git

    • 设置opencv地址-WORKSPACE

      在这里插入图片描述

    • 设置open_windows.BUILD

      在这里插入图片描述

  6. 编译

    切换打破media仓库目录,运行:bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="D:\\Setting\\Python\\python.exe" mediapipe/examples/desktop/hello_world

    在这里插入图片描述

  7. 执行

    set GLOG_logtostderr=1

    bazel-bin\mediapipe\examples\desktop\hello_world\hello_world.exe

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/445170.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于ARM核心板、一体板、底板的知识分享

嵌入式处理器模组&#xff0c;又称嵌入式核心板&#xff0c;或为CPU模组/核心板/SOM&#xff08;System on Module)&#xff0c;它是包含处理系统的核心电子部件的子电路板&#xff0c;集成了主芯片、存储器&#xff08;eMMC/Nand Flash)、运行内存&#xff08;DDR&#xff09;…

太神奇了,1984 年的电脑也能跑 Chat-GPT

新加坡的逆向计算爱好者 Yeo Kheng Meng 发布了一个 “doschgpt” ChatGPT 客户端&#xff0c;这个客户端适用于上世纪八十年代的 MS-DOS 系统。 目前这个 DOS 系统的 ChatGPT 客户端已成功在 1984 年的 IBM 5155 便携式 PC 上运行&#xff0c;这台机子配备 4.77Mhz 主频的 In…

孤儿僵尸守护进程基本概念与使用

文章目录 前言孤儿进程僵尸进程守护进程总结 前言 孤儿进程、僵尸进程和守护进程是操作系统中的概念&#xff0c;它们分别表示不同的进程状态和特性。孤儿进程和僵尸进程了解了解(都是为守护进程做铺垫)&#xff0c;但是对于守护进程大家还是可以好好学习学习&#xff0c;相信…

人民满意手机银行服务白皮书——服务分析篇

易观&#xff1a;商业银行积极践行“金融为民”&#xff0c;坚持“以用户为中心”的发展理念&#xff0c;从全客群、全服务、全渠道推动金融服务触达广大人民群众。其中&#xff0c;手机银行作为服务及经营主阵地&#xff0c;是人民群众获取金融服务的超级入口及服务平台。 “以…

【超算/先进计算学习】日报2

目录 今日已完成任务列表遇到的问题及解决方案任务完成详细笔记编辑器Vim程序开发步骤文件编辑器 Vim 快速入门任务练习 编译器 GCC程序编译流程编译器 gcc 的简易使用gcc 编译链接命令规则及常用编译选项 工程构建工具 Makemake 命令与makefile文件的规则和逻辑makefile 文件编…

数据库ER图详解

ER图也成ERD&#xff08;Entity Relationship Diagram&#xff09;,目前对于ER图的表示有两种方式&#xff1a; 一种是Chens notation&#xff0c;1976年Peter Chen首次提出了Entity Relationship Modeling&#xff08;实体关系建模&#xff09;概念。 另一种是Crow’s foot no…

【UITableViewCell的重用 Objective-C语言】

一、UITableViewCell有哪些属性,怎么看, 1.可以按住command键,点开这个UITableView,看到如下界面: 这个时候,文字比较大,你可能看起来不是很清楚,这个时候,可以点击左上角的xcode,选择Preference, 让它变小一些, 文字变小,变成12以后,这些属性,是不是对的很齐啊…

Postcat IDEA 插件,最全的使用教程

Postcat 插件不会入侵到代码内部&#xff0c;无需添加任何jar包依赖&#xff0c;这个真的很香&#xff01; 下面说一说&#xff0c;这个插件如何使用&#xff0c;是时候展现真正的技术了~ 如何安装配置&#xff1f; IDEA 版本需大于 IntelliJ IDEA 2022.03 在 IDEA “设置-插件…

JSon使用

官方文档 JSon在线文档&#xff1a;https://www.w3school.com.cn/js/js_json_intro.asp Ajax在线文档&#xff1a;https://www.w3school.com.cn/js/js_ajax_intro.asp Json介绍 Json快速入门 <!DOCTYPE html> <html lang"en"> <head><meta c…

从编译器角度理解C++编译和连接原理

C编译链接整体介绍 链接主要工作 1 所有.o文件段的合并&#xff0c;符号表合并后&#xff0c;进行符号解析 链接时就是在符号表中找对应的符号是否只出现于.text或.data段一次&#xff0c;若一次都无&#xff0c;则符号未定义&#xff1b;若出现多次&#xff0c;符号重定义 符…

JavaSE补充 | apache-common包的使用,快速完成IO操作

目录 一&#xff1a;apache-common包的使用&#xff0c;快速完成IO操作 1. IOUtils类的使用 2. FileUtils类的使用 一&#xff1a;apache-common包的使用&#xff0c;快速完成IO操作 IO技术开发中&#xff0c;代码量很大&#xff0c;而且代码的重复率较高&#xff0c;为此Ap…

【MySQL】数据库约束和聚合函数的使用

目录 上篇在这里喔~ 1.数据库约束 1.NULL约束 2.UNIQUE唯一约束 3.DEFAULT默认值约束 4.PRIMARY KEY主键约束 5.FOREIGN KEY外键约束 2.表的设计 1.设计思路​编辑 2.固定套路​编辑 2.1一对一关系 2.2一对多关系 ​编辑 2.3多对多关系 ​编辑​编辑​编辑 3.插入…

《C++模板》(初阶)零基础讲解

本文主要介绍C的模板&#xff0c;包括函数模板和类模板 文章目录 为什么要有模板1、函数模板1.1 函数模板概念1.1 函数模板格式1.3 函数模板的原理1.4 函数模板的实例化1.5 模板参数的匹配原则 2、类模板2.1 类模板的定义格式2.2 类模板的实例化 为什么要有模板 就拿我们写的交…

从“捐赠openEuler”到“向openEuler捐赠”,openEuler生态走入高速发展期

【中国&#xff0c;上海&#xff0c;2023年4月21日】openEuler Developer Day 2023于4月20-21日在线上和线下同步举办。本次大会由开放原子开源基金会指导&#xff0c;中国软件行业协会、openEuler社区、边缘计算产业联盟共同主办&#xff0c;以“万涓汇流&#xff0c;奔涌向前…

ROS使用(10)URDF

Building a visual robot model from scratch 在本教程中&#xff0c;我们将构建一个机器人的视觉模型&#xff0c;它看起来有点像R2D2。 在后面的教程中&#xff0c;您将学习如何 清晰地表达模型&#xff0c;添加一些物理属性&#xff0c;并使用xacro生成更简洁的代码&#x…

Rebex Total Pack文件传输组件,改进的递归断路器

Rebex Total Pack文件传输组件,改进的递归断路器 文件系统&#xff1a;改进的递归断路器。 ZIP&#xff1a;改进了ZIP数据描述符解析器&#xff0c;以更好地处理与Zip64的不一致性。 .NET组件 Rebex文件服务器-适用于.NET的SFTP、SCP和SSH服务器组件。可以轻松创建可供任何SFTP…

AI 时代的学习方式: 和文档对话

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;蚂蚁集团高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《EffectiveJava》独家解析》专栏作者。 热门文章推荐…

Spring请求与响应——响应

我们上一篇文章说了请求&#xff0c;SpringMVC接收到请求和数据后&#xff0c;进行一些了的处理&#xff0c;当然这个处理可以是转发给Service&#xff0c;Service层再调用Dao层完成的&#xff0c;不管怎样&#xff0c;处理完以后&#xff0c;都需要将结果告知给用户也就是给用…

Codeium的使用

官网&#xff1a;CodeiumCodeium offers best in class AI code completion & search — all for free. It supports over 40 languages and integrates with your favorite IDEs, with lightning fast speeds and state-of-the-art suggestion quality.https://codeium.co…

数据结构_第十三关(3):归并排序、计数排序

目录 归并排序 1.基本思想&#xff1a; 2.原理图&#xff1a; 1&#xff09;分解合并 2&#xff09;数组比较和归并方法&#xff1a; 3.代码实现&#xff08;递归方式&#xff09;&#xff1a; 4.归并排序的非递归方式 原理&#xff1a; 情况1&#xff1a; 情况2&…