當前位置:首頁 » 操作系統 » opencvlinux

opencvlinux

發布時間: 2022-07-24 08:08:35

⑴ 如何在linux下安裝opencv

一、安裝關聯庫

1
安裝編譯工具:
sudo apt-get install build-essential
編譯程序有了這個軟體,它才知道頭文件和庫函數在哪,最後才形成一個開發環境。

2
安裝 cmake、git、pkg-config等輔助工具:
sudo apt-get install cmake git pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev

3
安裝關聯庫:
sudo
apt-get install python-dev python-opencv python-numpy libtbb2
libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev
libdc1394-22-dev

END
二、編譯OpenCV

1
從網上下載OpenCV-3.0.0.zip。
下載地址:
http://opencv.org/downloads.html

2
如果使用虛擬機,最好將OpenCV-3.0.0.zip移動到用戶主目錄下進行編譯,一定不能在虛擬機在Windows系統里的共享文件夾下進行編譯,否則會因為文件系統(Windows7的文件系統是NTFS,ubuntu-15.10的文件系統是)不同在編譯過程中出錯。鄙人在共享文件夾下進行編譯,編譯進行到%15時報錯,我修復後又在編譯進行到%21時報錯,反正是各種錯誤,我是沒有能力繼續修復了......

3
最好將OpenCV-3.0.0.zip移動到用戶主目錄下進行編譯:
mv [OpenCV-3.0.0.zip存放路徑] ~/opencv_3.0.0.zip
unzip opencv_3.0.0.zip
cd opencv-3.0.0
mkdir release
cd release

4
CMake是一個跨平台的編譯工具,想深入學習cmake命令的可以網路一下。
編譯命令:
cmake
-D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D
WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON
-D WITH_OPENGL=ON ..

5
make命令(-j表示用幾個線程來編譯,這樣可以加快編譯速度,不過這個與makefile的質量有關,有的工程用了-j會編譯出錯):
make -j $(nproc)
上述命令後一般大約要耗時1個小時,甚至更多,視個人電腦硬體配置而定。
執行完以後不要忘了make install:
sudo make install

6
如果編譯過程出錯後想要重新編譯,把release目錄下的CMakeCache.txt刪除掉即可。

END
三、設置環境變數

1
添加庫路徑:
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

2
更新系統庫:
sudo ldconfig

END
四、用cmake進行測試

1
DisplayImage.cpp中的源代碼:
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
if ( argc != 2 )
{
printf("[usage]: %s <Image_Path>\n", argv[0]);
return -1;
}
Mat image;
image = imread( argv[1], 1 );
if ( !image.data )
{
printf("No image data!\n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}

2
CMakeLists.txt中的源代碼:
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

3
編譯命令:
cmake .
make
運行命令:
./DisplayImage 01.jpg

END
五、用make進行測試

opencv_test.cpp中的源代碼:
#include "cv.h"
#include "highgui.h"
#include <iostream>
using namespace std;
#define PICTURE "./01.jpg"
int main(void)
{
IplImage* img = cvLoadImage(PICTURE, 0);
cvNamedWindow( "test", 0 );
cvShowImage("test", img);
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "test" );
return 0;
}

Makefile中的源代碼:
CXX = g++
CFLAGS = -Wall
LDFLAGS = `pkg-config --cflags --libs opencv`
SRCS = $(wildcard *.cpp)
TARGETS = $(patsubst %.cpp, %, $(SRCS))
all:$(TARGETS)
$(TARGETS):$(SRCS)
$(CXX) -o $@ $< $(LDFLAGS) $(CFLAGS)
clean:
-rm -rf $(TARGETS) *~ .*swp
.PHONY: clean all

編譯命令:
make
運行命令:
./opencv_test
代碼寫得比較簡單,所以顯示效果是一張黑白圖片。

⑵ 怎麼安裝opencv linux

OpenCV是一個基於開源發行的跨平台計算機視覺庫,它輕量級而且高效——由一系列 C 函數和少量 C++ 類構成,同時提供了Python、Ruby、MATLAB等語言的介面,實現了圖像處理和計算機視覺方面的很多通用演算法。在linux上安裝opencv的方法如下:

工具:

Windows7、VMware Workstation 12 Pro、ubuntu-15.10、opencv-3.0.0.zip

步驟:

一、安裝關聯庫

1、安裝編譯工具:sudo apt-get install build-essential

編譯程序有了這個軟體,它才知道頭文件和庫函數在哪,最後才形成一個開發環境。

⑶ linux怎麼切換opencv版本

1.注意事項:安裝目錄!
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.1.0 ..1

CMAKE_INSTALL_PREFIX之後的路徑就是opencv的安裝目錄了。之前的opencv2.4.13安裝到了根目錄,即/usr/local/里,所以之後的opencv3.1.0安裝到了/usr/local/opencv3.1.0/中這里,兩個版本opencv目錄一定要分開,不能安裝到同一個路徑下,否則會出現問題!
2.切換方式
切換方式其實比較簡單,把環境變數的路徑改一下就可以了。
a)
sudo gedit /etc/ld.so.conf.d/opencv.conf1

把opencv的lib路徑添加進去:
opencv3.1.0:
/usr/local/opencv-3.1.0/lib1

opencv2.4.13:
/usr/local/lib1

b)
sudo ldconfig1

c)
sudo gedit /etc/profile1

在最後加入PATH路徑:
opencv3.1.0:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv-3.1.0/lib/pkgconfig
export PKG_CONFIG_PATH12

opencv2.4.13:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH12

d)
sudo gedit /etc/bash.bashrc 1

在最後添加PATH路徑:
opencv3.1.0:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv-3.1.0/lib/pkgconfig1

opencv2.4.13:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig1

3.查看opencv版本:
pkg-config --modversion opencv
pkg-config --cflags opencv
pkg-config --libs opencv123

實際使用中發現還是在尋找opencv2.4.13.
如果編譯使用的是cmake,打開CMakeLists.txt,添加:
set(OPENCV_DIR 「/home/ubuntu/opencv-3.1.0/build」)
如果上述方法還沒有作用,那麼就只好卸載不需要的opencv版本了:
cd opencv-2.4.13/release
sudo make uninstall
cd ..
sudo rm -r release
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/sh

關於更多Linux的學習,請查閱書籍《linux就該這么學》。

⑷ 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

[cpp]view plain

  • sudoapt-getinstallbuild-essential

  • sudoapt-getinstallcmake

  • sudoapt-getinstalllibgtk2.0-dev

  • sudoapt-getinstallpkg-config

  • sudoapt-getinstallpython-devpython-numpy

  • sudoapt-getinstalllibavcodec-devlibavformat-devlibswscale-devlibjpeg-devlibpng-devlibtiff-devlibjasper-dev


  • 進入目錄opencv-3.1.0,然後cmake生成makefile:

    先把我的安裝歷史紀錄給大家看下吧,大家也好心裡有數


    然後

    [html]view plain

  • make&&makeinstall

  • 這下子代碼插入了。

    現在我們做的就是該怎麼找到opencv庫了:

    首先打開這個文件,在最後一行添加一句話,當然它也可能是空的,沒影響。

    [html]view plain

  • sudovim/etc/ld.so.conf.d/opencv.conf

  • 最後一行添加
  • [html]view plain

  • /usr/local/lib

  • 運行以下代碼配置庫:

    [html]view plain

  • sudoldconfig

  • 現在打開另一個文件,添加環境變數:
  • sudo gedit /etc/bash.bashrc

    在這個文件的末尾添加下面兩行:

    [html]view plain

  • PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

  • exportPKG_CONFIG_PATH

  • 然後測試:

    [html]view plain

  • cd~

  • vimhello.cpp

  • [cpp]view plain

  • #include<stdio.h>

  • #include<opencv2/opencv.hpp>

  • usingnamespacecv;

  • intmain(intargc,char**argv)

  • {

  • if(argc!=2)

  • {

  • printf("usage:DisplayImage.out<Image_Path> ");

  • return-1;

  • }

  • Matimage;

  • image=imread(argv[1],1);

  • if(!image.data)

  • {

  • printf("Noimagedata ");

  • return-1;

  • }

  • namedWindow("DisplayImage",WINDOW_AUTOSIZE);

  • imshow("DisplayImage",image);

  • waitKey(0);

  • return0;

  • }


  • 然後編譯:

    [html]view plain

  • g++`pkg-config--cflagsopencv`-ohellohello.cpp`pkg-config--libsopencv`

  • 然後運行:

    [html]view plain

  • ./hellopsb1.jpg

  • 後面的psd是圖片路徑,由於我是在伺服器上運行的,所以沒辦法顯示出來,伺服器默認是沒有裝Xwindow的,我裝了,但是報了一堆錯,就放棄了

    [html]view plain

  • root@iZ28gdz88j1Z:~#./hellopsb1.jpg

  • (DisplayImage:25620):Gtk-WARNING**:cannotopendisplay:

    希望能夠幫助到你

⑹ opencv在linux里用嗎

可以用的。
安裝opencv
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install libopencv-dev
sudo apt-get install python-opencv

⑺ linux 下 opencv程序怎麼編譯

運行了樓上給的命令之後,結果是這樣的:
# g++ `pkg-config opencv --libs --cflags opencv` facedect.cpp -o facedect -static
/tmp/cc8XhRf6.o: In function `find_face(_IplImage*)':
facedect.cpp:(.text+0x51): undefined reference to `cvCreateImage'
facedect.cpp:(.text+0xc0): undefined reference to `cvCreateImage'
facedect.cpp:(.text+0xdd): undefined reference to `cvCvtColor'
facedect.cpp:(.text+0xf7): undefined reference to `cvResize'
facedect.cpp:(.text+0x109): undefined reference to `cvEqualizeHist'
facedect.cpp:(.text+0x116): undefined reference to `cvClearMemStorage'
facedect.cpp:(.text+0x188): undefined reference to `cvHaarDetectObjects'
facedect.cpp:(.text+0x1c6): undefined reference to `cvReleaseImage'
facedect.cpp:(.text+0x1d1): undefined reference to `cvReleaseImage'
/tmp/cc8XhRf6.o: In function `isperson(char const*)':
facedect.cpp:(.text+0x21e): undefined reference to `cvLoad'
facedect.cpp:(.text+0x22f): undefined reference to `cvCreateMemStorage'
facedect.cpp:(.text+0x25a): undefined reference to `cvLoadImage'
facedect.cpp:(.text+0x27d): undefined reference to `cvReleaseImage'
facedect.cpp:(.text+0x289): undefined reference to `cvDestroyWindow'
collect2: ld returned 1 exit status

⑻ linux 怎麼用opencv

預備

GCC
CMake
OpenCV

這些都可以在CentOS 6.0的「添加/刪除軟體」裡面找到並安裝。其他Linux版本可以選擇用編譯後安裝或者在Rpmfind尋找二進制安裝版本:

http://rpmfind.net/

CentOS安裝OpenCV 2.4+

下載OpenCV 2.4+壓縮解壓到一個文件夾里,如:/home/me/opencv/
構建Makefile,在終端輸入,進行構建:

cd /home/me/opencv/

cmake .

進行編譯並安裝,編譯過程可能有些警告發生,請無視這些警告:

make

make check

make install

寫一個OpenCV程序

新建一個簡單的程序,例如:DisplayImage.cpp。

#include <stdio.h>
#include <cv.h>
#include <highgui.h>

//使用cv這個命名空間
using namespace cv;

/* 主函數
*C語言規定main函數只能有兩個參數,
*習慣上將這兩個參數寫成argc和argv。
*第一個代表(傳參個數+1),
*第二個代表傳慘數據。
*一般有兩種寫法:
*main( int argc, char* argv[])
*main( int argc, char** argv)
*/
int main( int argc, char** argv )
{
//建立一個Mat類型的變數image
Mat image;
/* API中有:
* C++: Mat imread(const string& filename, int flags=1 )
* 意思是返回Mat類型數據,第一個參數接受一個string類型的引用,
* 第二個參數接受一個int類型的flags,一般都是1。
*/
image = imread( argv[1], 1 );

//當傳的參數不是一個,或者圖片沒有數據則提示沒有圖片並退出程序
if( argc != 2 || !image.data )
{
printf( "沒有該圖片 \n" );
return -1;
}

//C++: void namedWindow(const string& winname, int flags=CV_WINDOW_AUTOSIZE )
namedWindow( "顯示圖片", CV_WINDOW_AUTOSIZE );
//C++: void imshow(const string& winname, InputArray mat)
imshow( "顯示圖片", image );
//C++: int waitKey(int delay=0)
waitKey(0);

return 0;
}

新的頭文件寫法

同樣的程序,可以用新的頭文件寫法來寫:

#include "opencv2/core/core.hpp"

#include "opencv2/highgui/highgui.hpp"

#include <stdio.h>

using namespace cv;

int main( int argc, char** argv ){
Mat image;
image = imread( argv[1]);

if( argc != 2 || !image.data ){
printf("沒有圖片\n");
return -1;
}

namedWindow( "顯示圖片", CV_WINDOW_AUTOSIZE );
imshow( "顯示圖片", image );
waitKey(0);

return 0;
}

創建一個對應的CMake文件

新建一個CMakeLists.txt,內容大概是這樣的:

project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

生成可執行文件

cd <DisplayImage_directory>
cmake .
make

結果

生成了一個DisplayImage文件,所以運行這個文件,將文件路徑傳進去:

./DisplayImage lena.jpg

你就能看到圖片了

⑼ 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

⑽ 如何將opencv庫移植到linux中

編譯環境fedora9.0
xvid版本:xvidcore-1.3.2.tar.gz
x264版本:x264-snapshot-20110612-2245.tar.bz2
yasm版本:yasm-0.7.2.tar.gz
ffmpeg版本:ffmpeg-0.5.3.tar.bz2
OpenCV版本:opencv-2.0.0
上面這些文件可以到http://download.csdn.NET/detail/wc7620awjh/4866855處進行下載!
首先安裝x86平台下opencv,網上很多都只有arm上opencv的移植,但對於開發階段,都是在pc機的Linux環境下開發測試的,所以這里先介紹一下x86平台下opencv的移植。

熱點內容
阿里雲伺服器能搭美國站點 發布:2025-01-20 01:49:34 瀏覽:276
安卓手機壁紙如何更換成動態壁紙 發布:2025-01-20 01:40:27 瀏覽:705
安卓微信簽名在哪裡修改 發布:2025-01-20 01:25:31 瀏覽:109
安卓電腦管家怎麼恢復出廠設置 發布:2025-01-20 01:24:06 瀏覽:313
qt編譯sqlite庫 發布:2025-01-20 01:22:30 瀏覽:525
360攝像頭存儲設置 發布:2025-01-20 01:16:01 瀏覽:538
js防緩存 發布:2025-01-20 01:15:47 瀏覽:495
編程生日卡 發布:2025-01-20 01:15:14 瀏覽:206
android備忘錄源碼 發布:2025-01-20 01:06:32 瀏覽:455
怎麼禁用aspx緩存 發布:2025-01-20 01:00:50 瀏覽:688