版本说明:
OS:ubuntu12.04 64bit
Opencv:2.4.8
目标:
在ubuntu12.04 64位操作系统上运行32位opencv。
问题:
在64位ubuntu上编译opencv得到的时64位版的。网上找了很多方法都没解决。
解决办法:
在ubuntu12.04 32位版本上编辑opencv,然后将编译后的文件拷贝到64位ubuntu上运行。缺少的32位依赖包可以通过getlibs工具下载安装。
具体步骤:
1、32位ubuntu 上编译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拷贝到64位ubuntu环境下。
2、64位ubuntu下部署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
3、sudo 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
至此64位ubuntu 上运行32位opencv的环境依赖库安装完毕。
5、部署32位opencv
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
相关推荐
Ubuntu 12.04 是一个流行的 Linux 操作系统,无界面版本是指没有图形用户界面的操作系统。在这个标题中,我们将学习如何在 Ubuntu 12.04 无界面版本中安装 OpenCV 2.4.9,并编写简单的程序来测试安装是否成功。 ...
文中提到的是在Ubuntu 12.04 LTS版本上安装OpenCV 2.4.1版本。LTS是Long-Term Support的缩写,代表该版本系统会有长期的技术支持。在进行安装之前,需要确保系统是最新状态,以便获取最新的软件包和安全性更新。 在...
本文主要讲解如何在Ubuntu 12.04系统上源码编译安装CMake版本2.8.5,以及配置相应的环境变量,同时涉及到在Ubuntu下安装OpenCV并支持交叉编译的相关步骤。 首先,我们需要注意的是,尽管文章中提到的版本是cmake-*....
这个版本2.4.9是在Ubuntu 12.04操作系统上通过arm-none-linux-gnueabi交叉编译工具链构建的,意味着它可以在非x86架构的设备上运行,比如嵌入式系统或树莓派等使用ARM处理器的设备。 描述中提到,“在ubuntu12.04上...
标题 "4.3.2交叉编译好的opencv2.4.9的库可直接移植" 暗示了本文将探讨如何在Linux环境下,特别是Ubuntu 12.04操作系统上,通过交叉编译的方式为特定的硬件平台(如iTOP4412开发板)构建OpenCV 2.4.9版本的库,并将...
OpenCV 支持多种编程语言如 C++、Python 等,并能在多个操作系统环境下运行。对于嵌入式设备来说,如 ARM 架构的开发板,移植 OpenCV 库是一项重要的工作,以便能够在资源有限的平台上实现计算机视觉应用。 #### 二...
这个压缩包主要用于Ubuntu 12.04操作系统,它包含了一个OpenCV 3.1.0版本的测试示例,特别是涉及到边缘检测的Sobel算子和灰度图像处理。 OpenCV(开源计算机视觉库)是一个广泛使用的跨平台计算机视觉库,它包含了...
标题 "canny.tar.gz" 暗示这是一个包含Canny边缘检测算法的示例项目,用于Ubuntu 12.04操作系统,使用了OpenCV 3.1.0库。OpenCV是一个开源计算机视觉库,提供了多种图像处理和计算机视觉功能,而Canny算法是图像处理...
根据文档提供的信息,本例中使用的是Ubuntu 12.04 LTS操作系统,Python版本为2.7.3,而OpenCV的版本则为2.3.1-7。在这一环境中,首先需要通过以下命令安装必要的依赖: ```bash sudo apt-get install libopencv-* ...
在这个例子中,使用的操作系统是Ubuntu 12.04 LTS,Python版本为2.7.3,而OpenCV的版本为2.3.1-7。确保正确安装了必要的依赖库,如`libopencv-*`、`python-opencv`和`python-numpy`,可以通过运行以下命令来安装: ...
烧写完成后,将SD卡插入Pandaboard,启动设备,通过HDMI和串口登录Ubuntu12.04系统。 #### 交叉编译环境建立 交叉编译是指在性能更强大的宿主机(PC)上为性能较弱的目标机(如Pandaboard)编译程序的编译方式。...
该软件包仅在 Ubuntu 12.04 上进行了 ROS Hydro 测试。 协作无人机本地化还需要 OpenCV 和 Eigen。 可以按照和网站上的说明安装它们。 要使用游戏手柄joy/joy_node控制无人机,我们使用joy/joy_node 。 可以按照...
ROS是一个先进的机器人操作系统框架,现今已有数百个研究团体和公司将其应用在机器人行业中。对于机器人技术的非专业人士来说,它也相对容易上手。在本书中,你将了解如何安装ROS,如何开始使用ROS的基本工具,以及...
本文在VirtualBox虚拟机上安装了Ubuntu 12.04操作系统,构建了软件开发环境。为了生成可以在ARM平台上运行的可执行文件,需要安装交叉编译器arm-linux-gcc。通过使用命令“$tar zxvf arm-linux-gcc.tar.gz”安装...
- **ROS简介**:ROS(Robot Operating System)并非传统意义上的操作系统,而是一套为机器人编程设计的灵活框架。它提供了强大的消息传递机制、硬件抽象层以及一系列用于开发机器人应用的工具和服务。 - **ROS版本**...