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原是台式電腦平...