当前位置: 首页> 科技> IT业 > 三顿半vi设计_响应式网站建设系统_aso优化师工作很赚钱吗_今日足球赛事分析推荐

三顿半vi设计_响应式网站建设系统_aso优化师工作很赚钱吗_今日足球赛事分析推荐

时间:2025/9/10 14:15:46来源:https://blog.csdn.net/weixin_43956164/article/details/143206955 浏览次数:1次
三顿半vi设计_响应式网站建设系统_aso优化师工作很赚钱吗_今日足球赛事分析推荐

背景

当需要在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.1

helloOpencv demo验证

写一个helloOpencv.cpp文件和CMakelists.txt来测试

// helloOpencv.cpp
#include <iostream>
#include <opencv2/opencv.hpp>int 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.gz
cd /放置执行文件的路径
./HelloOpencv

完成测试

关键字:三顿半vi设计_响应式网站建设系统_aso优化师工作很赚钱吗_今日足球赛事分析推荐

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: