【詳解】RV1106移植opencv-mobile庫


文章目錄

  • 前言
  • 一、燒入鏡像
  • 二、編譯項目
    • 1.創建項目文件
  • 三、移植
  • 四、運行文件
  • 五、總結


前言

硬件:瑞芯微Rv1106【Luckfox Pro\Max Pico、網線一根、USB線、串口助手、攝像頭
軟件:ubuntu 20.4
編譯器:arm-rockchip830-linux-uclibcgnueabihf
opencv包:本文主要是使用nihui
開發板使用鏡像:buildroot
在這里插入圖片描述

一、燒入鏡像

具體燒入方法

1.打開SocToolKit.exe工具、并且選擇RV1106芯片

2.首先先按著板子的boot按鍵

3.再用usb連接好電腦和開發板【遇到過不能傳輸的情況,檢查usb線是不是只有充電,而不能傳輸數據】

4.等軟件識別到板子之后,把對應的鏡像文件燒入

二、編譯項目

1.創建項目文件

在這里插入圖片描述
在這里插入圖片描述
代碼如下

set(CMAKE_C_COMPILER "/home/wj/toolchain/Linux/RV1106/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc")
set(CMAKE_CXX_COMPILER "/home/wj/toolchain/Linux/RV1106/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++")project(opencv-mobile-test)
cmake_minimum_required(VERSION 3.5)
set(CMAKE_CXX_STANDARD 11)set(OpenCV_DIR "${CMAKE_CURRENT_SOURCE_DIR}/opencv-mobile-4.8.1-luckfox-pico/lib/cmake/opencv4")
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})add_executable(opencv-mobile-test main.cpp)target_link_libraries(opencv-mobile-test ${OpenCV_LIBS})

在這里插入圖片描述

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>#include <unistd.h>   // sleep()int main()
{cv::VideoCapture cap;cap.set(cv::CAP_PROP_FRAME_WIDTH, 320);cap.set(cv::CAP_PROP_FRAME_HEIGHT, 240);cap.open(0);const int w = cap.get(cv::CAP_PROP_FRAME_WIDTH);const int h = cap.get(cv::CAP_PROP_FRAME_HEIGHT);fprintf(stderr, "%d x %d\n", w, h);cv::Mat bgr[9];for (int i = 0; i < 9; i++){cap >> bgr[i];sleep(1);}cap.release();// combine into big image{cv::Mat out(h * 3, w * 3, CV_8UC3);bgr[0].copyTo(out(cv::Rect(0, 0, w, h)));bgr[1].copyTo(out(cv::Rect(w, 0, w, h)));bgr[2].copyTo(out(cv::Rect(w * 2, 0, w, h)));bgr[3].copyTo(out(cv::Rect(0, h, w, h)));bgr[4].copyTo(out(cv::Rect(w, h, w, h)));bgr[5].copyTo(out(cv::Rect(w * 2, h, w, h)));bgr[6].copyTo(out(cv::Rect(0, h * 2, w, h)));bgr[7].copyTo(out(cv::Rect(w, h * 2, w, h)));bgr[8].copyTo(out(cv::Rect(w * 2, h * 2, w, h)));cv::imwrite("out.jpg", out);}return 0;
}

在這里插入圖片描述
編譯完成之后會出現一個可執行文件:
在這里插入圖片描述

三、移植

將網線連接開發板,并且確保開發板和本地電腦ubuntu處于同一網段內,我的
在這里插入圖片描述
在電腦ubantu上使用scp傳輸編譯處理的可執行文件opencv-mobile-test

sudo scp -r opencv-mobile-test/ root@192.168.104.114:/root/

可能會遇到的報錯:Permission denied (publickey).lost connection
解決辦法:sudo vi /etc/ssh/sshd_config
在這里插入圖片描述
傳輸成功之后,板子上首先進入root權限 su root,輸入賬號root,密碼root。
進入到root/目錄,然后將攝像頭插在板子上【注意連接處不要插反】。

四、運行文件

1.開發板連接攝像頭后上電,啟動后釋放攝像頭資源:

killall rkipc

在這里插入圖片描述

2.運行程序

./opencv-mobile-test

在這里插入圖片描述
可能遇到的問題:【鏡像如果不是我上面的,應該有問題,我測試了aplinelinx和ubuntu鏡像,結果都是輸出以下結果,使用chmod +x ./opencv-mobile-test,也不能正常加載,可能測試的時候有其他問題】
在這里插入圖片描述
解決方法:換成我推薦的鏡像文件

3.輸出結果
在這里插入圖片描述
為了很好的可視化輸出結果,將out.jpg發送到本地ubuntu上,使用命令:【注意替換自己IP和地址】
scp out.jpg wj@192.168.104.118:/home/wj/Desktop
在這里插入圖片描述

五、總結

先完成opencv的移植,后續使用rknpu去實時推理攝像頭圖像

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/38869.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/38869.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/38869.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

人工智能——常用數學基礎之線代中的矩陣

1. 矩陣的本質&#xff1a; 矩陣本質上是一種數學結構&#xff0c;它由按照特定規則排列的數字組成&#xff0c;通常被表示為一個二維數組。矩陣可以用于描述一組數據&#xff0c;或者表示某種關系&#xff0c;比如線性變換。 在人工智能中&#xff0c;矩陣常被用來表示數據集…

【單片機與嵌入式】stm32串口通信入門

一、串口通信/協議 &#xff08;一&#xff09;串口通信簡介 串口通信是一種通過串行傳輸方式在電子設備之間進行數據交換的通信方式。它通常涉及兩條線&#xff08;一條用于發送數據&#xff0c;一條用于接收數據&#xff09;&#xff0c;適用于各種設備&#xff0c;從微控制…

Spring中利用重載與靜態分派

Spring中利用重載與靜態分派 在Java和Spring框架中&#xff0c;重載&#xff08;Overloading&#xff09;和靜態分派&#xff08;Static Dispatch&#xff09;是兩個非常重要的概念&#xff0c;它們在處理類方法選擇和執行過程中扮演著關鍵角色。本文旨在深入探討Spring環境下…

入選頂會ICML,清華AIR等聯合發布蛋白質語言模型ESM-AA,超越傳統SOTA

作為細胞內無數生化反應的驅動力&#xff0c;蛋白質在細胞微觀世界中扮演著建筑師和工程師的角色&#xff0c;不僅催化著生命活動&#xff0c;更是構筑、維系生物體形態與功能的基礎構件。正是蛋白質之間的互動、協同作用&#xff0c;支撐起了生命的宏偉藍圖。 然而&#xff0…

Ubuntu DNS服務配置 深度解析

測試方法 resolvectl status dig alidns.com 修改實踐 直接用接口配置&#xff0c;沒用 /etc/resolv.conf&#xff0c;有效 /etc/netplan/01-network-manager-all.yaml,無效 /etc/systemd/resolved.conf&#xff0c;見link&#xff0c;為全局配置 [Resolve] DNS1.1.1.1 Fa…

Adobe Premiere 視頻編輯軟件下載安裝,pr全系列分享 輕松編輯視頻

Adobe Premiere&#xff0c;自其誕生之日起&#xff0c;便以其卓越的性能和出色的表現&#xff0c;穩坐視頻編輯領域的王者寶座&#xff0c;贏得了無數專業編輯人員與廣大愛好者的青睞。這款強大的視頻編輯軟件&#xff0c;憑借其豐富的功能和靈活的操作性&#xff0c;為用戶提…

2024年道路運輸安全員(企業管理人員)備考題庫資料。

46.危險貨物道路運輸隨車攜帶的單據&#xff0c;下列選項不屬于的是&#xff08;&#xff09;。 A.道路運輸危險貨物安全卡 B.運單或者電子運單 C.道路危險貨物運輸從業資格證 D.車輛檢測報告 答案&#xff1a;D 47.危險貨物運輸駕駛人員在24小時內實際駕駛車輛時間累計不…

ROS2在rviz2中實時顯示軌跡和點

本文是將《ROS在rviz中實時顯示軌跡和點》博客中rviz軌跡顯示轉為ROS2環境中的rviz2顯示。 ros2的工作空間創建這里就不展示了。 包的創建 ros2 pkg create --build-type ament_cmake showpath --dependencies rclcpp nav_msgs geometry_msgs tf2_geometry_msgsshowpath.cpp…

Windows批處理入門:快速掌握批處理腳本的基本技巧

一、前言 在Windows操作系統中&#xff0c;批處理文件&#xff08;Batch File&#xff09;是一種非常實用的工具&#xff0c;它允許用戶通過簡單的命令行腳本來自動化各種任務。無論是系統管理員、開發人員&#xff0c;還是普通用戶&#xff0c;掌握批處理文件的基本知識都能極…

【漏洞復現】和豐多媒體信息發布系統 QH.aspx 任意文件上傳漏洞

0x01 產品簡介 和豐多媒體信息發布系統也稱數字標牌&#xff08;Digital Signage&#xff09;&#xff0c;是指通過大屏幕終端顯示設備&#xff0c;發布商業、財經和娛樂信息的多媒體專業視聽系統&#xff0c;常被稱為除紙張媒體、電臺、電視、互聯網之外的“第五媒體”。該系…

Ansible如何控制playbook的執行順序

對 Ansible 劇本資源打標簽 在處理大型或復雜的劇本時,如果只希望運行部分劇本或部分任務。可以將標簽應用于可能要跳過或運行的特定資源。 通過標簽來標記資源,在資源上使用tags關鍵字,然后是要應用的標記列表。在Ansible中tags標記可用于下列資源&#xff1a; 每個任務,這…

1-4.時間序列數據建模流程范例

文章最前&#xff1a; 我是Octopus&#xff0c;這個名字來源于我的中文名–章魚&#xff1b;我熱愛編程、熱愛算法、熱愛開源。所有源碼在我的個人github &#xff1b;這博客是記錄我學習的點點滴滴&#xff0c;如果您對 Python、Java、AI、算法有興趣&#xff0c;可以關注我的…

信息學奧賽初賽天天練-41-CSP-J2021基礎題-n個數取最大、樹的邊數、遞歸、遞推、深度優先搜索應用

PDF文檔公眾號回復關鍵字:20240701 2021 CSP-J 選擇題 單項選擇題&#xff08;共15題&#xff0c;每題2分&#xff0c;共計30分&#xff1a;每題有且僅有一個正確選項&#xff09; 4.以比較作為基本運算&#xff0c;在N個數中找出最大數&#xff0c;最壞情況下所需要的最少比…

我在中東做MCN,月賺10萬美金

圖片&#xff5c;Photo by Ben Koorengevel on Unsplash ©自象限原創 作者丨程心 在迪拜購物中心和世界最高建筑哈利法塔旁的主街上&#xff0c;徐晉已經“蹲”了三個小時&#xff0c;每當遇到穿著時髦的年輕男女&#xff0c;他都會上前詢問&#xff0c;有沒有意愿成為…

【計算機網絡】常見的網絡通信協議

目錄 1. TCP/IP協議 2. HTTP協議 3. FTP協議 4. SMTP協議 5. POP3協議 6. IMAP協議 7. DNS協議 8. DHCP協議 9. SSH協議 10. SSL/TLS協議 11. SNMP協議 12. NTP協議 13. VoIP協議 14. WebSocket協議 15. BGP協議 16. OSPF協議 17. RIP協議 18. ICMP協議 1…

網頁自動化測試開發中記錄pytest

1切換cmd文件目錄C:\Users\14600>D: D:\>cd D:\worksoftware D:\worksoftware>2單個py文件打包成.exe文件1.pyinstaller -F -c (項目主文件)test_01shouye.py 該路徑下存在文件名&#xff0c;主項目文件 test_01shouye.py 2.執行spec文件&#xff1a; pyinstaller -F …

C語言部分復習筆記

1. 指針和數組 數組指針 和 指針數組 int* p1[10]; // 指針數組int (*p2)[10]; // 數組指針 因為 [] 的優先級比 * 高&#xff0c;p先和 [] 結合說明p是一個數組&#xff0c;p先和*結合說明p是一個指針 括號保證p先和*結合&#xff0c;說明p是一個指針變量&#xff0c;然后指…

Web2Code :網頁理解和代碼生成能力的評估框架

多模態大型語言模型&#xff08;MLLMs&#xff09;在過去幾年中取得了爆炸性的增長。利用大型語言模型&#xff08;LLMs&#xff09;中豐富的常識知識&#xff0c;MLLMs在處理和推理各種模態&#xff08;如圖像、視頻和音頻&#xff09;方面表現出色&#xff0c;涵蓋了識別、推…

系統中非功能性需求的思考

概要 設計系統時不僅要考慮功能性需求&#xff0c;還要考慮一些非功能性需求&#xff0c;比如&#xff1a; 擴展性可靠性和冗余安全和隱私服務依賴SLA要求 下面對這5項需要考慮的事項做個簡單的說明 1. 可擴展性 數據量增長如何擴展&#xff1f; 流量增長如何擴展&#xf…

【LLM教程-llama】如何Fine Tuning大語言模型?

今天給大家帶來了一篇超級詳細的教程,手把手教你如何對大語言模型進行微調(Fine Tuning)&#xff01;&#xff08;代碼和詳細解釋放在后文&#xff09; 目錄 大語言模型進行微調(Fine Tuning)需要哪些步驟&#xff1f; 大語言模型進行微調(Fine Tuning)訓練過程及代碼 大語言…