关于opencv,sitl仿真环境等问题报错解决

multirotor


The first day ——12.10

1.install vmware-workstation and ubuntu

  • swap sources and 换输入法

2.learn git

  • github关联远程仓库

3.install and use Typora

Git

codemeaning
mkdir test创建目录
cd test进入目录
git init初始化仓库
ls ;ls -ah查看目录
touch test.c新建项目
add添加到缓存
commit -m “words”提交到库
log提交历史
status查看仓库状态
checkout – file回到最近修改状态
rm ;rm -rf file删除
reset+checkout恢复文件
checkout -b dev创建分支+切换
merge合并
branch -a查看分支
branch -D删除分支
branch -m修改分支名
clone远程仓库关联到本地
push origin branch修改提交

The second day——12.11

1. install and learn g++

  • question 1: unable to install g++(软件包有未依赖的关系)
  • solve :swap sources;

2. c++ printf “hello world”

  • question 2 :unable to edit helloworld.cpp
  • solve :learn vim ( --,-- ; gedit is better )

  • question 3 :unable to compile and run
  • solve :learn g++ about linking cpp files

  • question 4 :push helloworld 文件夹到github 时 error: 源引用规格 helloworld 没有匹配
  • solve :创建本地仓库和分支没有add 文件

  • question 5:本地上传helloworld文件到远程github仓库后,本地修改readme上传git hub出现问题—> git pull 整合远程变更又出现问题—>偏离分支:当本地的分支落后于远程分支时,本地分支又自行修改项目文件生成了新的提交
  • solve : git config pull.rebase false # 合并 + git pull

G++

some command:
commandmeaning
-o outputfile file.cpp编译为可执行文件
-c编译为对象文件
-o outputfile file1.o file2.o链接对象文件
about .o files and .exe files:

对象文件和可执行文件的主要区别在于链接的程度:对象文件包含了部分链接的代码,而可执行文件包含了完全链接的代码。在一些大型项目中,源代码可能被分割成多个文件,然后分别编译成对象文件,最后再链接成一个可执行文件。这样的做法可以提高编译的效率,因为当某个源文件被修改时,只需要重新编译那个文件,而不需要重新编译整个项目。

g++ -o test1 hello.cpp helloworld.cpp
g++ -c hello.cpp
g++ -c helloworld.cpp
g++ -o test2 hello.o helloworld.o
g++ -o test3 hello.o helloworld.cpp
g++ -o test4 hello.cpp //wrong

vim

默认命令模式

commandmeaning
ESC命令模式
gg / G/ 5+G首行/末行/第五行
yy / p/ dd复制/粘贴/剪切
u / ctrl + r撤销/取消撤销
+i / +a编辑模式
:/ wq/ q!末行模式/保存退出/强制退出

The third day——12.12

1. install opencv

怎么会有装起来这么麻烦的东西

  1. install cmake
  2. use gedit
  3. install pkg-config
  • question 1 : 装着装着虚拟机就死机了?
  • solve : 强制重启,太智能了我直接执行下一个操作居然帮我帮上个死机没完成的操作自动执行
  • question 2 : 检验时执行 pkg-config opencv --modversion 报错
  • solve : 缺失了opencv.pc这个配置信息文件
    手动创建opencv.pc
cd /usr/local/lib
sudo mkdir pkgconfig
cd pkgconfig
sudo touch opencv.pc

添加以下信息

prefix=/usr/local
exec_prefix=${prefix}
includedir=/usr/local/include
libdir=/usr/local/libName: OpenCV
Description: Open Source Computer Vision Library
Version: 4.4.0
Libs: -L${exec_prefix}/lib -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_photo -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ml -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_flann -lopencv_xobjdetect -lopencv_imgcodecs -lopencv_objdetect -lopencv_xphoto -lopencv_imgproc -lopencv_core
Libs.private: -ldl -lm -lpthread -lrt
Cflags: -I${includedir}
  • question 3:编译时出现 fatal error :opencv2/opencv.hpp:没有那个文件或目录
  • solve : 将/usr/local/include/opencv4/opencv2扔到/usr/local/include/下

  • question 4 :上面的 solve 没有 solve
  • quesiton …
  • sovle :卸载
  • question 5 : 上面的 solve 没有solve

2. learn to use opencv and code to invoke the webcam

3.Abaut the total install of Opencv

main error

  • error 1 :检测opencv版本报错
  • solve :手动创建opencv.pc

  • error 2 : 编译fatal error :opencv2/opencv.hpp:没有那个文件或目录
  • solve :将opencv2文件夹链接到include文件夹下
sudo ln -s /usr/include/opencv4/opencv2 /usr/include/
  • error 3 :上述代码仍无法解决问题
  • solve :代码路径不准确
sudo ln -s /usr/local/include/opencv4/opencv2 /usr/local/include/

  • error 4 : 编译通过生成目标文件,不能生成链接文件 报错 no input files
  • solve :g++用法错误
g++ -o webcam.o      //wrong
g++  webcam.o -o webcam  //wright

ps:百度搜不到解决方案,还得是gpt。
这个错误通常是因为你没有在编译命令中指定要编译的源文件。例如,如果你想编译一个名为hello.cpp的源文件,你应该使用以下命令:

g++ hello.cpp -o hello

在这个命令中,hello.cpp是要编译的源文件,-o选项指定了输出文件的名称,hello是输出文件的名称。如果你在命令中没有指定要编译的源文件,编译器就会报“no input files”的错误。确保你在命令中指定了正确的源文件名,并且文件存在于当前工作目录中。


  • error 5 :g++用法正确后报错undefined reference to`cv::VideoCapture::VideoCapture(int, int)’
  • solve :链接时没有包含OpenCV库文件。要解决这个问题,需要在编译命令中包含OpenCV库文件
g++ yourfile.cpp -o yourfile `pkg-config --cflags --libs opencv`

  • error 6 :成功编译成可执行文件,但运行时报错error while loading shared libraries: libopencv_highgui.so.3.4: cannot open shared object file: No such file or directory
  • solve :有几个库找不到,用locate定位这几个库
sudo apt install mlocate
locate libopencv_highgui.so.3.4

找到后添加路径

cd /etc/ld.so.conf.d
sudo vim opencv.conf    //加入路径
sudo ldconfig

  • error 7 : 想不起来还error什么了

The forth day——12.13

//最顺利的一集

1.install anaconda

error :“conda”无法找到命令
solve :导入路径才能使用

sudo gedit ~/.bashrc
export PATH="/home/用户名/anaconda3/bin:$PATH"
source ~/.bashrc

2.create virtul environment

3.install pytorch

Conda

commandmeaning
conda env list存在的虚拟环境
conda create -n your_env_name python=x.x创建虚拟环境
conda activate your_env_nam进入虚拟环境
conda deactivate env_name退出虚拟环境
conda remove -n your_env_name --all删除虚拟环境

The fifth day to The seventhday——12.14-16


1.搭建Ardupilot开发环境

2.启动SITL

-error :运行奇慢无比
Tools/environment_install/install-prereqs-ubuntu.sh-y

solve :挂着下一个晚上,第二天重下

- error:Failed to load module
  1. TRY 1 ://fail
sudo -H pip2 install --upgrade MAVProxy pymavlink future lxml

error :-H无法找到命令与目录
solve :在sudo命令中,-H标志是用来设置HOME环境变量为目标用户的家目录。这个标志是有效的,但是在某些情况下,可能会遇到"-H: 没有那个文件或目录"的错误。这通常是因为系统中的sudoers文件配置问题导致的。
如果遇到了这个问题,可能需要检查一下系统的sudoers文件配置。可以使用visudo命令来编辑sudoers文件,确保其中包含以下内容:

Defaults env_keep += "HOME"       //failed

  1. TRY 2 ://fail
sudo pip2 install --upgrade MAVProxy pymavlink future lxml

error :pip2无法找到命令与目录
solve :

sudo apt-get install python-pip

error: If executing pip with sudo, you may want sudo’s -H flag

sudo chown root /home/gonglai/.cache/pip/http
sudo chown root /home/gonglai/.cache/pip

error :Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade
solve :


  1. TRY 3 ://fail
    From csdn:
    python几个包未安装好,需要删除后重装
pip3 uninstall MAVProxy pymavlink future lxml
sudo -H pip2 install --upgrade MAVProxy pymavlink future lxml

  1. TRY 4 ://fail
    From csdn:
    mavproxy未安装好
sudo apt-get install python3-dev python3-opencv python3-wxgtk4.0 python3-pip python3-matplotlib python3-lxml python-pygame
pip3 install PyYAML mavproxy --user
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc

  1. TRY 5 ://fail
    From csdn:
    更换python版本,旧版本的mavproxy貌似不支持python3
    添加python2到索引,并设置python2为默认的python版本
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --config python

  1. TRY 6 :
    重装
    成功

- error:·运行几次后报错

运行sim_vehicle.py --map --console出现sim_vehicle.py无法找到文件与目录
Solve:

../Tools/autotest/sim_vehicle.py --frame singlecopter --map --console

The eighth day——12.17


1.安装nvidia和cuda

//fail 虚拟机装不了一点


2.下载yolo5代码和预训练模型


3.安装anaconda后再重启SITL仿真

-error :再次无法打开consolo和map

solve :安装opencv-python,wxpython,matplotlib库

-error :安装wxpython时报错

ERROR: Could not build wheels for wxPython

TRY1 :创建python=3.8的虚拟环境安装//fail ——>
TRY2 :创建python=3.6的虚拟环境安装//fail
TRY3 :安装旧版本的wxpython//fail
TRY4 :创建python=3.9的虚拟环境安装//successful ——>

成功打开console和map


The ninth day——12.18

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

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

相关文章

华为配置OSPF与BFD联动示例

组网需求 如图1所示,SwitchA、SwitchB和SwitchC之间运行OSPF,SwitchA和SwitchB之间的交换机仅作透传功能。现在需要SwitchA和SwitchB能快速感应它们之间的链路状态,当链路SwitchA-SwitchB发生故障时,业务能快速切换到备份链路Swi…

HTML---CSS美化网页元素

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.div 标签&#xff1a; <div>是HTML中的一个常用标签&#xff0c;用于定义HTML文档中的一个区块&#xff08;或一个容器&#xff09;。它可以包含其他HTML元素&#xff0c;如文本、图像…

3.2 内容管理模块 - 课程分类、新增课程、修改课程

内容管理模块-课程分类、新增课程、修改课程 文章目录 内容管理模块-课程分类、新增课程、修改课程一、课程分类1.1 课程分类表1.2 查询树形结构1.2.1 表自连接1.2.2 SQL递归 1.3 Mapper1.4 Service1.5 Controller1.6 效果图 二、添加课程2.1 需求分析2.2 数据表2.2.1 课程基础…

嵌入式科普(5)ARM GNU Toolchain相关概念和逻辑

一、目的/概述 二、资料来源 三、逻辑和包含关系 四、Arm GNU Toolchain最常用的命令 嵌入式科普(5)ARM GNU Toolchain相关概念和逻辑 一、目的/概述 对比高集成度的IDE(MDK、IAR等)&#xff0c;Linux开发需要自己写Makefile等多种脚本。eclipse、Visual Studio等需要了解预处…

Selenium框架的使用心得(一)

最近使用selenium框架实现业务前端的UI自动化&#xff0c;在使用selenium时&#xff0c;有一些心得想要和大家分享一下~ Selenium是一款用于web应用程序测试的工具&#xff0c;常用来实现稳定业务的UI自动化。这里&#xff0c;不想对其发展历史做介绍&#xff0c;也不想用官方…

0089__一条普遍存在于嵌入式实时系统(RTOS)中的嵌套使用互斥量的bug分析

一条普遍存在于嵌入式实时系统(RTOS)中的嵌套使用互斥量的bug分析_rt_mutex_take-CSDN博客

vscode 文件目录栏缩进

一个好的开发IDE&#xff0c;一定是让人赏心悦目的&#xff0c;这个赏心悦目也一定是包含层级目录的清晰明了&#xff01;不能像感冒的鼻涕一样一擤一摊子&#xff01;就像。。。。嗯&#xff0c;算了&#xff0c;断子还是不讲了&#xff0c;怕有些妹子投诉 或发消息批评我。。…

【ppt密码】ppt的密码忘了,怎么破解

PPT文件设置了保护密码&#xff0c;但是密码忘记了&#xff0c;无法打开PPT文件、无法编辑PPT文件了该怎么办&#xff1f;PPT文件的两种保护密码该如何解密&#xff1f; 首先是打开密码 网上有一种解决方法&#xff1a; 1、重新命名PPT文件&#xff0c;将其后缀改为zip格式&…

Shell编程基础 – C语言风格的Bash for循环

Shell编程基础 – C语言风格的Bash for循环 Shell Programming Essentials - C Style For Loop in Bash By JacksonML 循环是编程语言的基本概念之一&#xff0c;同样也是Bash编程的核心。当用户需要一遍又一遍地运行一系列命令直到达到特定条件时&#xff0c;例如&#xff1…

优点和缺点(以及在求职过程中如何处理它们)

你知道你会感到紧张&#xff0c;因为你真的很想要这份工作。当人力资源人员提出这个普遍存在的问题“你的优势和劣势是什么&#xff1f;”时&#xff0c;他们在寻找什么&#xff1f; 有哪些突出的优点和缺点示例&#xff1f;您如何将这些示例个性化&#xff0c;以免听起来像人…

创建型模式 | 单例模式

一、单例模式 单例模式(Singleton Pattern)&#xff0c;使用最广泛的设计模式之一。其意图是保证一个类仅有一个实例被构造&#xff0c;并提供一个访问它的全局访问接口&#xff0c;该实例被程序的所有模块共享。 1、饿汉式 1.1、基础版本 在程序启动后立刻构造单例&#xff0…

leecode题解Golang版本-3-无重复字符最长子串

题目 无重复字符最长子串 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 题解 func lengthOfLongestSubstring(s string) int {m : make(map[uint8]int)res : 0for l, r : 0, 0; r < len(s); r {m[s[r]]if v, ok : m[s[r]]; !ok || v 1…

速盾网络:业务卓越,数字安全的领先者

在数字时代的浪潮中&#xff0c;业务成功需要强大的数字基石。速盾网络以其出色的CDN加速、高防IP、SDK游戏盾和抗DDoS攻击等业务&#xff0c;成为业界领先的数字安全保障者&#xff0c;为您的业务提供全方位的支持与保护。 CDN加速&#xff1a;业务飞跃的翅膀 速盾网络以全球…

设计模式详解---模板方法模式

1. 模板方式概念 当需要定义一个算法的框架&#xff0c;但允许具体步骤在子类中灵活实现时&#xff0c;可以使用模板方法&#xff08;Template Method&#xff09;设计模式。该模式通过定义一个模板方法以及一组抽象方法&#xff0c;将算法的结构固定&#xff0c;但具体实现延…

算法基础课-基础算法-二分查找-数的范围

lmid 需要补上加一 rmid 不需要补上加一 789. 数的范围 题目 提交记录 讨论 题解 视频讲解 给定一个按照升序排列的长度为 n&#xfffd; 的整数数组&#xff0c;以及 q&#xfffd; 个查询。 对于每个查询&#xff0c;返回一个元素 k&#xfffd; 的起始位置和终止位…

智能优化算法应用:基于世界杯算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于世界杯算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于世界杯算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.世界杯算法4.实验参数设定5.算法结果6.参考文…

小程序自定义轮播图样式

小程序自定义轮播图样式以下是各案例&#xff0c;仅供大家参考。 效果展示&#xff1a; index.wxml代码&#xff1a; <view><!-- 轮播 --><view><swiper indicator-dots"{{indicatorDots}}"autoplay"{{autoplay}}" interval"{{…

数据可视化的魅力你了解吗?

你真的了解数据可视化吗&#xff1f;它所具备的真正魅力可能远远超出我们想象。数据可视化扩展了我们对数字和信息的简单理解&#xff0c;为我们揭示了一个无限可能的世界。今天我就以可视化行业的多年工作经验出发&#xff0c;和大家简单聊聊数据可视化的魅力。 数据的故事化…

SAP ABAP EXCEL 下载模板并导入

具体参考&#xff1a; ABAP EXCEL 下载摸板 获取数据模板文件路径 FORM fm_get_filepath .DATA: lv_filename TYPE string,lv_path TYPE string,lv_fullpath TYPE string,lv_title TYPE string.co_objid ZMMRP002.CONCATENATE co_objid - sy-datum sy-uzeit INTO l…

Flink系列之:Table API Connectors之Raw Format

Flink系列之&#xff1a;Table API Connectors之Raw Format 一、Raw Format二、示例三、Format 参数四、数据类型映射 一、Raw Format Raw format 允许读写原始&#xff08;基于字节&#xff09;值作为单个列。注意: 这种格式将 null 值编码成 byte[] 类型的 null。这样在 ups…