久久派OpenCV环境配置
这玩意儿分两部分,一部分是编译安装用于开发板的文件,另一部分是上位机写程序用的环境。先去官网下载最新的源码。
第一部分
要用到的东西还挺多的(有些安装还要搞定包冲突):之后了解到这些包大部分都不需要装,如果是用虚拟机的话别装了,省点空间(笑)。
1 |
|
配置CMake
解压源码,在源码根目录下建一个build目录和一个install目录,在build目录中使用cmake-gui
,用于设置编译配置。按照下面这张图依次设置源码路径(opencv源码根目录)、build目录(刚刚建的build目录)、把Advance打勾(推荐把前面的Grouped也打勾、选择Generate:
选择Generate后会打开一个“CMakeSetup”窗口,选择最下面的Specify options for cross-compiling,下一步,然后会打开下图窗口:
其中重点要编辑Compilers里面的C和C++,下面的Target Root指向交叉编译工具的bin目录就行。编辑完成选择Finish。
回到主界面后找到CMAKE_EXE_LINKER_FLAGS,把它的值改为-lpthread -lrt -ldl
。再找到CMAKE_INSTALL_PREFIX,把它的值改为刚刚创建的install目录路径,这样最终文件会安装在这里,网上查资料看到如果在这里不修改CMAKE_INSTALL_PREFIX的值,最终的文件会安装在/usr/local
下。接着再找到BUILD_TESTS,取消勾选,否则会导致编译不通过。网上看到有人说还要在源码目录 /3rdparty/protobuf/src/google/protobuf/stubs/common.cc
这个文件下添加**#define HAVE_PTHREAD** 宏定义才可以编译的过,但是实测OpenCV 4.11.0不需要添加这个宏定义,添加后编译会提示重复定义。
开发板配置
配置完后在build目录下执行make
命令进行编译,编译完成后再执行make install
,就可以在install目录下找到四个目录,将四个目录丢到开发板用户目录下的opencv目录里(目录需要自己创建)。
在开发板/etc
下创建ld.so.conf.d目录,在里面创建一个opencv.conf文件,文件里面写如下内容:
1 |
|
然后终端执行ldconfig
使其生效。
第二部分
CMakeLists修改
写到这里的时候,龙邱B站刚好发了OpenCV编译教程,太逆天了(笑),顺手查了一下,六七天前它的例程库还开源了(笑),那CMakeLists就好配置了,只需要把刚刚make install
过的文件复制到工程目录里,在CMakeLists里把指定OpenCV所用头文件路径改一下就好了。
【最后编辑:2025/03/17】