今天安裝opencv2.3.0在自己的機器上,因爲覺得用腳本執行一系列安裝的命令比較方便,所有花了一天的時間初步學習了怎麼編寫最簡單的shell 腳本。
首先安裝Opencv2.3.0需要cmake 配合。所以去官網上下載了cmake2.8的源碼進行編譯安裝。
其實安裝cmake 的步驟並不複雜,需要先安裝g++ 然後在cmake 的目錄裏面make && make install 。但是今天要使用shell 腳本來執行自動下載和安裝就比較麻煩了。附上源代碼。
代碼本身並作過多的解釋,應該很容易看得懂,就是首先下載,然後解壓,然後判斷當前的系統是否已經安裝了g++,之後在編譯安裝。
不過最要命的問題是在執行shell腳本的時候會出現:unexpected operator.這樣的錯誤。查閱資料後發現瞭解決的方法,在我的另外一篇文字中http://blog.csdn.net/bush2582/article/details/20140871
之後,就順順利利的搞定了。
#########################################################################
# File Name: Install_cmake.sh
# Author: ma6174
# mail: [email protected]
# Created Time: 2014年02月28日 星期五 13時32分53秒
#########################################################################
#!/bin/bash
##############################################
# FunctionName:echocolor
# Author: bush2582
# Role:the output will have color
# Created Time:
##############################################
echocolor( )
{
echo -e "\e[0;33m${@}\e[0m";
}
##############################################
# FunctionName:InstallGCC
# Author: bush2582
# Role:check g++ is already in system
# Created Time:
##############################################
function InstallGCC ( )
{
which g++;
if [ $? -eq 1 ];
then
read -p " g++ is not installed in this system do you want to install? (Y/y/n/N) " ynInstall_GCC;
if [ $ynInstall_GCC = "Y" ] || [ $ynInstall_GCC = "y" ] ;
then
#echo " now we will install g++ ";
echocolor "now we will install g++"
sudo apt-get install g++;
fi
else
echocolor "g++ already install in this system ";
fi
}
##############################################
# FunctionName:InstallCmake
# Author: bush2582
# Role:install Cmake
# Created Time:
##############################################
function InstallCmake( )
{
InstallGCC;
echocolor " now we will star the program that CMake is installed in this system ";
cd cmake-2.8.0;
./configure;
sudo make;
sudo make install;
exit 0;
}
#########################################################################
read -p "Do you want to download Cmake? (Y/y/n/N)?" downyn
if [ $downyn = "Y" ] || [ $downyn = "y" ];
then
wget http://down1.chinaunix.net/distfiles/cmake-2.8.0.tar.gz;
echocolor "now Staring Tar cmake";
tar -xvf cmake-2.8.0.tar.gz;
else
echocolor "now Staring Tar cmake";
tar -xvf cmake-2.8.0.tar.gz;
fi
read -p " Do you want to install camke now (Y/y/n/N)? " yn
if [ $yn = "y" ] || [ $yn = "Y" ] ;
then
InstallCmake;
else
exit 0;
fi
#######################################################################
# File Name: LoadOpencv.sh
# Author: ma6174
# mail: [email protected]
# Created Time: 2014年02月28日 星期五 10時46分11秒
#########################################################################
#!/bin/bash
#--------------------------------------------#
# FunctionName:echocolor
# Author: bush2582
# Role:the output will have color
# Created Time:
#--------------------------------------------#
echocolor( )
{
echo -e "\e[0;33m${@}\e[0m";
}
read -p "Do you want to download Opencv-2.3.0? (Y/N)" DownLoadOpencv
if [ $DownLoadOpencv = "Y" ];
then
echocolor "now Staring downLoad Opencv2.3.0 ";
wget http://nchc.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.3/OpenCV-2.3.0.tar.bz2;
echocolor "Staring tar OpenCV-2.3.0.tar.bz2 "
tar -xvf OpenCV-2.3.0.tar.bz2
else
tar -xvf OpenCV-2.3.0.tar.bz2
echocolor "Staring tar OpenCV-2.3.0.tar.bz2 "
fi
cd OpenCV-2.3.0
sudo mkdir relese
cd relese
read -p "Please input Dir which you want to install " Dir
sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=$Dir -D BUILD_PYTHON_SUPPORT=ON ..
read -p "now we will star opencv make&&install in $Dir .Do you want to continue?( Y/N ) " GoOn
if [ $GoOn = "Y" ] ;
then
sudo make
sudo make install
else
exit 0;
fi