opencv配置安装

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

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值