`

在ubuntu12.04 64位操作系统上运行32位opencv

阅读更多

版本说明:

OSubuntu12.04 64bit

Opencv2.4.8

目标:

ubuntu12.04 64位操作系统上运行32opencv

问题:

    64ubuntu上编译opencv得到的时64位版的。网上找了很多方法都没解决。

解决办法:

   ubuntu12.04 32位版本上编辑opencv,然后将编译后的文件拷贝到64ubuntu上运行。缺少的32位依赖包可以通过getlibs工具下载安装。

 

具体步骤:

132ubuntu 上编译opencv

1、安装依赖包:

 

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev

 

 

2、然后下载openCV的源码包并解压出来,进入解压出来的目录

 

cd  ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..然后安装
make
sudo make install

 

 

3、安装完毕后,会在/usr/local/bin/usr/local/lib目录下出现如下文件

 

hadoop@ubuntu32bit:/$ ll /usr/local/bin/
total 688
drwxr-xr-x  2 root root   4096 Apr  3 16:25 ./
drwxr-xr-x 10 root root   4096 Apr  3 14:13 ../
-rwxr-xr-x  1 root root 200738 Apr  3 16:23 opencv_createsamples*
-rwxr-xr-x  1 root root 200700 Apr  3 16:23 opencv_haartraining*
-rwxr-xr-x  1 root root  16961 Apr  3 16:23 opencv_performance*
-rwxr-xr-x  1 root root 268920 Apr  3 16:23 opencv_traincascade*

 

hadoop@ubuntu32bit:/$ ls /usr/local/lib/
libopencv_calib3d.so           libopencv_gpu.so            libopencv_nonfree.so          libopencv_superres.so
libopencv_calib3d.so.2.4       libopencv_gpu.so.2.4        libopencv_nonfree.so.2.4      libopencv_superres.so.2.4
libopencv_calib3d.so.2.4.8     libopencv_gpu.so.2.4.8      libopencv_nonfree.so.2.4.8    libopencv_superres.so.2.4.8
libopencv_contrib.so           libopencv_highgui.so        libopencv_objdetect.so        libopencv_ts.a
libopencv_contrib.so.2.4       libopencv_highgui.so.2.4    libopencv_objdetect.so.2.4    libopencv_video.so
libopencv_contrib.so.2.4.8     libopencv_highgui.so.2.4.8  libopencv_objdetect.so.2.4.8  libopencv_video.so.2.4
libopencv_core.so              libopencv_imgproc.so        libopencv_ocl.so              libopencv_video.so.2.4.8
libopencv_core.so.2.4          libopencv_imgproc.so.2.4    libopencv_ocl.so.2.4          libopencv_videostab.so
libopencv_core.so.2.4.8        libopencv_imgproc.so.2.4.8  libopencv_ocl.so.2.4.8        libopencv_videostab.so.2.4
libopencv_features2d.so        libopencv_legacy.so         libopencv_photo.so            libopencv_videostab.so.2.4.8
libopencv_features2d.so.2.4    libopencv_legacy.so.2.4     libopencv_photo.so.2.4        pkgconfig
libopencv_features2d.so.2.4.8  libopencv_legacy.so.2.4.8   libopencv_photo.so.2.4.8      python2.7
libopencv_flann.so             libopencv_ml.so             libopencv_stitching.so
libopencv_flann.so.2.4         libopencv_ml.so.2.4         libopencv_stitching.so.2.4
libopencv_flann.so.2.4.8       libopencv_ml.so.2.4.8       libopencv_stitching.so.2.4.8

 


 


<!--[endif]-->

4、将opencv的可执行文件和库文件备份。

 

sudo mkdir opencv-2.4.8-i386
sudo mkdir opencv-2.4.8-i386/bin
sudo mkdir opencv-2.4.8-i386/lib
sudo cp /usr/local/bin/opencv* opencv-2.4.8-i386/bin
sudo cp /usr/local/lib/libopencv* opencv-2.4.8-i386/lib

 

 

 

5、将opencv-2.4.8-i386拷贝到64ubuntu环境下。

264ubuntu下部署32位软件

1、在ubuntu64位环境下安装32位兼容环境和getlibs

 

apt-get install ia32-libs getlibs

 

 

 

2、通过getlibs下载opencv依赖的32位库文件

  

sudo getlibs  -p  libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev  libswscale-dev libjasper-dev

 

 

然后依赖的库文件加入到系统共享中

sudo vi /etc/ld.conf.

 

include /etc/ld.so.conf.d/*.conf
/usr/lib32/i386-linux-gnu/

  sudo ldconfig

3sudo getlibs  opencv_createsamples  

 

hadoop@ubuntu05:~/bin$ sudo getlibs  opencv_createsamples 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ia32-libs is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 54 not upgraded.
libvpx.so.1: libvpx1
libschroedinger-1.0.so.0: libschroedinger-1.0-0
libopenjpeg.so.2: libopenjpeg2
libgsm.so.1: libgsm1
libdirac_encoder.so.0: libdirac-encoder0
The following i386 packages will be installed:
libdirac-encoder0
libgsm1
libopenjpeg2
libschroedinger-1.0-0
libvpx1
Continue [Y/n]? 

  

4、等在依赖的库下载完毕后,将动态库加入系统共享中

 

sudo vi /etc/ld.conf.

 

include /etc/ld.so.conf.d/*.conf
/usr/lib32/i386-linux-gnu/
/usr/lib32

 

 

sudo ldconfig

 

至此64ubuntu 上运行32opencv的环境依赖库安装完毕。

5、部署32opencv

 

sudo cp opencv-2.4.8-i386/bin/* /usr/local/bin
sudo cp –r opencv-2.4.8-i386/lib /usr/local/lib/openvc

 

    sudo vi /etc/ld.so.conf 增加如下内容

/usr/local/lib/opencv  

   sudo ldconfig

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics