0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

ElfBoard ? 2024-05-31 16:41 ? 次閱讀

在之前發(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工具和依賴庫(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配置界面。如下圖所示:

wKgaomZZjBqAQq4nAACzlZxSO-4421.png

(7)配置CMake工具:

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

wKgZomZZjCmAaASUAADnCt5Yblk098.png

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

wKgZomZZjDiAXBtyAAB4z3lglvI677.png

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

wKgZomZZjEeANHpbAAFAXDimWiM218.png


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

wKgaomZZjGiAdLB1AAGAXLUjIfM481.png

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

wKgaomZZjHiAfVTxAALwzCN-5Ts341.png

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

wKgZomZZjIqADZS7AAGJQvRLIls898.png

三、編譯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)題,歡迎留言交流。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6023

    文章

    44376

    瀏覽量

    628309
  • 嵌入式
    +關(guān)注

    關(guān)注

    5045

    文章

    18816

    瀏覽量

    298459
  • 嵌入式開(kāi)發(fā)板

    關(guān)注

    5

    文章

    78

    瀏覽量

    18671
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Ubuntu系統(tǒng)下編譯OpenCV4.8源碼記錄

    很多人經(jīng)常會(huì)問(wèn)我是否有在Ubuntu系統(tǒng)化下開(kāi)發(fā)OpenCV C++應(yīng)用的教程,其實(shí)我一直沒(méi)有,然后我有幾塊開(kāi)發(fā)板都是基于Linux的,有Jetson系列的開(kāi)發(fā)板,所以我以前寫過(guò)一篇文章如何在
    的頭像 發(fā)表于 10-27 16:07 ?1362次閱讀
    <b class='flag-5'>Ubuntu</b>系統(tǒng)下<b class='flag-5'>編譯</b><b class='flag-5'>OpenCV</b>4.8源碼記錄

    ElfBoard技術(shù)|如何將libwebsockets庫(kù)編譯為x86架構(gòu)

    在之前的文章,我們已經(jīng)詳細(xì)介紹了如何交叉編譯libwebsockets并將其部署到ELF1開(kāi)發(fā)板上。然而在調(diào)試階段,發(fā)現(xiàn)將libwebsockets在Ubuntu環(huán)境下
    的頭像 發(fā)表于 07-10 09:38 ?1001次閱讀
    ElfBoard<b class='flag-5'>技術(shù)</b><b class='flag-5'>貼</b>|如何將libwebsockets<b class='flag-5'>庫(kù)</b><b class='flag-5'>編譯</b>為x86架構(gòu)

    嵌入式學(xué)習(xí)-ElfBoard ELF 1板卡-移植openssl

    ELF1開(kāi)發(fā)板上移植openssl。 開(kāi)發(fā)環(huán)境操作系統(tǒng):Ubuntu18.04交叉編譯鏈:arm-poky-linux-gnueabi-gcc內(nèi)核版本:Linux4.1.15openssl版本
    發(fā)表于 12-28 08:53

    飛凌嵌入式ElfBoard ELF 1板卡-i.MX6ULL交叉編譯freetype字體引擎庫(kù)

    freetype。 交叉編譯zlib1、下載源碼https://zlib.net/2、將zlib-1.3.1.tar.gz 拷貝到開(kāi)發(fā)環(huán)境/home/elf/work目錄下解壓elf@ubun
    發(fā)表于 06-05 11:25

    嵌入式學(xué)習(xí)-飛凌ElfBoard ELF 1板卡 - 如何在Ubuntu編譯OpenCV庫(kù)

    使用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)境下將
    發(fā)表于 06-07 09:21

    I.MX6ULL-飛凌 ElfBoard ELF1板卡 - 如何在Ubuntu編譯OpenCV庫(kù)(X86架構(gòu))

    使用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)境下將
    發(fā)表于 06-07 09:32

    【OK210試用體驗(yàn)】之(七)—— 交叉編譯和移植OpenCV 2.4.9 (2)

    本帖最后由 郎中令2000年 于 2015-12-6 21:45 編輯 上一的主要內(nèi)容是交叉編譯OpenCV2.4.9庫(kù)。本帖的主要內(nèi)容是在
    發(fā)表于 12-06 21:11

    Ubuntu下交叉編譯opencv以生成ARM版本的opencv時(shí)遇到一些問(wèn)題

    我用貴公司提供的交叉編譯工具鏈,在Ubuntu下交叉編譯opencv以生成ARM版本的opencv時(shí)遇到問(wèn)題工具鏈選擇如圖
    發(fā)表于 12-30 06:20

    Tina下運(yùn)行在Ubuntu交叉編譯Opencv 4.5.1

    社區(qū)中有hu487364在Ubuntu14 成功 見(jiàn)帖:編譯Tengine D1 出錯(cuò) aldfaaa的Ubuntu20.04
    發(fā)表于 03-14 09:46

    opencv庫(kù)直接在RK3588開(kāi)發(fā)板上進(jìn)行編譯

    在RK3588 c++的開(kāi)發(fā)中用到了opencv庫(kù),但是官方的SDK例程opencv庫(kù)不完整,如沒(méi)有讀視頻的cv::VideoCaptu
    發(fā)表于 09-15 17:56

    opencv編譯安裝筆記(Linux、Ubuntu

    本文介紹了兩種opencv編譯安裝筆記:Linux下編譯安裝OpenCVUbuntu 下安裝 Open
    發(fā)表于 12-03 10:33 ?5078次閱讀
    <b class='flag-5'>opencv</b><b class='flag-5'>編譯</b>安裝筆記(Linux、<b class='flag-5'>Ubuntu</b> )

    CAFFE+OPENCV+OPENBLAS+ANACONDA+UBUNTU14.04配置

    CAFFE+OPENCV+OPENBLAS+ANACONDA+UBUNTU14.04配置(新型電源技術(shù)結(jié)課論文UC3842)-CAFFE+OPENCV+OPENBLAS+ANACONDA+UBUNTU14.04配置
    發(fā)表于 09-18 14:30 ?6次下載
    CAFFE+<b class='flag-5'>OPENCV+OPENBLAS+ANACONDA+UBUNTU</b>14.04配置

    RK3568上OpenCV編譯移植

    算法豐富多樣,在ARM嵌入式平臺(tái)上也適用于做算法的移植。本系統(tǒng)選擇將OpenCV3.2.0編譯移植到開(kāi)發(fā)板上,開(kāi)發(fā)環(huán)境是虛擬機(jī)上安裝的Ubuntu16.04。由于OpenCV開(kāi)源,直接
    發(fā)表于 12-20 10:08 ?67次下載

    ELF 1技術(shù)|如何移植OpenCV

    OpenCV是一個(gè)基于BSD許可(開(kāi)源)發(fā)行的計(jì)算機(jī)視覺(jué)庫(kù),廣泛應(yīng)用于跨平臺(tái)環(huán)境,包括Linux、Windows、Android及MacOS操作系統(tǒng)。作為計(jì)算機(jī)視覺(jué)領(lǐng)域廣受歡迎的標(biāo)準(zhǔn)工具包
    的頭像 發(fā)表于 01-09 13:55 ?288次閱讀
    <b class='flag-5'>ELF</b> <b class='flag-5'>1</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>貼</b>|如何移植<b class='flag-5'>OpenCV</b>

    如何將Go程序編譯ELF 1開(kāi)發(fā)板

    編譯并運(yùn)行在ELF1開(kāi)發(fā)板上的。一、在GoLand配置(一)配置SSH連接Ubuntu虛擬機(jī)以及ELF1開(kāi)發(fā)板
    的頭像 發(fā)表于 01-29 10:42 ?383次閱讀
    如何將Go程序<b class='flag-5'>編譯</b>到<b class='flag-5'>ELF</b> <b class='flag-5'>1</b>開(kāi)發(fā)板