`

在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

分享到:
评论

相关推荐

    ubuntu12.04(无界面版本)安装opencv2.4.9攻略.docx

    Ubuntu 12.04 是一个流行的 Linux 操作系统,无界面版本是指没有图形用户界面的操作系统。在这个标题中,我们将学习如何在 Ubuntu 12.04 无界面版本中安装 OpenCV 2.4.9,并编写简单的程序来测试安装是否成功。 ...

    OpenCV在Ubuntu上脚本自动安装

    文中提到的是在Ubuntu 12.04 LTS版本上安装OpenCV 2.4.1版本。LTS是Long-Term Support的缩写,代表该版本系统会有长期的技术支持。在进行安装之前,需要确保系统是最新状态,以便获取最新的软件包和安全性更新。 在...

    ubuntu12.04安装cmake-2.8.5及环境配置

    本文主要讲解如何在Ubuntu 12.04系统上源码编译安装CMake版本2.8.5,以及配置相应的环境变量,同时涉及到在Ubuntu下安装OpenCV并支持交叉编译的相关步骤。 首先,我们需要注意的是,尽管文章中提到的版本是cmake-*....

    arm版opencv-2.4.9

    这个版本2.4.9是在Ubuntu 12.04操作系统上通过arm-none-linux-gnueabi交叉编译工具链构建的,意味着它可以在非x86架构的设备上运行,比如嵌入式系统或树莓派等使用ARM处理器的设备。 描述中提到,“在ubuntu12.04上...

    4.3.2交叉编译好的opencv2.4.9的库可直接移植

    标题 "4.3.2交叉编译好的opencv2.4.9的库可直接移植" 暗示了本文将探讨如何在Linux环境下,特别是Ubuntu 12.04操作系统上,通过交叉编译的方式为特定的硬件平台(如iTOP4412开发板)构建OpenCV 2.4.9版本的库,并将...

    opencv移植到arm教程

    OpenCV 支持多种编程语言如 C++、Python 等,并能在多个操作系统环境下运行。对于嵌入式设备来说,如 ARM 架构的开发板,移植 OpenCV 库是一项重要的工作,以便能够在资源有限的平台上实现计算机视觉应用。 #### 二...

    soble-gray.tar.gz

    这个压缩包主要用于Ubuntu 12.04操作系统,它包含了一个OpenCV 3.1.0版本的测试示例,特别是涉及到边缘检测的Sobel算子和灰度图像处理。 OpenCV(开源计算机视觉库)是一个广泛使用的跨平台计算机视觉库,它包含了...

    canny.tar.gz

    标题 "canny.tar.gz" 暗示这是一个包含Canny边缘检测算法的示例项目,用于Ubuntu 12.04操作系统,使用了OpenCV 3.1.0库。OpenCV是一个开源计算机视觉库,提供了多种图像处理和计算机视觉功能,而Canny算法是图像处理...

    python使用opencv进行人脸识别.doc

    根据文档提供的信息,本例中使用的是Ubuntu 12.04 LTS操作系统,Python版本为2.7.3,而OpenCV的版本则为2.3.1-7。在这一环境中,首先需要通过以下命令安装必要的依赖: ```bash sudo apt-get install libopencv-* ...

    python使用opencv进行人脸识别

    在这个例子中,使用的操作系统是Ubuntu 12.04 LTS,Python版本为2.7.3,而OpenCV的版本为2.3.1-7。确保正确安装了必要的依赖库,如`libopencv-*`、`python-opencv`和`python-numpy`,可以通过运行以下命令来安装: ...

    pandaboard开发手册

    烧写完成后,将SD卡插入Pandaboard,启动设备,通过HDMI和串口登录Ubuntu12.04系统。 #### 交叉编译环境建立 交叉编译是指在性能更强大的宿主机(PC)上为性能较弱的目标机(如Pandaboard)编译程序的编译方式。...

    CollaborativeDroneLocalization

    该软件包仅在 Ubuntu 12.04 上进行了 ROS Hydro 测试。 协作无人机本地化还需要 OpenCV 和 Eigen。 可以按照和网站上的说明安装它们。 要使用游戏手柄joy/joy_node控制无人机,我们使用joy/joy_node 。 可以按照...

    ROS机器人程序设计

    ROS是一个先进的机器人操作系统框架,现今已有数百个研究团体和公司将其应用在机器人行业中。对于机器人技术的非专业人士来说,它也相对容易上手。在本书中,你将了解如何安装ROS,如何开始使用ROS的基本工具,以及...

    基于ARM9嵌入式平台的人脸识别系统设计。

    本文在VirtualBox虚拟机上安装了Ubuntu 12.04操作系统,构建了软件开发环境。为了生成可以在ARM平台上运行的可执行文件,需要安装交叉编译器arm-linux-gcc。通过使用命令“$tar zxvf arm-linux-gcc.tar.gz”安装...

    ros_by_example_hydro_volume_1.pdf

    - **ROS简介**:ROS(Robot Operating System)并非传统意义上的操作系统,而是一套为机器人编程设计的灵活框架。它提供了强大的消息传递机制、硬件抽象层以及一系列用于开发机器人应用的工具和服务。 - **ROS版本**...

Global site tag (gtag.js) - Google Analytics