opencv在x86架構和arm架構的環境搭建

2021-09-25 16:11:29 字數 2685 閱讀 9685

sudo apt-get install libopencv-dev python-opencv

如果安裝出錯,那麼可以更新一下源,或換乙個源。

執行命令:pkg-config --cflags --libs opencv出現下面資訊

licaibiao@ubuntu:~/test/opencv$ pkg-config --cflags --libs opencv

-i/usr/local/include/opencv -i/usr/local/include -l/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -                         lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core

#include

#include

#include

using namespace std;

using namespace cv;

int main()

char c;

cvcapture* capture = cvcreatecameracapture(0);//檢視對應攝像頭的是幾號

if (!capture)

printf("fail\n");

iplimage* src;

for (;;)

src = cvqueryframe(capture);

cvshowimage("input", src);

c = waitkey(10);

if (c == 27) break;

return 0;

a、通過cmake編譯

首先新增乙個cmakelists.txt檔案,內容如下:

project(test)

find_package(opencv required)

add_executable(test test)

target_link_libraries(test $)

然後cmake,

之後再make,

生成可執行檔案test。

./test。

b、通過g++編譯

執行命令:g++ test.cpp -o test `pkg-config --cflags --libs opencv`

注意:上面有兩個 `pkg-config --cflags --libs opencv` 點號 ,是鍵盤1左邊的那個符號。

生成可執行檔案 test。

./test。

如果出現./test: error while loading shared libraries: libopencv_highgui.so.3.2: cannot open shared object file: no such file or directory 錯誤,那是動態鏈結庫的路徑沒有新增好,可按下面的方式新增:

1、用vim開啟/etc/ld.so.conf,注意要用sudo開啟獲得許可權,不然無法修改,如:sudo vim /etc/ld.so.conf,在檔案最後中加上一行 /usr/local/lib

2、執行:

sudo ldconfig

3、修改bash.bashrc檔案:

sudo vim /etc/bash.bashrc

4、在檔案末尾加入:

pkg_config_path=$pkg_config_path:/usr/local/lib/pkgconfig

export pkg_config_path

5、最後執行:

source /etc/bash.bashrc

首先需確認python環境為3.5。

然後通過命令安裝:sudo pip3 install opencv-python

sudo dpkg -i --force-overwrite /var/cache/apt/archives/python-problem-report_2.0.1-0ubuntu9_all.deb

sudo apt-get -f install

檢視opencv版本:

pkg-config --modversion opencv

以上是在x86架構的環境搭建。

下面是arm架構的環境搭建。

在ubuntu上編譯arm架構的opencv庫,然後將編譯好的庫打包上傳到arm架構中。(後續放編譯好庫的鏈結)

首先執行:

tar zxcf python3_cv2.tar.gz

mv python3_cv2/python3.5/site-packages/cv2.cpython-35m-aarch64-linux-gnu.so /usr/local/lib/python3.5/dist-packages/

rm python3_cv2/python3.5/ -r

mv python3_cv2/* /usr/local/lib/

驗證在python的opencv使用是否可行

執行報錯,在執行:

sudo apt install python3-numpy

x86架構和arm構架

x86是英特爾公司開發的並且通治了幾十年.x86反應快在pc應用廣泛.86與arm最大不同在於指令集上.x86跟硬體發揮優勢.但是帶來的功耗大.arm構架指令簡單執行起來快功耗也低.現在智慧型手機和平板很火.平板電腦要求便攜和續航能力.arm構架具有低功耗.使之有了市場.那麼為什麼沒有得到普及原因主...

x86架構中特權級

特權級,可以分為三種 第 一 描述符中的特權級dpl,表示這個段的特權 第 二 選擇子的rpl表示請求方的特權級 第 三 當前特權級,表示正在執行的 段所具有的特權 下面有關特權級知識的總結 第一 對於資料段來說,特權級dpl表示了可以訪問該資料的最低特權。若資料段的dpl為1,那麼只有特權級為0或...

平板電腦的ARM和X86架構

說到台式pc機的cpu,一般最關注的就是英特爾 amd等品牌,然後關注的就是雙核和主頻,很少提到cpu架構,因為台式pc機的cpu已經被英特爾x86壟斷。目前市面上的平板電腦主要採用兩種cpu架構 arm架構和x86架構。在蘋果平板電腦ipad系列之前,平板電腦多使用x86架構。x86原是台式電腦平...