在桌面右击打开终端,此时的路径pwd应该在home/下,或者cd home 再cd user后输入pwd此时的路径在home/user/下。这都没关系,只要在desttop同级的目录home/下即可。下面是输入指令安装。
opencv核心模块安装与编译
# 更新并安装一些工具,包括更新apt,使用apt instll 安装cmake(一个c++配置管理工具)、g++(c++的编译器)、wegt(从网上下载安装包的工具)、unzip(解压缩工具)
sudo apt update && sudo apt install -y cmake g++ wget unzip
#可以通过xxx --version.例如cmake --version,如果输出cmake的版本号说明已经正确安装了cmake。
# 下载并解压包
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
unzip opencv.zip
#使用wget从网址下载文件,并且将名字命名为opencv.zip,这一步也可以在电脑上输入网址,下载好软件包,再拷贝到jetson nano上。
# 创建构建目录,在home/user/下创建一个名称为build的文件夹
mkdir build 配置
#使用cmake构建,cmake .. 将上一级路径下的文件按照cmakelists.txt文件夹构建好文件,生成的文件放在当前目录下。
cmake ../opencv-master
# 编译,由于jetson nano为4核,所以为-j4,编译是指将camke生成的makefile文件夹编译成一个可执行文件,并放在当前目录
make -j4
opencv-contrib构建与编译
# 下载并解压包,这一步同上面一样,需要在桌面打开终端,即路径为home/user下面
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip
unzip opencv_contrib.zip
# 创建并进入编译目录,由于上一步已经创建了build文件,所以 madir -p build的意思是,如果build存在则不用重新创建
mkdir -p build && cd build
# 配置
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../opencv-master
# 编译
make -j4
到这里opencv(c++)在jetson nano上的环境构建完了,下载的两个包在同一级目录下,编译的文件放在了同一个build文件夹下面。
安装
在build文件夹下面打开终端,输入:
sudo make install
到这里opencv c++的环境安装成功了
测试demo
简单地用Canny边缘检测算子来验证OpenCV的安装是否成功。
创建一个文件夹并且进入(在桌面上右击终端创建即可)
mkdir demo && cd demo
在demo文件夹下创建一个CMmakeLists.txt文件,并且写入以下内容:
cmake_minimum_required(VERSION 2.8)//说明cmake要求的最低版本
project( demo )//项目名称
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( demo demo.cpp )//添加可执行文件
target_link_libraries( demo ${OpenCV_LIBS} )
在demo文件夹下创建一个demo.cpp文件,并写下一下内容:
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv){
Mat img = imread("./demo.jpg");
Mat DstPic, edge, grayImage;
DstPic.create(img.size(), img.type());
cvtColor(img, grayImage, COLOR_BGR2GRAY);
blur(grayImage, edge, Size(3, 3));
//运行canny算子
Canny(edge, edge, 3, 4, 3);
imwrite("Canny.jpg", edge);
}
创建构造文件夹,并进入
mkdir build && cd build
配置(根据CMakeLists.txt来配置)
cmake .. //配置上一个文件目录下的文件,并且将生成文件放在当前文件夹下
编译
make
执行可执行文件
./demo
可以看到边缘图像表示成功了!opencv-c++环境配置成功!