1)下载
Releases · opencv/opencv · GitHub
下载一个版本,传上去。
解压,因为只要最基本的功能,所以不需要ctri等包。
2)
一些选项
cmake .. -D<选项名1>=<设定值1> -D<选项名2>=<设定值2>
这个命令中的「..」表示 CMakeLists.txt 文件所在的路径位于 build 的上级目录。CMake 执行生成时会生成许多辅助文件(主要是 Makefile),为了不让这些文件搞乱工程的根目录,所以通常都会在工程目录下建立一个 「build」子目录,在该子目录中执行 cmake 命令,所有的辅助文件就会存放在这里。
命令的后面(全部放在「..」前也可以)是所有生成选项的设定。这里对最常用的一些选项进行整理和说明:
- CMAKE_BUILD_TYPE=Release:不在行成的库文件中包含调试信息,并进行速度优化。如果指定为 Debug ,就可以在 Debug 过程中进入 OpenCV 内部的代码,但运行速度会略微下降。
- CMAKE_VERBOSE_MAKEFILE=ON:务必开启,以便于发现编译中出现的问题。
- CMAKE_INSTALL_PREFIX=/usr/local:指定 OpenCV 生成的库文件在系统中的安装路径。
- BUILD_SHARED_LIBS=ON:成共享库(.so),如果置为 OFF 则只会生成静态库(.a)
- OPENCV_EXTRA_MODULES_PATH=<opencv-contrib 目录>,按之前的描述,应为 「../../opencv_contrib-4.3.1」。可以用 ls 命令确认相对路径是否存在。
- OPENCV_ENABLE_NONFREE=ON:如果置为OFF,一些包含专利保护算法的函数将不会生成。
- ENABLE_CXX11=ON:支持 C++11 以上的语法和 STL 库。
- BUILD_TESTS=OFF,BUILD_PERF_TESTS=OFF:关闭生成后的自我 TEST ,大多数情况没有必要,可大辐缩短生成时间。但如果怀疑生成的 OpenCV 库有问题,可以进行自测。
- OPENCV_GENERATE_PKGCONFIG=ON:建议开启,便于 C++ 程序通过 pkg-config 来引用 OpenCV 库。
- WITH_CUDA=ON,ENABLE_FAST_MATH=ON,CUDA_FAST_MATH=ON,WITH_CUBLAS=ON:如果系统正确安装了 CUDA 并希望 OpenCV 启用 CUDA 支持,这四个选项都要打开。
- WITH_IPP=ON,WITH_TBB=ON,WITH_OPENMP=ON,WITH_PTHREADS_PF=ON:这四个选项控制 OpenCV 如何进行并发运算,默认都是 ON,但如果有需要生成一个绝对单线程运行的 OpenCV ,请将这几个选项均置为 OFF 。
3)CMAKE_INSTALL_PREFIX=XXX
这个记得设定当前目录,因为没有root权限
cmake .. -D<选项名1>=<设定值1> -D<选项名2>=<设定值2>
4)
mkdir build install
cmake .. -D CMAKE_INSTALL_PREFIX=../install
make j20
ls得到
bin include lib share
5)
./opencv_version
4.7.0
安装起来不费力
可见目前天津新一代超算上的生态环境还是比较完善
6)
报错:ModuleNotFoundError: No module named 'cv2'
参考这个不知道行不行,还是必须得安装
opencv-python?
没有网确实麻烦