opencv配置安装

news/2024/4/24 21:40:38/

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.ppmy.cn/news/47386.html

相关文章

cephadm bootstrap命令使用

运行引导程序命令 运行命令&#xff1a;ceph bootstrap cephadm bootstrap --mon-ip *<mon-ip>*此命令将&#xff1a; 在本地为新集群创建监视器和管理器守护程序 主机。 为 Ceph 集群生成新的 SSH 密钥并将其添加到根目录 用户的文件。/root/.ssh/authorized_keys …

PHP 7 教程_编程入门自学教程_菜鸟教程-免费教程分享

教程简介 PHP7入门教程 - 从简单的步骤了解PHP 7&#xff0c;从基本到高级概念&#xff0c;包括简介&#xff0c;性能&#xff0c;环境设置&#xff0c;标量类型声明&#xff0c;返回类型声明&#xff0c;空值合并运算符&#xff0c;Spaceship运算符&#xff0c;常量数组&…

“成功学大师”杨涛鸣被抓

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 4月15日&#xff0c;号称帮助一百多位草根开上劳斯莱斯&#xff0c;“成功学大师”杨涛鸣机其团队30多人已被刑事拘留&#xff0c;培训课程涉嫌精神传销&#xff0c;警方以诈骗案进行立案调查。 …

国产什么牌子的蓝牙耳机音质好?国产适合听音乐的蓝牙耳机推荐

现如今&#xff0c;蓝牙耳机的性能越来越多&#xff0c;一款蓝牙耳机不可能将各种性能做到极致。大家在选择蓝牙耳机时&#xff0c;无外乎从佩戴、音质、降噪、延迟等因素出发&#xff0c;那么&#xff0c;国产什么牌子的蓝牙耳机音质好&#xff1f;根据这个问题&#xff0c;我…

蓝桥 卷“兔”来袭编程竞赛专场-09凯撒加密 题解

赛题介绍 挑战介绍 恺撒密码也称恺撒加密、恺撒变换、变换加密&#xff0c;是一种最简单且最广为人知的加密技术。采用的是替换方法对信息中的英文字符循环替换为字母表序列中该字符后面或前面的第 N 个字符。例如当 N 2 时&#xff0c;所有的字母 A 都会被替换成 C&#…

【ARMv8 编程】A64 数据处理指令——位域字节操作指令

有些指令将字节、半字或字扩展到寄存器大小&#xff0c;可以是 X 或 W。这些指令存在于有符号&#xff08;SXTB、SXTH、SXTW&#xff09;和无符号&#xff08;UXTB、UXTH&#xff09;变体中&#xff0c;并且是适当的位域操作指令。 这些指令的有符号和无符号变体都将字节、半字…

【我的创作纪念日—5周年】

序言 用心生活&#xff0c;用力向上&#xff0c;微笑前行&#xff0c;就是对生活最好的回馈。 机缘 最开始写文章&#xff0c;没想那么多&#xff0c;主要是记录一下&#xff0c;就随便写了下&#xff0c;后来认识了一些写文章的小伙伴&#xff0c;在和他们的沟通中越来越体会到…

Qt Quick - FileDialog文件对话框

FileDialog文件对话框使用总结 一、概述二、使用三、常用属性四、常用例子1. 单选打开文本文件2. 单选保存文本文件 一、概述 FileDialog提供了一个基本的文件选择器的功能&#xff1a;它允许用户选择现有的文件或目录&#xff0c;或者创建新的文件名。 对话框最初是不可见的…

wifi/BT芯片RTL8723DS驱动移植和测试之二蓝牙篇

目录 1、根文件系统添加库和蓝牙工具 2、内核配置 &#xff08;1&#xff09;自带串口驱动不可选 &#xff08;2&#xff09;增加RFCOMM和ble的支持 &#xff08;3&#xff09;User level driver support &#xff08;4&#xff09;HID driver 3、测试 4、报错说明 &a…

艾瑞报告:预计2023年家用智能照明市场规模过百亿,Yeelight易来引领行业发展

照明是家居的主要部分&#xff0c;以智能化控制技术光环境设计为核心的智能照明成为智能家居重要的子系统与子应用&#xff0c;智能照明通过精准的设计&#xff0c;将单品链接成系统&#xff0c;通过算法和云平台实现智能化&#xff0c;针对不同的空间适配不同的灯光&#xff0…

面试被经常问的SQL窗口函数

面试题 有一张“学生成绩表”&#xff0c;包含4个字段&#xff1a;班级id、学生id、课程id、成绩。 问题1&#xff1a; 求出每个学生成绩最高的三条记录 问题2&#xff1a; 找出每门课程都高于班级课程平均分的学生 技术提升 技术要学会分享、交流&#xff0c;不建议闭门造…

书写我的人生回忆录-这应该是给父母最好的礼物

作为一个业余的软件开发爱好者&#xff0c;我又捣鼓了一个有意思的小东西 &#xff0c;使用完全免费哈 《书写我的人生回忆录》是一款软件&#xff0c;其中包含70个问题&#xff0c;涵盖了父母的个人喜好、家庭、工作、人生经历和态度等方面。通过回答这些问题&#xff0c;您的…

使用Cubic 自定义 Ubuntu Live ISO

使用Cubic 自定义 Ubuntu Live ISO 需要使用原始镜像文件&#xff0c;比如使用 systemback 备份系统生成的 ISO 有时候 systemback 生成的 ISO 无法启动&#xff0c;可以用 Cubic 修复 使用 Cubic 安装 sudo apt-add-repository ppa:cubic-wizard/release sudo apt-key ad…

java 线程唤醒于阻塞的常用方法

1.分类描述 1.sleep() 休眠2.suspend() 暂停和 resume() 继续3.yield() 让步 就是我放弃本次执行&#xff0c;但继续排队&#xff0c;下一次有机会在执行。 4.wait() 和 notify() notifyAll() 注&#xff1a;这两个方法&#xff0c;属于Object类&#xff0c;而不属于Thread…

启动 Ethereum(上海) 主网全节点

问题描述 采用最新的geth版本之后&#xff0c;按照之前的方法启动geth主网节点会出现如下问题&#xff1a; Post-merge network, but no beacon client seen. Please launch one to follow the chain!问题原因 The above message is emitted when Geth is run without a conse…

在Windows10中安装WSL2(Ubuntu 22.04.2 LTS)

WSL1 和 WSL2 WSL 1 于 2016 首次发布&#xff0c;在 windows 系统中可以使用linux系统。 但是WSL1的缺点有&#xff1a; 文件 I/O 慢&#xff0c;尤其是在大量IO操作时&#xff0c;例如使用 git 克隆仓库&#xff1b;不支持内核程序&#xff1b; WSL 2 针对以上两个缺点进…

Tc2xx知识点(二) :AURIX单片机基础概念记录

目录 1、概述 2、通用寄存器文件 3、Overlay 4、cache 5、英飞凌Tc275的Eray 6、内存分析(手册)

MyBatis核心配置文件详解

<?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><environments default"…

3.0、Java继承与多态 - 构造方法的访问特点

3.0、Java继承与多态 - 构造方法的访问特点 在继承关系中&#xff0c;父类构造方法的访问特点&#xff1a; 1、子类构造方法当中有一个默认隐含的 super(); 调用&#xff0c;所以一定是先调用父类构造&#xff0c;然后再去执行子类构造&#xff1b; 2、子类构造可以通过 supe…

中文翻译英语转换器-怎么把wps表格里的英文翻译成中文

对于那些需要频繁地进行中英互译的用户来说&#xff0c;字数限制是一个常见的问题。很多翻译软件经常会限制每次翻译的字数&#xff0c;导致用户翻译工作的效率和质量无法得到保证。如果您正在遭受这些限制&#xff0c;中英互译字数无限的软件将让您的翻译工作变得更加便捷和高…