网站设计O2O平台,新手站长做游戏网站好吗,ui网页设计实训报告,高校图书馆网站的建设方案背景
当需要在jetson xavier nx或者rk 3562等平台上开发关于视觉检测的工程时#xff0c;由于arm板子资源不足或者不能联网等原因#xff0c;通常在虚拟机上利用交叉编译器编译得到可执行程序#xff0c;然后部署到arm板上。
aarch64-opencv341交叉编译
ubuntu虚拟机中先…背景
当需要在jetson xavier nx或者rk 3562等平台上开发关于视觉检测的工程时由于arm板子资源不足或者不能联网等原因通常在虚拟机上利用交叉编译器编译得到可执行程序然后部署到arm板上。
aarch64-opencv341交叉编译
ubuntu虚拟机中先安装cmake以及cmake-gui
sudo apt-get update
sudo apt-get install cmake
sudo apt-get install cmake-gui进入gui界面选择源码地址和build地址
cmake-gui点下configure按钮弹出对话框中选择交叉编译工具链然后选择Opencv源码中platform中的交叉编译工具 然后一轮configure后会有报错可以将关于CUDA、python等的关联去掉否则可能会报缺少cuda相关库 opencv_world勾选上输出一个.so库文件 除此之外就是配置好install路径 configure和generate完成后在终端窗口中cd到opencv-build目录下分别执行make和make install完成编译和安装
make
make install将install路径下的include、bin、lib等拷贝到/usr/local/, 并修改文件夹名字为opencv-3.4.1
cp -r install/ /usr/local
mv install opencv-3.4.1helloOpencv demo验证
写一个helloOpencv.cpp文件和CMakelists.txt来测试
// helloOpencv.cpp
#include iostream
#include opencv2/opencv.hppint main() {// 创建一个名为 Hello OpenCV 的窗口
// cv::namedWindow(Hello OpenCV, cv::WINDOW_AUTOSIZE);// 加载图片确保图片路径正确cv::Mat image;image cv::imread(1.bmp, 0); // Read the fileif(!image.data) {std::cout Could not open or find the image std::endl ;return -1;}std::cout read image ok std::endl;// 显示图片//cv::imshow(Hello OpenCV, image);// 等待用户按键再退出// cv::waitKey(0);return 0;
}# CMakelists.txt
cmake_minimum_required(VERSION 3.10)project(HelloOpencv)set(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER /usr/bin/aarch64-linux-gnu-g)
#set(CMAKE_CXX_STANDARD 14)set(OPENCV_DIR /usr/local/opencv-3.4.1)
include_directories(${OPENCV_DIR}/include)add_executable(HelloOpencv helloOpencv.cpp )
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_LIST_DIR})target_link_libraries(HelloOpencv ${OPENCV_DIR}/lib/libopencv_world.so)新建一个build路径编译上述源代码
mkdir build
cd build
cmake ..
make
make install由此得到可执行文件HelloOpencv使用网线将虚拟机和开发平台连接利用ssh将文件和.so的opencv库拷贝过去值得注意的是.so的库压缩成.tar.gz之后发送到开发板上直接发送文件会丢失文件的软链接导致无法运行
# 发送文件
scp HelloOpencv root板子的ip:/板子上的路径
scp opencv341.tar.gz root板子的ip:/usr/lib
# ssh登录开发板在/usr/lib中解压库文件
ssh root板子的ip
cd /usr/lib
tar -xzvf opencv341.tar.gzcd /放置执行文件的路径
./HelloOpencv完成测试