1. 程式人生 > >Linux Centos系統OpenCV安裝方法

Linux Centos系統OpenCV安裝方法

為了熟悉一下linux下C++,準備通過將以前所寫專案由windows移植到linux下,首先配置環境,這個還挺繁瑣,出錯挺多的,現在記錄一下。 
系統:Centos 6.5 
最後版本 OpenCV: 2.4.3 
1、安裝依賴包(很重要)
yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devel libpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-devel jasper-devel jasper-utils swig python libtool nasm 

如果不安裝上述依賴包,到最後呼叫opencv時會出錯,如下: 
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,...................

此時只能將編譯好的opencv刪除再重新編譯,即將/usr/local/lib和/usr/local/include/中的有關的刪除 
mv /usr/local/lib/libopencv* 
mv -fr /usr/local/include/opencv  
mv -fr /usr/local/include/opencv2  
然後再重新編譯opencv. 
2、安裝/更新CMake
為什麼要安裝或者更新cmake呢,下面說明所chǔ問題: 
(1)下載 
   在OpenCV官網http://sourceforge.net/projects/opencvlibrary/files/ 下載所需版本 
   拷貝到/usr/local/路徑之下
(2)tar -xvf OpenCV-2.4.8.tar.bz2
解壓
(3)cd  OpenCV-2.4.8  進入目錄
(4)yum install cmake      直接從網上安裝cmake

(5) cmake CMakeLists.txt   
如果你此步沒有出錯opencv就已經安裝了; 
此步出錯 
需要安裝新版的cmake 
下載最新版本cmake檔案進行編譯 
http://www.cmake.org/cmake/resources/software.html

將其複製到/usr/local/路徑下 
解壓: 
r -zxv -f cmake-2.8.10.2.tar.gz       // 解壓壓縮包 
rm -rf cmake-2.8.10.2.tar.gz   // 刪除壓縮包

cd cmake-2.8.10.2

./configure

make

make install 
// 修改資料夾名

mv cmake-2.8.10.2 cmake  

修改環境變數: 
vim /etc/profile 
在尾部新增: 

PATH=/usr/local/cmake/bin:$PATH
export PATH
這裡注意,不要講冒號寫成分號,要不然各種命令列都不能用,重啟後進入不了系統等。 
//使修改生效

source /etc/profile   
//檢視PATH值有沒有新增剛剛的路徑  

echo $PATH   

//檢驗版本 
cmake --version

安裝成功了cmake再繼續安裝opencv 
3、安裝Opencv 
繼續上一步的cmake CMakeLists.txt   
出錯: 

System is unknown to cmake, create: 
opencv 版本不對 
重新下載Opencv,這次選擇了下載opencv-2.4.3,放於/usr/local/目錄下 
重複上一步中安裝opencv步驟 
tar -xvf OpenCV-2.4.3.tar.bz2 解壓 
cd  OpenCV-2.4.3. 進入目錄 
yum install cmake      直接從網上安裝cmake

cmake CMakeLists.txt   
make  
make install
成功 
4、新增路徑 
如果不新增路徑到環境變數當執行測試程式時會出錯如下: 
./drawing: error while loading shared libraries: libopencv_calib3d.so.2.4: cannot open shared object file: No such file or directory

解決方法: 
(1)用ln將需要的so檔案連結到/usr/lib或者/lib這兩個預設的目錄下邊 
ln -s /where/you/install/lib/*.so /usr/lib

sudo ldconfig

(2)修改LD_LIBRARY_PATH 
export LD_LIBRARY_PATH=/where/you/install/lib:$LD_LIBRARY_PATH

sudo ldconfig

(3)修改/etc/ld.so.conf  (我採用了此種方法) 
vim /etc/ld.so.conf 
add /where/you/install/lib

sudo ldconfig

輸入ldconfig時出錯:libstdc++.so.6.0.18-gdb.py不是ELF檔案-它起始的魔數錯誤。 
解決方法,這裡直接暴力刪除了,rm libstdc++.so.6.0.18-gdb.py 
再重新ldconfig,沒有錯 
5、測試: 
測試程式碼顯示一張圖片: 

  1 #include "cv.h"
  2 #include "highgui.h"
  3 
  4 int main()
  5 {
  6          IplImage* pImg = NULL;
  7 
  8           if((pImg = cvLoadImage("1.jpg",1)))
  9           {
 10                   cvNamedWindow( "Image", 1 );//建立視窗
 11                   cvShowImage( "Image", pImg );//顯示影象
 12                   cvWaitKey(0); //等待按鍵
 13                   cvDestroyWindow( "Image");//銷燬視窗
 14                   cvReleaseImage( &pImg ); //釋放影象
 15                   return 0;
 16           }
 17            return -1;
 18 }

可以用下面的命令編譯
g++ `pkg-config --cflags --libs opencv` code.cpp -o drawing 
注意上面是~鍵的符號而不是引號要不然會出錯:--libs opencv:沒有那個檔案或目錄   fatal error: cv.h:沒有那個檔案或目錄 
此chǔ我採用寫makefile方式:
編寫makefile 如下: 



make 
./drawing 
顯示成功 
如果出現第一步裡面提到的錯誤,那就裝完依賴庫重新來編譯一遍opencv. 

相關推薦

Linux Centos系統OpenCV安裝方法

為了熟悉一下linux下C++,準備通過將以前所寫專案由windows移植到linux下,首先配置環境,這個還挺繁瑣,出錯挺多的,現在記錄一下。 系統:Centos 6.5 最後版本 OpenCV: 2.4.3 1、安裝依賴包(很重要)yum install cmake g

python3.6.3安裝步驟,適用linux centos系統

step1: yum -y install gccyum install zlib zlib-devel step2: cd /usr/bin/ mv python python.bak step3:下載python3.6.3,解壓並進入目錄執行執行 ./configure -prefix=/usr/

阿里雲linux centos系統安裝rabbitMQ

需要先安裝EPEL yum install epel-release yum install yum-priorities cd /opt wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch

linux centos下jenkins安裝及升級方法

安裝方法: yum安裝 rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key yum install jenkins -y 或者 rpm --import http://pkg.jenkins-ci.org/r

linux-centos系統下簡單/原始碼編譯安裝git

本文主要是簡單介紹git指定版本原始碼編譯安裝 請完整看完一段後再執行文中的命令 背景介紹 想要在阿里雲上使用codepipeline上使用maven部署springboot的demo專案 結果發現文件介紹根本就不全,試了很多次沒有很好的結果,所以打算

裸機安裝Linux系統Centos系統安裝

一:官網下載Centos系統,dvd的即可。 二:下載一個軟碟通。安裝之後(試用),開啟檔案,找到Centos系統, 啟動->燒錄光碟。需要一個空的U盤。8G以上。 三:重啟電腦,U盤啟動。 1.安裝centos系統。 如果過程中出現: Ent

在阿里雲ecs伺服器(linuxcentos系統安裝除錯nginx

購買阿里雲ecs伺服器例項 由於這裡只是測試,我們就隨便買一個(當然我就選最便宜的了,這裡的搶佔式例項測試完可以直接釋放) 選擇

VirtulBox虛擬機搭建Linux Centos系統

流量 -- span 名稱 ftp 註意 img blank style 簡要說明   該文章目的是基於搭建hadoop的前置文章,當然也可以搭建Linux的入門文章。那我再重復一下安裝準備軟件。   環境準備: http://pan.baidu.com/s/1dFrH

linux缺失gcc的安裝方法

sta baseurl 方法 /dev/ dha .com 安裝 沒有 ima linux安裝gcc操作 1.查看linux是否有gcc文件 這個是沒有掛載的 2. 使用df,查看系統光盤的掛載位置 3.卸載分區 umount /dev/sr0 4.將redhat

CentOS系統編譯安裝服務如何添加開機自啟動

開機自啟 rc.local生效 今天在重啟CentOS系統時,發現已設置開機自啟動的服務並沒有隨開機自啟動,於是查閱資料,定位原因,特更此文,以備查閱。 首先,之前的做法是將命令寫入/etc/rc.local文件中,如下: vi /etc/rc.local #!/bin/ba

linux中軟件安裝方法總結

linuxlinux中軟件安裝方法:1 rpm -ivh 包名.rpm 有依賴問題,安裝A,A需要先安裝B,B先安裝C等。2 yum安裝,yum包管理器,yum安裝解決rpm安裝的依賴問題,安裝更簡單化。 優點:簡單,易用,高效 缺點:不能定制 centos切換在線yum源地址為ali

Linux操作系統安裝以及基本的操作命令詳解

tomcat7 replicat rem 命令詳解 onf 日誌文件 out 橋接 ati 背景:使用的虛擬機安裝Linux 虛擬機使用的是VMware Linux版本:CentOS-6.7-X86 自行下載:CentOS-6.7-x86_64-bin-DVD1.

CentOS系統Docker安裝

make chkconfig cache sta dock reboot sudo star ast sudo yum install -y yum-utilssudo yum-config-manager --add-repo https://mirrors.ustc.

Linux - centos 7 mysql安裝

防火 wrap spec affect state redirect names release trade 安裝 CentOS Linux release 7.1.1503 (Core)下載地址鏈接:https://pan.baidu.com/s/1c2rWsbm 密碼

VMware虛擬機克隆Linux(CentOS)系統後找不到eth0網卡的問題(圖文詳解)

sunny 電腦 安裝 bubuko 幹貨 IV onf 虛擬機克隆 技巧 問題現象:   有時候,會使用VMware虛擬機的的克隆功能,快速的復制已安裝好的Linux系統。   可是克隆完之後,會發現沒有eth0網卡。

linux Centos 7.5 安裝桌面環境GNOME

cfb alt kde works des nag yum ima 感覺 一、查看運行級別,輸入命令:runlevel 二、查看centos7.5系統中沒有是否安裝過桌面環境工具,輸入命令:yum grouplist | more註:此命令還顯示了系統安裝過程中沒有被安裝的

<3>Centos系統完整安裝python流程

宋體 安裝 進入 class exp 自帶 config eve ncurses 一、環境 系統:Centos7 Python:3.6.5 自帶pip、setuptools 二、命令 說的多,不如直接上命令: 1,安裝依賴 yum -y instal

Linux CentOS 7 編譯安裝PostgreSQL 10.1

重啟: su postgres cd /usr/local/postgresql/bin ./pg_ctl -D /usr/local/postgresql/data/ -l logfile restart 配置編譯安裝 先去官網下載需要的包 https://www.postgr

Centos系統安裝influxdb

influxdb是目前比較流行的時間序列資料庫。時間序列也就是裡面的每條資料都會有一個時間戳的欄位,方便基於時間的統計,查詢過濾等。內建很多常見的度量函式,還能類似Nosql一樣的無結構話,可以直接插入資料,新建表,隨時通過插入資料改變表結構等,非常方便好用,支援http api,可以通過http協

Centos系統安裝collectd

一、本機配置: Linux version 2.6.32-504.el6.x86_64   CentOS release 6.6 (Final) Kernel \r on an \m 二、下載collectd最新安裝包 訪問官網:https://collect