by 20150517
1.1下載openCV
首先是下載opencv亡笑,在openCV的最新版本中有提供對(duì)GPU的支持。因此我們最好下載opencv3.1
在http://opencv.org/網(wǎng)址中找到下載連接,
https://github.com/Itseez/opencv/archive/3.1.0.zip(此處可以使用wget命令)
我用的是ubuntuServer版,沒(méi)有desktop,因此試圖在github上找到鏈接
發(fā)現(xiàn)github上的這個(gè)鏈接似乎不能用git,那就不用wget。
git clonehttps://github.com/Itseez/opencv.git(https://github.com/Itseez/opencv.git)
好窿春,opencv下載之后的目錄如下:
1.2編譯Opencv
接下來(lái)編譯:
(此處參考o(jì)pencev的官方文檔:http://opencv.org/quickstart.html)
1.2.3第一步:檢測(cè)依賴包似乎否安裝
編譯之前,先檢查是否安裝依賴的包:
sudo apt-get installbuild-essential
sudo apt-get installcmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-devlibswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-devlibjpeg-dev libpng-dev libtiff-dev libjasper-dev
libdc1394-22-dev
1.2.4第二步build Opencv
當(dāng)保證opencv所以來(lái)的文件已經(jīng)ubuntu環(huán)境下安裝之后
cd~/opencv##切換到opencv所在的目錄下
mkdir build##創(chuàng)建bild文件采盒,用于存放build文件
cd ./build##進(jìn)入剛剛創(chuàng)建的build目錄
具體操作如下:
接下來(lái)旧乞,進(jìn)入此目錄之后,進(jìn)行cmdke
cmake -DCMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
##注意這里是..代表biuld的父目錄磅氨。
PS:
這句話是說(shuō):將來(lái)安裝的時(shí)候會(huì)放在/usr/local/下尺栖;build類型為發(fā)布版。
然后在build目錄下進(jìn)行編譯:
運(yùn)行效果如下:
make –j 20#用20個(gè)線程進(jìn)行進(jìn)行編譯
新版本的Opencv對(duì)Cuda進(jìn)行了支持烦租。如果你的電腦上安裝有Cuda延赌,則會(huì)出現(xiàn)一下信息
Make完畢之后,代表著編譯結(jié)束叉橱。
接下來(lái)在當(dāng)前目錄下挫以,安裝編譯好的opencv
sudomake install
另外也可以選擇生成opencv的文檔
cd~/opencv/build/doc/
make -j7 html_docs
安裝類庫(kù):(在build目錄下執(zhí)行)
sudo make install
至此opencv安裝成功。現(xiàn)在測(cè)試:
使用vim輸入一下內(nèi)容:
#include
#include
using namespace cv;
int main(int argc, char** argv )
{
if ( argc != 2 )
{
printf("usage: DisplayImage.out\n");
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;
}
gedit CMakeLists.txt
寫(xiě)入如下內(nèi)容
cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
cd ~/opencv-lena
cmake .
make
./DisplayImage lena.jpg##此一個(gè)用程序用于顯示圖片窃祝。
最后掐松,安裝openCV對(duì)python的支持:
1.3安裝python-opencv
可直接使用apt安裝
sudo apt-get install python-opencv
sudo apt-get install python-numpy ##此類庫(kù)包含opencv有關(guān)科學(xué)計(jì)算操作的函數(shù)
第二章TenseorFlow安裝
2.1閱讀文檔
https://www.tensorflow.org/versions/r0.8/get_started/os_setup.html
2.2安裝TensorFlow
#安裝PIP
#Ubuntu/Linux 64-bit
$ sudo apt-get install python-pip python-dev
# Mac OS X
$ sudo easy_install pip
#Install TensorFlow
# Ubuntu/Linux 64-bit, CPU only:
$ sudo pip install --upgradehttps://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
# Ubuntu/Linux 64-bit, GPU enabled. Requires CUDA toolkit 7.5 and CuDNNv4.For
# other versions, see "Install from sources" below.
$ sudo pip install --upgradehttps://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
# Mac OS X, CPU only:
$ sudo easy_install --upgrade six
$ sudo pip install --upgrade
https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl
根據(jù)
# Ubuntu/Linux64-bit,GPUenabled.RequiresCUDA toolkit 7.5andCuDNN v4.For
# other versions, see "Install from sources" below.
$ sudo pip install --upgradehttps://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
接下來(lái)是下載CuDNNv4
CuDNN安裝說(shuō)明
CuDNN是專門針對(duì)Deep Learning框架設(shè)計(jì)的一套GPU計(jì)算加速方案,目前支持的DL庫(kù)包括Caffe粪小,ConvNet, Torch7等大磺。
CuDNN可以在官網(wǎng)免費(fèi)獲得,注冊(cè)帳號(hào)后即可下載探膊。官網(wǎng)沒(méi)有找到安裝說(shuō)明杠愧,下載得到的壓縮包內(nèi)也沒(méi)有Readme.不過(guò)google一下就會(huì)找到許多說(shuō)明⊥幌耄基本原理是把lib文件加入到系統(tǒng)能找到的lib文件夾里殴蹄,把頭文件加到系統(tǒng)能找到的include文件夾里就可以。這里把他們加到CUDA的文件夾下(參考這里)
https://github.com/tiangolo/caffe/blob/ubuntu-tutorial-b/docs/install_apt2.md
具體過(guò)程如下:在安裝好cuda7.5之后猾担。我們可以安裝Cudnnv4袭灯,
下載并安裝了cudnn之后,下載安裝tensorFlow
并測(cè)試绑嘹,測(cè)試代碼如下:
實(shí)驗(yàn)過(guò)程中遇到的錯(cuò)誤:
Deeper-anpr提取圖片稽荧,出現(xiàn)以下錯(cuò)誤:
錯(cuò)誤的原因:
'module' object has no
attribute 'CV_LOAD_IMAGE_GRAYSCALE
也就是說(shuō)cv這個(gè)模塊沒(méi)有LoadImage()這個(gè)函數(shù)
你打開(kāi)cv的源代碼看看,或者使用dir(cv)看看這個(gè)模塊都有什么屬性
猜測(cè)可能是cv.OpenImage()