linuxopencv編譯安裝
⑴ opencv編譯步驟
如果需要指定ffmpeg,linux下可通過pkg-config指定PKG_CONFIG_PATH到ffmpeg的lib/pkgconfig路徑下。需要注意,.pc中的路徑為install時的絕對路徑,使用時應注意與實際安裝路徑保持一致。
⑵ 在linux下安裝OpengCV後用安裝包下的sample/c例子進行測試編譯!不能通過,顯示以下錯誤信息!忘大神指正
缺少頭文件,你得看你的opencv安裝到什麼位置了,然後修改代碼或用-I來包含。
⑶ Linux下怎麼配置python和opencv
以下說明在Linux下Python和OpenCV結合安裝的過程,Python要使用OpenCV模塊,則必須導入OpenCV提供的包,所以要提供Python支持,首先在安裝OpenCV前安裝必要的組件,一般列表如下:
1、gcc g++一般系統自帶
2、cmake 編譯OpenCV時使用,需要手動安裝
3、pkg-config命令,一般系統自帶,如果缺少,使用 yum -y install pkg-config 安裝
4、Python 2.x,系統自帶
5、NumPy 一個用於大型矩陣處理的庫,這個必須!如果不安裝則後面OpenCV安裝後也編譯不出來Python的模塊,其他庫可以後來安裝
最後一步是安裝OpenCV
在保證前4項沒問題的情況下,開始安裝NumPy模塊,官網下載地址為:http://www.scipy.org/scipylib/download.html
進入SourceForge下載,地址為:https://sourceforge.net/projects/numpy/
直接點擊Download即可下載,下載成功之後上傳到Linux伺服器,安裝過程很簡單,解壓後直接安裝即可(之前要確保python-devel已經安裝)
unzip numpy-1.11.1.zip
cd numpy-1.11.1/
python setup.py install
另外numpy還可以去python官網下載:https://pypi.python.org/pypi/numpy
安裝成功之後接下來進一步安裝OpenCV,官方網站為:http://opencv.org/進入後點擊DOWNLOADS來到下載界面:http://opencv.org/downloads.html,這里下載2.4.13的版本
下載完之後上傳到Linux,執行接下來的安裝:
unzip opencv-2.4.13.zip
cd opencv-2.4.13/
cmake -D WITH_GTK_2_X=ON -D CMAKE_INSTALL_PREFIX=/usr/local .
make # make -j4表示開4個線程來進行編譯
make install
安裝過程時間可能會有點長10~30分鍾左右,編譯完成之後OpenCV就安裝到了指定的/usr/local下面的一些目錄中,庫文件就安裝到了/usr/local/lib下,Python的模塊安裝位置是:/usr/local/lib/python2.7/site-packages,執行 ls /usr/local/lib/python2.7/site-packages/ 可以看到兩個文件,一個是cv2.so一個是cv.py
這兩個文件在剛才opencv-2.4.13編譯的目錄下面lib/下也存在著兩個python模塊文件,但是不幸的是現在並不能直接使用,原因是我們操作系統python依賴包的位置是/usr/lib/python2.7下,所以剛才如果編譯到/usr下是直接可以用的,不過這個也不重要,只要我們將這兩個文件復制到正確的目錄下,那麼就能正常使用OpenCV的功能了,執行: cp /usr/local/lib/python2.7/site-packages/cv* /usr/lib/python2.7/site-packages/ 復制過去之後進入python互動式界面執行 import cv2 沒有報錯則安裝成功
可以寫一個測試的小案例,在伺服器上有一張圖片是test.jpg現在簡單的使用cv2模塊解析成圖像矩陣,然後再寫入磁碟文件中,代碼如下:
#!/usr/bin/python
# -*- coding:utf-8 -*-
import cv2
image = cv2.imread("test.jpg")
print image
cv2.imwrite("test1.jpg",image)
這里將原有的test.jpg生成test1.jpg,
執行 python cvtest.py 執行完後會發現輸出好多矩陣變數,並且生成了test1.jpg文件
生成的文件有可能比原文件大也有可能小,具體根據圖像來決定,現在查看一下圖片內容,和之前是一樣的
⑷ opencv2.1.0在linux下怎麼安裝
pkg-config 是一個庫文件安裝信息管理工具,它可以返回已安裝的庫文件及其相關頭文件的位置信息。安裝這個極容易,自己下載安裝把。
pkg-config 通過各個庫文件的.pc 文件識別已安裝的庫文件的信息,這些.pc文件是由各庫的安裝程序自己生成的,例如ffmpeg 安裝程序會在/usr/local/lib/pkgconfig目錄下提供libavcodec.pc libswscale.pc 等5個.pc文件,分別對應安裝的五個庫文件。
但pkg-confg默認只搜索/usr/lib/pkgconfig目錄,去尋找.pc文件,這里需要添加一個環境變數 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig,使得pkg-config可以找到ffmpeg的安裝信息。
三 安裝cmake
cmake 是一個跨平台makefile生成工具,是編譯新版opencv所必須的工具。
直接下載安裝cmake到一個合適的位置,並將cmake安裝目錄下的bin目錄加入PATH環境變數,cmake的使用詳見下述說明。
四 安裝opencv
1、下載最新版opencv源代碼 for linux.
2、在源代碼目錄下 mkdir release && cd release
3、cmake ../ (重點)
使用cmake 生成編譯opecv的Makefile 文件, ../ 是opencv的源代碼目錄,裡麵包含了預置的cmake 配置文件CmakeLists.txt。
這里的輸出,會顯示默認配置下,各模塊的檢測情況,重點是opencv所需工具庫是否被檢測到,例如視頻編解碼庫、TBB庫等。
查看CmakeLists.txt文件可知,cmake使用pkg-config獲取所需的庫文件的信息,這就是為什麼一定要安裝pkg-config的原因。
如果你看到FFMPEG及其下各子項的值為1,ok,檢測到了,如果為0,核對1、2兩步驟,看是否成功安裝了ffmpeg,以及pkg-config是否可以檢測到ffmpeg:
使用 pkg-config –list-all | grep libavcodec 。
4、 cmkae-gui ../
若你想改變opencv的默認編譯模式,用cmake的圖形模式可以編輯一大堆的編譯參數,例如是否支持IPP、TBB等等,這里比較討厭的是,圖形模式下,你看不到選擇的模塊是否被正確檢測到,要再運行 cmake ../ 查看。
5、 make && make install 默認 opencv將被安裝在 /usr/local/ 下。
6、 編輯環境變數 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 以使得系統可以找到opencv的動態鏈接庫。
到這里,opencv安裝完畢,並可讀寫幾乎全部常見視頻文件,你可以使用g++直接編譯你的常式,如果你的pkg-config配置正確,以下指令可以運行 :
g++ -o my_example my_example.cpp `pkg-config opencv --cflags --libs`
pkg-config opencv --cflags –libs 將返回opencv的頭文件和庫文件的編譯參數。
⑸ linux16.04怎麼安裝opencv
一、到Opecv-Release的Github項目上下載最新的Opencv版本,注意---基於python2.7,可選用 OpenCV2.3/2.4 以及 OpenCV3.X,我們選取版本3.3:
二、安裝GUN GCC編譯器,對於Ubuntu16.04版本的Linux操作系統這款編譯器是自帶的
三、安裝Cmake跨平台編譯工具(CMake 可以編譯源代碼、製作程序庫、產生適配器(wrapper)、還可以用任意的順序建構執行檔)安裝的方法:sudo apt-get install cmake
我已經安裝好了,就提示無需更新,無需安裝
四、安裝python2.7,在ubuntu中一般來說是自帶python2.7的,如果沒有安裝,請參看博客中其他的教程
五、安裝numpy,在安裝好python之後建議您安裝pip,安裝完pip之後就可以使用pip來安裝各種各樣的庫了,pip install numpy
我已經安裝好了,就提示無需更新,無需安裝
六、安裝pkg-config指令(注意,這里的安裝很重要,例如libgtk2.0-dev軟體包涉及到了opencv中的imshow等窗口調用能否使用的問題):
sudo apt-get install pkg-config libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
開始安裝Opencv For Python:
1、找到下載的Opencv3.3的目錄:
2、執行下面的指令(在執行指令的過程之前,我們可以切換到su超級許可權下進行操作):
tar -xzvf opencv-3.3.0.tar.gz
cd opencv-3.3.0/
cd ..
mkdir my_build_dir
cd my_build_dir
cmake ../opencv-3.3.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local
make # make -j4表示開4個線程來進行編譯
make install
⑹ linux下安裝opencv必需要先安裝ffmpeg嗎
看到個類似的問題: www.avidemux.org/smf/index.php?topic=11974.0 你這個東西真不好說,不過看來是 x264 因為是靜態編譯,靜態編譯我記得需要別的函數庫也是靜態的。你這個應該是 x264 本身就有找不到的函數入口問題,導致現在傳染給了 ffmpeg
⑺ 我在linux下安裝好opencv2.1後,並且配置好了。但是在編譯時找文件或目錄!
試試在root下運行ldconfig
⑻ linux怎麼裝skimage
OpenCV 2.2以後版本需要使用Cmake生成makefile文件,因此需要先安裝cmake。
ubuntu下安裝cmake比較簡單,
apt-get install cmake
如果覺得自帶的版本不符合要求,可以下載安裝包。
下載最新版的安裝包:
http://www.cmake.org/cmake/resources/software.html
這里下載已經編譯好的,這樣只需要解壓至需要的目錄下即可使用:
tar zxvf cmake-2.8.10.2-Linux-i386.tar.gz –C /usr/local/
設置環境變數:
sudo gedit /home/emouse/.bashrc
在打開的文件後添加:
export PATH=$PATH:/usr/local/cmake-2.8.10.2-Linux-i386/bin
查看版本,測試是否安裝成功:
root@emouse:/home# cmake --version
cmake version 2.8.10.2
Ubuntu 下安裝 OpenCV
軟體環境:
Ubuntu 12.04
OpenCV 2.4.3
Cmake 2.8.10.1
gcc 4.6.3 (系統默認)
1、先安裝 libgtk2.0-dev 和 pkg-config,,否則後期編譯運行程序會出現類似如下的問題:
OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /usr/local/opencv/OpenCV-2.0.0/src/highgui/window.cpp, line 100
terminate called after throwing an instance of 'cv::Exception'
通過網路獲取安裝:
# apt-get install libgtk2.0-dev
# apt-get install pkg-config
2、下載OpenCV ,文件名:OpenCV-2.4.3.tar.bz2,下載地址:
http://www.opencv.org.cn/index.php/Download
解壓:
#tar jxvf OpenCV-2.4.3.tar.bz2
得到文件夾 OpenCV-2.4.3
這里新建一個文件夾OpenCV-x86作為PC編譯目錄。
3、#cmake-gui 打開cmake的gui界面,開始進行配置。
cmake主要用於進行一些配置設定,從而生成用於編譯安裝的makefile文件,通過界面進行參數的配置和設定,非常直觀、方便。在配置中指定源碼和編譯目錄以及生成方式。
⑼ linux里opencv怎麼交叉編譯
一、交叉編譯opencv 構造: 下載:各個庫的下載可以直接搜名字到官網下載 幾個關鍵解釋: 「--prefix=」 後邊跟make install時的位置,本例中,libz在make install時將安裝到/usr/arm-linux-gnueabihf中 「--host=」 後邊跟arm-linux表明使用的是ARM環境 有configure的才能進行configure配置 4)所有的makefile修改類似 Libz的交叉編譯 第一步:# ./configure --prefix=/usr/arm-linux-gnueabihf --shared 第二步:修改makefile,主要有下邊幾個,修改的時候通篇參照即可 CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar rc RANLIB=arm-linux-gnueabihf-ranlib STRIP = arm-linux-gnueabihf-strip 如果有ARCH的話,ARCH=ARM 第三步:#sudo make #sudo make install Libjpeg的交叉編譯 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc 第二步:參考1)中方法修改makefile 第三步:#sudo make #sudo make install Libpng的交叉編譯 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc 第二步:參考1)中方法修改makefile 第三步:#sudo make #sudo make install Yasm的交叉編譯 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static 第二步:修改makefile 第三步:#sudo make #sudo make install Libx264的交叉編譯 第一步:#CC=arm-linux-gnueabihf-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/usr/arm-linux-gnueabihf 第二步:修改config.mak里的參數,因為makefile要調用config.mak,所以修改方法同makefile 第三步:#sudo make #sudo make install Libxvid的交叉編譯 第一步:首先切換目錄 #cd build/generic 第二步:#./configure --prefix=/usr/arm-linux-gnueabihf --host=arm-linux --disable-assembly 第三步:#sudo make #sudo make install ffmpeg的交叉編譯 第一步: ./configure --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-yasm --disable-stripping --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/arm-linux-gnueabihf/include --extra-ldflags=-L/usr/arm-linux-gnueabihf/lib --prefix=/usr/arm-linux-gnueabihf 第二步:修改makefile文件 第三步:#sudo make #sudo make install 第四步:將ffmpeg加入pkg-config 執行#sudo gedit /etc/bash.bashrc,在末尾加入 export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib/ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/arm-linux-gnueabihf /lib/pkgconfig export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:/usr/arm-linux-gnueabihf /lib/ 完畢後使用命令:#source /etc/bash.bashrc 或者單獨使用三個export,不過壽命只在一個終端中,終端關閉時就失效。 幾個關鍵解釋:--extra-flags指向xvid的安裝路徑,--extra-ldflags指向x264的路徑 安裝cmake-gui 執行:#sudo apt-get install cmake-qt-gui Opencv的交叉編譯 第一步:修改opencv/platflrms/linux/目錄下的arm-gnueabi.toolchain.cmake,將其所有刪掉,寫入: set( CMAKE_SYSTEM_NAME Linux ) set( CMAKE_SYSTEM_PROCESSOR arm ) set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc ) set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ ) 第二步:在opencv目錄下新建build目錄,進入build目錄,執行命令: #cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ../ 這時,要保證出現: 第三步:使用cmake-gui打開CMakeCache.txt,去掉所有的無關項,修改CMAKE_INSTALL_PREFIX,來確定make install的目錄 第四步:#sudo make #sudo make install 可能出現的錯誤: opencv編譯不通過,出現skip之類的,說明ffmpeg沒編譯好,或者其編譯好了,但是pkg-config沒有設置好,一定要設置好其環境 前邊幾步不通過的話,看看命令有沒有少,或者有沒有修改好makefile 在arm上使用時,一種方法時直接將編譯好的opencv目錄下的lib文件拷貝到開發板對應的/lib目錄下,其他或者拷貝到自己指定的目錄,並設置好環境變數即可使用
⑽ 如何在linux下安裝opencv
新建一個perl,名橘吵為bar.pl
內容如下則消:
#!/usr/bin/perl
while (<>){
chomp;
s/([^-]+) - .*/\1/g;
system "apt-get install ".$_;
}
然後圓盯侍apt-cache search opencv | perl bar.pl