OpenCV开源图像处理函数库在S3C2440移植

发布者:DazzlingGaze最新更新时间:2024-06-13 来源: elecfans关键字:OpenCV  S3C2440  移植 手机看文章 扫描二维码
随时随地手机看文章

一、简介

  • OpenCV是一个基于C/C++语言的开源图像处理函数库

  • 其代码都经过优化,可用于实时处理图像

  • 具有良好的可移植性

  • 可以进行图像/视频载入、保存和采集的常规操作

  • 具有低级和高级的应用程序接口(API)


二、功能说明

  • 图像数据操作(内存分配与释放,图像复制、设定和转换)

  • Image data manipulation (allocation, release, copying, setting, conversion).

  • 图像/视频的输入输出(支持文件或摄像头的输入,图像/视频文件的输出)

  • Image and video I/O (file and camera based input, image/video file output).

  • 矩阵/向量数据操作及线性代数运算(矩阵乘积、矩阵方程求解、特征值、奇异值分解)

  • Matrix and vector manipulation and linear algebra routines (products, solvers, eigenvalues, SVD).

  • 支持多种动态数据结构(链表、队列、数据集、树、图)

  • Various dynamic data structures (lists, queues, sets, trees, graphs).

  • 基本图像处理(去噪、边缘检测、角点检测、采样与插值、色彩变换、形态学处理、直方图、图像金字塔结构)

  • Basic image processing (filtering, edge detection, corner detection, sampling and interpolation, color conversion, morphological operations, histograms, image pyramids).

  • 结构分析(连通域/分支、轮廓处理、距离转换、图像矩、模板匹配、霍夫变换、多项式逼近、曲线拟合、椭圆拟合、狄劳尼三角化)

  • Structural analysis (connected components, contour processing, distance transform, various moments, template matching, Hough transform, polygonal approximation, line fitting, ellipse fitting, Delaunay triangulation).

  • 摄像头定标(寻找和跟踪定标模式、参数定标、基本矩阵估计、单应矩阵估计、立体视觉匹配)

  • Camera calibration (finding and tracking calibration patterns, calibration, fundamental matrix estimation, homography estimation, stereo correspondence).

  • 运动分析(光流、动作分割、目标跟踪)

  • Motion analysis (optical flow, motion segmentation, tracking).

  • 目标识别(特征方法、HMM模型)

  • Object recognition (eigen-methods, HMM).

  • 基本的GUI(显示图像/视频、键盘/鼠标操作、滑动条)

  • Basic GUI (display image/video, keyboard and mouse handling, scroll-bars).

  • 图像标注(直线、曲线、多边形、文本标注)

  • Image labeling (line, conic, polygon, text drawing)


三、在S3C2440上移植

   环境:RedHat AS5

  • 1、涉及的文件

  • libjpeg、libpng、libz、openCV2.0 。

  • 下载在

  • $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

  • 下载在Linux公社的1号FTP服务器里,下载地址:

    FTP地址:ftp://www.linuxidc.com

    用户名:www.linuxidc.com

    密码:www.muu.cc

    在 2011年LinuxIDC.com10月OpenCV开源图像处理函数库在S3C2440移植

    下载方法见 http://www.linuxidc.net/thread-1187-1-1.html

  • $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

2、编��OpenCV的完整过程:

  • step0:准备环境变量

  • #export OPENCV_BUILD_DIR=/home/openCV/install

    step1: 编译zlib
    #tar xzf zlib-1.2.4.tar.gz
    #cd zlib-1.2.4
    ./configure --prefix=$OPENCV_BUILD_DIR/install
    #vi Makefile
    替换gcc为arm-linux-gcc
    替换ar为arm-linux-ar
    替换ranlib为arm-linux-ranlib
    #make
    #make install

    step2:编译jpeg库
    #tar xzf jpegsrc.v8a.tar.gz
    #cd jpeg-8a
    ./configure --host=arm-linux --prefix=$OPENCV_BUILD_DIR/install
    #make
    #make install

    step3:编译libpng库
    #tar xzf libpng-1.2.43.tar.gz
    #cd libpng-1.2.43
    ./configure --host=arm-linux --prefix=$OPENCV_BUILD_DIR/install
    #make
    #make install

    step4:编译OpenCV
    #tar xjf OpenCV-2.0.0.tar.bz2
    #cd OpenCV-2.0.0
    #./configure --host=arm-linux --without-gtk --without-carbon  --without-quicktime --without-1394libs --without-ffmpeg --without-Python --without-swig --disable-static --enable-shared --disable-apps CXX=arm-linux-g++  --prefix=$OPENCV_BUILD_DIR/install --libdir=$OPENCV_BUILD_DIR/install/lib -includedir=$OPENCV_BUILD_DIR/install/include
    #make
    #make install

    最后,strip生成的库:
    #find | xargs file | grep 'not stripped' | cut -d: -f1 | xargs arm-linux-strip


  • 3、编译程序

  • 编译基于openCV库的应用程序一般使用以下Makefile配合编译:

  • 注意LIBOPENCV变量的取值跟上面的一致

  •  

    1. TARGET = cvRect  

    2. SRC = cvRect.cpp  

    3.   

    4.   

    5. LIBOPENCV := /home/openCV/install  

    6. CFLAGS = -I$(LIBOPENCV)/include/opencv  

    7. LDFLAGS = -L$(LIBOPENCV)/lib -lm -lcv -lcvaux -lcxcore -lhighgui -lml -lpthread -ljpeg -lpng -lrt -lcxcore -lz  

    8.   

    9.   

    10. $(TARGET): $(SRC)  

    11.     arm-linux-g++ $(CFLAGS) $(SRC) -o $(TARGET) $(LDFLAGS)  

    12.     arm-linux-strip $(TARGET)  

    13.   

    14.   

    15. clean:  

    16.     rm -rf $(TARGET)  



关键字:OpenCV  S3C2440  移植 引用地址:OpenCV开源图像处理函数库在S3C2440移植

上一篇:Boa Web服务器在S3C2440开发板上移植
下一篇:Linux设备驱动工程师之路——触摸屏驱动s3c2410_ts.c分析

推荐阅读最新更新时间:2026-03-25 10:25

迅为i.MX6ULL开发板-移植OpenCv2.4.9-QT程序编译
1.将提供的 QT 文件下载完成后,放到 /home/topeet/opencv2.4.9/opencvinstall/文件夹下。进入/QT/demo 目录下。我们打开 opencv_pic.pro 工程来看。 Ubuntu# vi opencv_pic.pro 注意 INCLUDEPATH 需要修改为自己 OpenCV 安装文件夹下的 include 路径!lib 的目录必须是/QT/demo 目录的上两级目录。 2.搭建完成后。在 Ubuntu 终端执行下面的指令来使能 Qt 交叉编译的环境变量。 Ubuntu# source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-c
[单片机]
迅为i.MX6ULL开发板-<font color='red'>移植</font><font color='red'>OpenCv</font>2.4.9-QT程序编译
OpenCV2.0.0移植到ARM9(三)(JZ2440----S3c2440)
在前面已经交叉编译生成了OpenCV的库,libjpeg相关的库。下面尝试OpenCV应用程序编写与交叉编译。 1、opencv测试程序 test.cpp程序代码: #include stdio.h #include highgui.h #include imgproc.h int main(int argc,char *argv ) { IplImage* img = cvLoadImage( abc.jpg ); cvNamedWindow( Example1 , CV_WINDOW_AUTOSIZE); cvShowImage( Example1 , img); cvWaitKey(
[单片机]
<font color='red'>OpenCV</font>2.0.0<font color='red'>移植</font>到ARM9(三)(JZ2440----S3c2440)
OpenCV移植到ARM 全过程
我的环境 Host:VMware + Ubuntu 10.04 Target:Real6410 with Linux 2.6.38 Crossing Compiler:arm-linux-gcc 4.4.3 一 交叉编译链的安装 1 解压,即可得到 arm-none-linux-gnueabi 目录 # tar –xjvf arm-none-linux-gnueabi-4.3.2.tar.bz2 2 为了使用方便, 还可以编辑/etc/bash.bashrc 文件添加把编译器路径到环境变量 PATH 中 , 只要在这个文件中添加下面这 2 个语句即可: PATH=/root/ arm-none-linux-gnueab
[单片机]
mini6410成功移植OPENCV-2.0.0实现人脸检测
研究这个东西很长时间了,以前是想在arm9上实现这个东西,但是夭折了,现在正好手里面有mini6410的板子,而且对浮点数运算支持较好。所以就试了试。 实现的功能:移植opencv-2.0.0到mini6410,利用QT图形库实现人脸检测。在mini6410上利用Video for Linux接口和QT图形库,对摄像头数据进行采集和显示,在利用opencv的函数对采集的一帧图片进行处理。在利用QT图形库进行显示。 开发环境及工具: ubuntu10.10 gcc version 4.4.5 arm-linux-gcc-4.4.1 qt-4.7.2 opencv-2.0.0 1.开发环境的搭建 主要是交叉编译安装qt-4.7.2和交
[单片机]
mini6410成功<font color='red'>移植</font><font color='red'>OPENCV</font>-2.0.0实现人脸检测
opencv在arm和x86移植
一个、开发环境 操作系统:fedora14 Opencv版本号:2.0 Qt版本号:4.7 arm:mini6410 交叉编译工具:arm-linux-gcc-4.5.1 二、安装与配置 Linux系统的安装,交叉Qt-creator的安装还有交叉编译工具的安装,网上说的基本都没什么问题,測试后都能够用。 这里安装Qt-Creator遇到了一点小问题,依照网上的和mini6410开发手冊上的安装方法太复杂了。用QtSdk-offline-linux-x86-v1.2.1.run安装方便又准确。 这篇文章重点还是将怎样安装Opencv到linux下,而且配置Opencv到QT中。并实如今x86和arm平台上可以顺利执行qt+Op
[单片机]
<font color='red'>opencv</font>在arm和x86<font color='red'>移植</font>
OpenCV ffmpeg移植到ARM平台
前一篇写了如何在移植OpenCV库到ARM平台上,本来我只是用到OpenCV的打开USB摄像头获取图像到IplImage结构中,这用到了V4L2的底层函数。然后进行视频图像的帧处理。 那么如何用OpenCV读写ARM板上的视频文件,并进行视频处理呢?这该又将如何移植呢? 这个就必须要装x264,xvid和ffmpeg,和上一篇中讲的通过V4L2底层函数获取摄像头视频就有点不一样了。 下面就介绍一种方法。 测试环境:Ubuntu 12.04 LTS OpenCV版本:1.0 交叉编译器:arm-none-linux-gnueabi-4.3.2 步骤如下: 一 交叉编译libjpeg 为了使OpenCV能处理jpeg图像,
[单片机]
uboot在s3c2440上的移植(3)
一、移植环境 主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand,Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2.tgz u-boot:u-boot-2009.08.tar.bz2 二、移植步骤 5)准备进入u-boot的第二阶段(在u-boot中添加对我们开发板上Nand Flash的支持)。 目前u-boot中还没有对2440上Nand Flash的支持,也就是说要想u-boot从Nand Flash上启动得自己去实现了。 首先,在include/configs/my2440.h头文件中定义Nand要用到的宏和寄存器,如下: #gedit in
[单片机]
uboot在<font color='red'>s3c2440</font>上的<font color='red'>移植</font>(3)
基于S3C2440和DM9000移植LWIP(一)
使用mini2440已经有一段时间了。诸如裸机的LED,键盘开关等等等等也都试验过了,uCOS,WinCE也是浅尝了一下。如今想到了以太网。 由于mini2440的板上集成了一个DM9000的网卡,并且在CE系统里面成功的使用以太网与PC连接了。于是自然而然的想,能不能在uCOS下也实现以太网接口呢? 一上来什么都不懂,于是找一些资料,在这里要谢谢焦海波老师所著的嵌入式网络系统设计一书,移植过程中很多资料都来源于这本书。其次是mikenoodle的单片机驱动DM9000网卡一文,里面详细地讲述如何在2440裸机下驱动DM9000网卡。 首先明确我们需要做的事情是什么?为了实现在uCOS下的LWIP协议。我们当然需要一个LWIP协议
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved