OpenCV Windows VS2022 与 Ubuntu Linux C++/python OpenCV 环境搭建 RK3588/地平线 旭日3(持续更新)

OpenCV Windows11

版本信息

  1. Visual Studio 2022下载链接
  2. OpenCV 4.9.0

网上有说二者版本要匹配的,我感觉基本都安最新版是不会出错的

OpenCV安装教程链接
OpenCV下载链接

踩过的坑

Attention:创建新项目时请勿勾选下面这个选项
请添加图片描述

原因:解决方案与工程

解决方案(Solution):一个大型项目的整体的工作环境;
项目(Project)/工程:一个解决方案下的一个子项目/工程;
要设置的“属性”选项只有在“项目”中才会存在,如下图:
请添加图片描述
右击“圈1”,点击“圈2”,进入设置

生成项目模板

因为设置信息是针对项目的,所以为了便于使用,不用每次重复设置,我们要生成一个模板。
模板B站视频链接
模板部分从8分45秒开始,前面的操作也可以参考视频,不过前面我是没跟着这个视频走

这样应该可以了??吧??

Ubuntu Linux C++ OpenCV

CSDN教程链接

踩过的坑(梅开二度)

  1. Linux遇到github链接无法访问
    解决办法:在Windows端下载,用微信文件传输网页版传给Linux端。其他方法自行探索
  2. Linux在跑make -j8时死机,只能重启了
    重启方法:
  • 按下Alt+Ctrl+SysReq(PrintScr键)一秒钟,保持Alt+Ctrl按下状态,松开PrintScr键;
  • 保持按下Alt+Ctrl键的同时,依次按下reisub(也就是busier倒过来),你会发现,当你按下最后一个键的同时,电脑重启了。
  • 注意: 按下reisub时要保持Alt和Ctrl键的按下状态,另外每一个键按下的持续时间长一点,确保系统来得及反应,一次不行再试一次

后续:此处-j8指的是同时运行8进程,我的板子运行到52%就完全卡死了,后面改成-j6依然卡死,直到-j4才成功运行。我是用命令查过我板子的最大进程数的,我怀疑是因为RK3588有4大核,4小核,用小核心跑系统优化一般,容易跑崩。

  1. 这一条来自别人踩过的坑,CSDN教程链接 ,点开链接评论区会有人解释,第五步make要想不报错需要事前运行如下命令:
sudo cp -r /usr/local/include/opencv4/opencv2/ /usr/include/
  1. 一个天坑!血的教训!在这里插入图片描述
    如图,这里的cmake后面要!跟!一!个!空格和点!否则编译过程不会在当前目录下运行,也就会找不到文件。在这里感谢我的师姐,让别人帮你看看代码可能会有很大帮助!

跑C++代码流程

  1. 先在windows上写好代码,建议标注出寻址的代码,方便在移植到Linux端后寻找并修改。
  2. 将.cpp代码(目前没试过跨文件编译)和相关文件发到Linux端,新建一个文件夹
  3. 文件夹里放上main.cpp和CMakeLists.txt
# cmake needs this line
cmake_minimum_required(VERSION 3.1)

# Define project name
project(power)

# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED)

# Enable C++17
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)

# Declare the executable target built from your sources
add_executable(power main.cpp)

# Link your application with OpenCV libraries
target_link_libraries(power PRIVATE ${OpenCV_LIBS})

地平线 旭日3 Ubuntu OpenCV C++环境搭建

问题1

  • 又一次跑make -j4 的时候崩掉了,编译到92%的时候出现了“fatal error”,去搜了一下说是SWAP内存不够了。这种问题一般都没法从原理上解释,只能是顺藤摸瓜地一点点尝试。因为这个板子是4个A53的内核,鉴于在RK3588上面用更少的核编译成功,我也先试一下用make -j2是否能成。不过说实话这个编译速度就真的长到令人发指。在等待的期间我也想先看看python的OpenCV方案,到底合不合适。同时这个编译过程中如果你觉得有那个地方不太合适,其实该打断就打断好了,因为下次编译是会接着上次的进度继续的。
  • 果然,换成-j2后成功跑完。所以这样衍生出了一种快速搭环境的思路,可以先全速跑,有问题了再换少一点核心去跑,这样理论上是最快的。

传文件

  • 尝试使用SSH远程登录,利用MobaXterm传文件
  • 上MobaXterm官网下载portable版本
  • ubuntu浏览器下载慢怎么办?用windows下载后发过去
  • 我突然想到,如果用.zip发文件,不就不会被微信压缩了吗!或者用百度网盘网页版也可以。只要是浏览器支持的,有图形化界面就没有学习成本了。而且百度网盘还可以节约传文件时候在微信端的存储压力。
  • 安装百度网盘,官网提供了rpm和deb两个版本,ubuntu支持deb,但是官网只给了amd64版本。从网上找下别人转换好的arm64版本
  • 安装方法:
  1. cd到包含.deb的文件夹中
  2. sudo dpkg -i [filename]
  3. sudo apt-get -f install

vim文本编辑器用法

  • 三种模式:正常Normal、插入insert、可视化visible
  • 正常模式按iao进入插入模式
  • 正常模式按v进入可视化模式,两种特殊模式左下角会有文字提示
  • 插入和可视化模式回到正常模式,Esc一次或两次即可,取决于系统
  • 保存:w
  • 退出:q

闲暇之余琢磨一下OpenCV python

  • 因为感觉OpenCV C++ 在Ubuntu上的安装体验实在是糟糕,并且就算安好也没有一个合适的调试界面,还需要联合更多的第三方应用来使用。这样下来感觉每次来一个新板子,要想把程序跑起来的前期准备实在是太过于漫长、复杂和不确定,因此寄希望于python版OpenCV不知道有没有一站式的解决方案,可以在Linux板子上优雅地部署。

pip

教程文章

  • pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。
  • 如果已经在python.org网站下载过3.4以上的版本,则安装时已经自带pip,不需要独立安装。
  • 判断安装:可通过pip --version来判断有没有安装
  • 升级pip:
pip install -U pip
python.exe -m pip install --upgrade pip
  • Linux pip安装:
    部分发行版Linux如debian和ubuntu可以用包管理器安装:
sudo apt-get install python-pip
  • 常用pip命令:
    pip --help
    pip install SomePackage # 最新版本
    pip install SomePackage==1.0.4 # 指定版本
    pip install ‘SomePackage>=1.0.4’ # 最小版本
    注:其中的somepackage为你要安装的包名字
    pip install --upgrade SomePackage #升级包
    pip uninstall SomePackage #卸载包
    pip search SomePackage #搜索包
    pip show SomePackage #显示包信息
    pip show -f SomePackage #显示包详细信息(所有文件)
    pip list #列出已安装包
    pip list -o #查看可升级包

Numpy

教程链接

如果有用点个免费的赞叭

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值