[智能AI摄像头]RV1126移植opencv

opencv交叉编译

1:资料准备

opencv-3.4.3.zip

opencv_contrib-3.4.3.zip

boostdescetc.zip

2:opencv目录下创建一个build和install文件夹

cmake-gui选择sourcecode和build目录

点击configure

next

点击finish

出现大量红色没事,继续勾选Grouped以及Advances

接着配置一下编译选项,search框输入CMAKE_INSTALL_PREFIX,指定你的安装路径,之前建立的install文件夹

输入CMAKE_CXX_FLAG与CMAKE_CXX_FLAG_DEBUG

BUILD_opencv_world 这个灰常重要

zlib

OPENCV_EXTRA_MODULES_PATH, 指向opencv_contrib-3.4.3/modules目录

打开opencv源码的3rdparty/protobuf/src/google/protobuf/stubs/common.cc文件
在一堆#include的下面, 加入#define HAVE_PTHREAD避免编译的时候报找不到pthread错误;

之后点击configure 再点击generate

ctrl+alt+t再开一个窗口

make -j 16

错误提示

1:undefined reference to”png_init_filter_functions_neon”

解决方法:修改

/opencv-3.4.3/3rdparty/libpng/pngpriv.h

错误2:

解决办法:将boostdescetc.zip里的.i文件复制到目录opencv_contrib/modules/xfeatures2d/src/下即可

编译完成

make install

至此opencv库编译完成;

测试

新建文件test.cpp

#include <stdlib.h>

#include <iostream>

#include<opencv2/opencv.hpp>

 

using namespace std;

using namespace cv;

 

void cvTest()

{

    Mat img = imread("/opt/1080.jpg");

 

    Mat grad_x;

    Sobel(img, grad_x, CV_16S, 1, 0);

    Mat grad_y;

    Sobel(img, grad_y, CV_16S, 0, 1);

 

    Mat gradImage = abs(grad_x) + abs(grad_y);

 

    double minGrad, maxGrad;

    minMaxLoc(gradImage, &minGrad, &maxGrad);

    Mat gradImage_8U;

    gradImage.convertTo(gradImage_8U, CV_8U, 255./maxGrad);

 

    Mat thresholdedImage;//阈值化后的二值图

    threshold(gradImage_8U, thresholdedImage, 20, 255, THRESH_BINARY_INV);

 

    imwrite("gradImage_8U.jpg",gradImage_8U);

    imwrite("thresholdedImage.jpg",thresholdedImage);

 

}

 

int main()

{

    cvTest();

    return 0;

}

执行指令:

/opt/atk-dlrv1126-toolchain/bin/arm-linux-gnueabihf-g++ test.cpp -o test -fPIC -lrt -D_GNU_SOURCE -lpthread -lm -ldl -lopencv_world -I '/home/wzw/opencv_rv1126/opencv-3.4.3/install/include' -L '/home/wzw/opencv_rv1126/opencv-3.4.3/install/lib'

将test可执行文件用adb push到板端

./test

此时跳出错误

此时将opencv-3.4.3/install/lib/libopencv_world.so拷贝到板端的/usr/lib目录下

运行./test(注意一下图片的名称和路径)运行成功,如下图所示

载到pc端观看

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
针对RV1126芯片的开发,可以使用交叉编译来编译和安装OpenCV库。首先,在Ubuntu上安装RV1126的交叉编译工具链,并下载并解压OpenCV源码,然后根据需要修改arm-gnueabi.toolchain.cmake配置文件。可以根据个人需求选择不同的OpenCV版本进行下载和配置。 移植SQLite3和OpenCVRV1126开发板上是一个常见的开发任务,比如在开发人脸识别项目时可能会用到。在移植过程中,可能需要考虑一些额外的步骤和配置,具体可以参考相关的教程和文档。 总结来说,针对RV1126芯片,可以通过交叉编译来编译和安装OpenCV库,并根据需要进行一些配置和修改。同时,移植SQLite3和OpenCVRV1126开发板上也需要参考相应的教程和文档,以确保项目的顺利进行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Rockchip RV1126上实现人脸检测------blazeface](https://blog.csdn.net/u013171226/article/details/123552954)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ubuntu交叉编译opencv](https://blog.csdn.net/u013171226/article/details/120825584)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

warren@伟~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值