在之前發(fā)布的文章中探討了交叉編譯OpenCV并部署至嵌入式系統(tǒng)的方法。然而,在調試階段,我們發(fā)現(xiàn)在 Ubuntu 環(huán)境下將 OpenCV 編譯為 X86 架構可能更加方便和高效。
通過在主機上編譯并使用X86架構的OpenCV庫,利用主機的強大計算性能和豐富的調試工具,可以加速開發(fā)進程并簡化調試環(huán)節(jié)。下面就跟小伙伴詳細講述如何在Ubuntu環(huán)境下將 OpenCV 編譯為 X86 架構。
開發(fā)環(huán)境:Ubuntu18.04
OpenCV版本:OpenCV3.4.1
一、獲取Opencv源碼
從OpenCV官網(wǎng)下載OpenCV源碼(opencv.org/releases/page/5/)
二、搭建OpenCV的編譯環(huán)境
(1)在自己的目錄下新建一個OpenCV目錄:
elf@ubuntu:~/work$ mkdir opencv
(2)拷貝OpenCV源碼到OpenCV目錄下:
elf@ubuntu:~/work$ cp opencv-3.4.1.tar.gz opencv/ elf@ubuntu:~/work/opencv$ cd opencv/ elf@ubuntu:~/work/opencv$ ls opencv-3.4.1.tar.gz
(3)解壓opencv-3.4.1.tar.gz 源碼包:
elf@ubuntu:~/work/opencv$ tar xvf opencv-3.4.1.tar.gz elf@ubuntu:~/work/opencv$ ls opencv-3.4.1 opencv-3.4.1.tar.gz
(4)在opencv目錄下新建兩個文件夾:
elf@ubuntu:~/work/opencv$ cd opencv-3.4.1/ elf@ubuntu:~/work/opencv/opencv-3.4.1$ mkdir build elf@ubuntu:~/work/opencv/opencv-3.4.1$ mkdir install build:是構建目錄。 install:是安裝目錄。
(5)安裝CMake和cmake-gui工具和依賴庫:
elf@ubuntu:~/work/opencv$ sudo apt-get install build-essential elf@ubuntu:~/work/opencv$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev elf@ubuntu:~/work/opencv$ sudo apt-get install cmake cmake-qt-gui cmake-curses-gui
(6)進入build目錄下執(zhí)行 cmake-gui
elf@ubuntu:~/work/opencv/opencv-3.4.1$ cd build/ elf@ubuntu:~/work/opencv/opencv-3.4.1/build$ cmake-gui
會出現(xiàn)cmake配置界面。如下圖所示:

(7)配置CMake工具:
指定OpenCV源碼所在的路徑和構建目錄,然后勾選 Advanced,最后點擊 Generate。如下圖所示:

選擇 Unix Makefiles,然后選擇 Use default native compilers。如下圖所示:

點擊Finish,完成后的界面如下圖所示:

點擊CMAKE。如下圖所示:

在CMAKE_BUILD_TYPE值處輸入RELEASE,然后在CMAKE_INSTALL_PREFIX處指定安裝目錄,上面已經(jīng)新建了 install 安裝目錄,直接指定到該目錄即可。如果不指定,它會默認安裝到Ubuntu系統(tǒng)目錄/usr/local目錄下。

至此配置完成,點擊 Configure,再點擊Generate生成Makefile等文件。完成后的界面如下圖所示:

三、編譯OpenCV源碼
修改完成后,返回build目錄下,可以看到 bulid 目錄下已經(jīng)準備了構建文件。直接make 構建即可。
elf@ubuntu:~/work/opencv/opencv-3.4.1/build$ make
編譯完成后,用make install安裝生成的二進制文件或庫文件到前面指定的路徑下。
elf@ubuntu:~/work/opencv/opencv-3.4.1/build$ make install elf@ubuntu:~/work/opencv/opencv-3.4.1/build$ ls ../install/ bin include lib share
以上就完成了在Ubuntu環(huán)境下編譯X86架構的OpenCV,這為快速迭代產品、優(yōu)化算法提供了堅實的支撐。希望本篇指南能成為各位小伙伴在嵌入式技術探索之旅上的得力助手。如果您在實踐過程中遇到任何問題,歡迎留言交流。
-
單片機
+關注
關注
6057文章
44811瀏覽量
644310 -
嵌入式
+關注
關注
5122文章
19424瀏覽量
312802 -
嵌入式開發(fā)板
+關注
關注
5文章
88瀏覽量
19030
發(fā)布評論請先 登錄
相關推薦
Ubuntu系統(tǒng)下編譯OpenCV4.8源碼記錄

ElfBoard技術貼|如何將libwebsockets庫編譯為x86架構

嵌入式學習-ElfBoard ELF 1板卡-移植openssl
飛凌嵌入式ElfBoard ELF 1板卡-i.MX6ULL交叉編譯freetype字體引擎庫
嵌入式學習-飛凌ElfBoard ELF 1板卡 - 如何在Ubuntu中編譯OpenCV庫
I.MX6ULL-飛凌 ElfBoard ELF1板卡 - 如何在Ubuntu中編譯OpenCV庫(X86架構)
飛凌嵌入式ElfBoard ELF 1板卡-內核編譯之初次編譯
【OK210試用體驗】之(七)—— 交叉編譯和移植OpenCV 2.4.9 (2)
在Ubuntu下交叉編譯opencv以生成ARM版本的opencv時遇到一些問題
Tina下運行在Ubuntu中交叉編譯的Opencv 4.5.1
opencv庫直接在RK3588開發(fā)板上進行編譯
opencv編譯安裝筆記(Linux、Ubuntu )

RK3568上OpenCV 的編譯移植
ELF 1技術貼|如何移植OpenCV

評論