OpenCV Windows11
版本信息
- Visual Studio 2022下载链接
- OpenCV 4.9.0
网上有说二者版本要匹配的,我感觉基本都安最新版是不会出错的
踩过的坑
Attention:创建新项目时请勿勾选下面这个选项
原因:解决方案与工程
解决方案(Solution):一个大型项目的整体的工作环境;
项目(Project)/工程:一个解决方案下的一个子项目/工程;
要设置的“属性”选项只有在“项目”中才会存在,如下图:
右击“圈1”,点击“圈2”,进入设置
生成项目模板
因为设置信息是针对项目的,所以为了便于使用,不用每次重复设置,我们要生成一个模板。
模板B站视频链接
模板部分从8分45秒开始,前面的操作也可以参考视频,不过前面我是没跟着这个视频走
这样应该可以了??吧??
Ubuntu Linux C++ OpenCV
踩过的坑(梅开二度)
- Linux遇到github链接无法访问
解决办法:在Windows端下载,用微信文件传输网页版传给Linux端。其他方法自行探索 - 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小核,用小核心跑系统优化一般,容易跑崩。
- 这一条来自别人踩过的坑,优快云教程链接 ,点开链接评论区会有人解释,第五步make要想不报错需要事前运行如下命令:
sudo cp -r /usr/local/include/opencv4/opencv2/ /usr/include/
- 一个天坑!血的教训!
如图,这里的cmake后面要!跟!一!个!空格和点!否则编译过程不会在当前目录下运行,也就会找不到文件。在这里感谢我的师姐,让别人帮你看看代码可能会有很大帮助!
跑C++代码流程
- 先在windows上写好代码,建议标注出寻址的代码,方便在移植到Linux端后寻找并修改。
- 将.cpp代码(目前没试过跨文件编译)和相关文件发到Linux端,新建一个文件夹
- 文件夹里放上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版本
- 安装方法:
cd
到包含.deb的文件夹中sudo dpkg -i [filename]
sudo apt-get -f install
vim文本编辑器用法
- 三种模式:正常Normal、插入insert、可视化visible
- 正常模式按i或a或o进入插入模式
- 正常模式按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 #查看可升级包