• 正文
  • 推薦器件
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

ELF 1技術(shù)貼 | 如何在Ubuntu中編譯OpenCV庫(kù)

2024/05/31
1514
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

在之前發(fā)布的文章中探討了交叉編譯OpenCV并部署至嵌入式系統(tǒng)的方法。然而,在調(diào)試階段,我們發(fā)現(xiàn)在 Ubuntu 環(huán)境下將 OpenCV 編譯為 X86 架構(gòu)可能更加方便和高效。

通過(guò)在主機(jī)上編譯并使用X86架構(gòu)的OpenCV庫(kù),利用主機(jī)的強(qiáng)大計(jì)算性能和豐富的調(diào)試工具,可以加速開(kāi)發(fā)進(jìn)程并簡(jiǎn)化調(diào)試環(huán)節(jié)。下面就跟小伙伴詳細(xì)講述如何在Ubuntu環(huán)境下將 OpenCV 編譯為 X86 架構(gòu)。

開(kāi)發(fā)環(huán)境:Ubuntu18.04

OpenCV版本:OpenCV3.4.1

一、獲取Opencv源碼

從OpenCV官網(wǎng)下載OpenCV源碼(opencv.org/releases/page/5/)

二、搭建OpenCV的編譯環(huán)境

(1)在自己的目錄下新建一個(gè)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目錄下新建兩個(gè)文件夾:
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:是構(gòu)建目錄。
install:是安裝目錄。
(5)安裝CMake和cmake-gui工具和依賴(lài)庫(kù):
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)進(jìn)入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
會(huì)出現(xiàn)cmake配置界面。如下圖所示:

(7)配置CMake工具:

指定OpenCV源碼所在的路徑和構(gòu)建目錄,然后勾選 Advanced,最后點(diǎn)擊 Generate。如下圖所示:

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

點(diǎn)擊Finish,完成后的界面如下圖所示:

點(diǎn)擊CMAKE。如下圖所示:

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

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

三、編譯OpenCV源碼

修改完成后,返回build目錄下,可以看到 bulid 目錄下已經(jīng)準(zhǔn)備了構(gòu)建文件。直接make 構(gòu)建即可。

elf@ubuntu:~/work/opencv/opencv-3.4.1/build$ make
編譯完成后,用make install安裝生成的二進(jìn)制文件或庫(kù)文件到前面指定的路徑下。
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架構(gòu)的OpenCV,這為快速迭代產(chǎn)品、優(yōu)化算法提供了堅(jiān)實(shí)的支撐。希望本篇指南能成為各位小伙伴在嵌入式技術(shù)探索之旅上的得力助手。如果您在實(shí)踐過(guò)程中遇到任何問(wèn)題,歡迎留言交流。

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
BCM5241A1KMLG 1 Broadcom Limited Ethernet Transceiver, PACKAGE
$1.66 查看
NC7S14P5X 1 Fairchild Semiconductor Corporation Inverter, HC Series, 1-Func, 1-Input, CMOS, PDSO5, 1.25 MM, EIAJ, SC-88A, SC-70, 5 PIN
$0.29 查看
LS027B7DH01A 1 Sharp Corp Graphic Dot Matrix LCD Display,
$40.78 查看
飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專(zhuān)注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國(guó)內(nèi)較早專(zhuān)業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過(guò)十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國(guó)家和地區(qū)擁有國(guó)際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺(tái)廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專(zhuān)注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國(guó)內(nèi)較早專(zhuān)業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過(guò)十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國(guó)家和地區(qū)擁有國(guó)際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺(tái)廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測(cè)等諸多領(lǐng)域。收起

查看更多

相關(guān)推薦