ºìÁªLinuxÃÅ»§
Linux°ïÖú

Ubuntu 12.04ϰ²×°ÅäÖñàÒëʹÓÃOpenCV 2.3.0È«¹ý³Ì

·¢²¼Ê±¼ä:2014-06-07 15:31:34À´Ô´:ºìÁª×÷Õß:velcbo
¾­¹ý¼¸ÌìµÄŬÁ¦£¬³õ²½Íê³ÉÁ˶Ôopencv2.3.0µÄ°²×°ºÍʹÓ᣼ǼϹý³ÌÏ£Íû¶ÔËûÈËÓаïÖú¡£

Ê×ÏÈ£¬µÄ²½Ö赱ȻÊÇÏÂÔØºÍ±àÒëopencv£¬¸ù¾ÝÕâλ´óÉñÌṩµÄ˼·£¬°²×°ºÍ±àÒ뻹ÊDZȽÏÇáËÉ¡£Ö÷ÒªÓÐÒÔϼ¸²½£º

1¡¢ÏÂÔØopencv½âѹopencv

2¡¢½øÈë½âѹºóµÄĿ¼£¬½¨Á¢Ò»¸öĿ¼ÓÃÀ´°²·Å±àÒëºóµÄÎļþ£¬Ä¿Â¼µÄÃû×Ö×Ô¼ºÈ¡£¬ÎÒÈ¥µÄÃû×ÖÊÇrelease

3¡¢²»¼ÇµÃÄĸö°æ±¾µÄopencvÖ®ºó£¬±àÒëǰµÄÅäÖò»ÔÙÓÃconfigureÎļþÁË¡£¶ø¸ÄÓÃcmake £¬ËùÓиϽô¿´¿´×Ô¼ºµÄϵͳÖÐÊÇ·ñ°²×°ÁËcmake ûÓеϰ£¬¸Ï½ô°²×°°É¡£

4¡¢½øÈ¥ÎÒÃǸղŴ´½¨µÄĿ¼ÖУ¬ÔËÐÐcmake

5¡¢Ö®ºó¾ÍÊÇmake && make install ÁË¡£

ÕâÀïÌØ±ðÌáʾÄãÐèÒª°²×°Ò»¸ö¿â£¬²»È»ÔÚÔËÐеÄʱºòÄã¾Í»á·¢ÏÖÒ»¸öÎÊÌâ

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 /home/bush/OpencvSrc/OpenCV-2.3.0/modules/highgui/src/window.cpp, line 275

terminate called after throwing an instance of 'cv::Exception'

what(): /home/bush/OpencvSrc/OpenCV-2.3.0/modules/highgui/src/window.cpp:275: error: (-2) 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 function cvNamedWindow

ÎÊÌâµÄÔ­ÒòÐÅÏ¢ÒѾ­ÌáʾÁËÒª°²×°libgtk2.0-dev and pkg-config,Õâ¸ö²»ÄÑ,¼üÈëÒÔϵÄÃüÁî¾Í¿ÉÒÔÁË¡£pkg-configÒѾ­ÔÚϵͳÖа²×°ÁË¡£

ÒÔÉϼ¸¸ö²½Öè¶ÔÓ¦µÄÃüÁîÊÇ

1¡¢
wget http://nchc.dl.sourceforge.net/project/opencvlibrary/opencv-unix/2.3/OpenCV-2.3.0.tar.bz2

tar -xvf OpenCV-2.3.0.tar.bz2

2¡¢

cd OpenCV-2.3.0
sudo mkdir relese
cd relese
sudo apt-get install libgtk2.0-dev

3¡¢ÕâÀï¾ÍÐèÒª¿´¿´ÄãµÄϵͳÖÐÊÇ·ñ°²×°ÁËcmakeÁË£¬Èç¹ûûÓа²×°£¬¾ÍÇë×ÔÐа²×°°ÉÃüÁîÒ²ºÜ¼òµ¥

sudo apt-get install cmake

ÎÒÒ»°ã½«°²×°ºÍ±àÒëµÄ¹ý³ÌдÔڽű¾µ±ÖУ¬[code]#########################################################################
# File Name: Install_cmake.sh
# Author: ma6174
# mail: ma6174@163.com
# 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[/code]3¡¢ÕâÀïµÄ/usr/local/opencvÊÇÎÒ×Ô¶¨ÒåÔÚϵͳÖа²×°µÄ·¾¶

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -D BUILD_PYTHON_SUPPORT=ON ..

4¡¢ÅäÖúó×ÔÈ»¾ÍÊÇmake ºÍmake install ÁË

sudo make
sudo make install

µ±È»Äã¿ÉÒÔÑ¡Ôñ½Å±¾µÄ·½·¨À´°²×°£¬[code]#######################################################################
# File Name: LoadOpencv.sh
# Author: ma6174
# mail: ma6174@163.com
# 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
sudo apt-get install libgtk2.0-dev
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[/code]ÕâÀopencvµÄ°²×°ËãÊÇÍê³ÉÁË£¬²»¹ýÒªÔõôÓÃËü±àÒëÎÒ×Ô¼ºµÄÔ´´úÂëÄØ£¿

ÐèÒª×öһЩÅäÖù¤×÷ÁË¡£ÐèÒª×öÈçÏµļ¸²½¹¤×÷

1.Ìí¼Ó¿â·¾¶

sudo vim /etc/ld.so.conf.d/opencv.conf

/usr/local//opencv/lib(Ìí¼ÓÄÚÈÝ)

2.¸üÐÂϵͳ¿â

$sudo ldconfig

3.ÉèÖû·¾³±äÁ¿

export PKG_CONFIG_PATH=/usr/local/opencv/lib/pkgconfig:$PKG_CONFIG_PATH ÄãÒ²¿ÉÒÔÑ¡Ôñ½Å±¾£¬

ÕâÀï˵Ã÷¼¸µã£º1¡¢Ê¹ÓÃ>> ¿ÉÒÔÔÚÎļþµÄ×îºóÀÛ¼ÓÎÄ×Ö¡£2¡¢touch¿ÉÒÔÓÃÀ´´´½¨Ò»¸ö0×Ö½ÚµÄÎļþ¡£3¡¢grep -x ¿ÉÒÔÓÃÀ´ÑϸñÆ¥ÅäÎļþÖеÄÊý¾Ý¡£4¡¢file ÃüÁîÓÃÀ´²é¿´ÎļþÊÇ·ñ´æÔÚ¡££¨ÕâÀïÐèÒª×öÍêϵͳ»·¾³µÄÅäÖúó£¬ÖØÐ´ò¿ªÒ»¸öÃüÁîÐС£¹Ø±ÕÔ­À´µÄÃüÁîÐУ©

ºÃÁËÏÖÔÚopencvµÄϵͳ»·¾³ÅäÖúÃÁË£¬ÄÇôÎÒÃÇÔõô±àÒëÄØ£¿µ±È»ÓÃg++ ,²»¹ýÎÒ¾õµÃÊäÈëÒ»´ó¶ÑÃüÁîÌ«Âé·³£¬Ë÷ÐÔдÁ˸ömakefile Îļþ£¬[code]OBJS= test.o
CC=g++
INCLUDE= -I/usr/local/opencv/include -I/usr/local/opencv/include/opencv -I/home/bush/prj/linuxchuankou/include
LIB= -L /usr/local/opencv/lib `pkg-config --libs opencv`
Test:$(OBJS)
$(CC) -o Test $(OBJS) $(LIB)
test.o:test.cpp
$(CC) -c -g test.cpp $(INCLUDE)
clean:
-rm Test $(OBJS)
#`pkg-config --libs opencv` -I/usr/local/OpenCV-2.4.2/build/include/opencv2-lopencv_highgui -lopencv_core[/code]ÕâÊÇÎҵIJâÊÔÔ´Âë[code]/*************************************************************************
> File Name: test.cpp
> Author: bush2582
> Mail: bush2582@163.com
> Created Time: 2014Äê03ÔÂ02ÈÕ ÐÇÆÚÈÕ 15ʱ23·Ö01Ãë
************************************************************************/

#include
#include "cv.h"
#include "highgui.h"
using namespace std;
int main ( )
{
IplImage * img=cvLoadImage("1.png",0);
cvNamedWindow("img",1 );
cvShowImage("img",img );
cvWaitKey(0);
cvDestroyWindow("img");
cvReleaseImage(&img);
return 0;
}[/code]ÔÚÃüÁîÐÐÖмüÈëmake ¾Í¿ÉÒÔ±àÒëÍê³ÉÁ˹þ¡£

ÒÔÉϾÍÊÇopencv2.3.0µÄ±àÒë°²×°ºÍʹÓùý³Ì£¬Ï£Íû¶ÔÄãÓаïÖúŶ¡£

×÷Õߣºbush2582
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ