
将EMCV移植至DM6467(1)-C++工程测试
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本项目致力于将EMCV库成功移植到TI公司的DM6467处理器平台上,并通过搭建C++开发环境进行功能测试,旨在验证其在视频处理和流媒体应用中的性能与稳定性。
### 移植EMCV到DM6467(1)- C++工程测试
#### 一、移植背景与目的
在嵌入式系统开发领域中,特别是在图像处理的应用场景下,经常需要将复杂的计算机视觉算法移植至特定硬件平台上。本段落旨在介绍如何将EMCV库移植到TI的DM6467处理器上,并进行初步的功能测试。EMCV(Embedded Computer Vision Library)是一个专为TI的DM64x系列DSP设计的计算机视觉库,它提供了与OpenCV几乎一致的API接口,这使得开发者能够快速地将原本基于OpenCV的算法移植到DSP平台而无需大量的代码重写工作。
#### 二、EMCV简介
EMCV的主要特点包括:
- **接口一致性**:其API与OpenCV高度相似,这意味着用户可以无缝地迁移现有的OpenCV代码至EMCV中。
- **数据结构支持**:包含如IplImage、CvMat和CvSeq等基本数据结构的支持,这些是OpenCV中的常见元素。
- **函数库覆盖范围**:包括了图像创建与释放(例如`cvCreateImage`)、轮廓检测等功能,涵盖了OpenCV中基础的图像处理操作。
#### 三、移植步骤详解
##### 3.1 下载并准备EMCV源码
第一步是从官方源码仓库获取EMCV源代码。具体步骤如下:
1. **下载EMCV源码**:通过SVN工具从SourceForge上的指定位置获取。
2. **存放源文件**:将获得的EMCV源码放置在本地计算机的一个合适目录下,例如`D:OpenCVprojects`。
##### 3.2 在CCS中建立DSP工程
接下来,在Code Composer Studio (CCS)环境中创建一个新的TMS320C6++系列DSP工程,并按照以下步骤进行配置:
1. **新建DSP工程**:选择适当的TMS320C6++系列,然后创建一个out模式的项目。
2. **添加源文件**:
- 将EMCV库中的`cv`和`cxcore`两个目录复制到项目的指定位置下。
- 在项目中加入所有的`.cpp`文件,并且包括必要的链接库如`rts64plus.lib`.
3. **修改编译选项**:
- 设置预处理头文件搜索路径,例如添加相应的源代码路径至工程配置项内。
- 使用适当的链接器命令(如`--no_sym_merge`)来避免可能出现的错误。
4. **编写CMD文件**:
- 编写分配存储区域的CMD文件。考虑到EMCV对内存的需求较大,所有段应放置在DDR2中。
- 特别注意设置合理的堆栈和堆大小,建议设置为`0x00020000`和`0x00800000`.
##### 3.3 修改源文件
由于EMCV的部分代码采用了C++语法,在CCS环境中可能不完全兼容。因此需要对部分源文件进行修改以确保正确编译与运行。具体如下:
1. **cxmisc.h中的`cvGetMatSize`函数**:
- 原始版本:`CvSize size = {mat->width, mat->height};`
- 修改后:`CvSize size; size.width = mat->cols; size.height = mat->rows;`
2. **cxmisc.h中的`cvAlignPtr`函数**:
- 修正指针对齐计算逻辑,确保正确对齐。
#### 四、总结
通过上述步骤可以成功地将EMCV库移植到DM6467平台,并建立一个基本的测试工程。这种方式大大简化了图像处理算法向DSP平台迁移的过程,也为后续开发奠定了坚实的基础。需要注意的是,在实际操作中还需要根据具体情况进行一些细节上的调整来保证软件的稳定性和性能表现。
全部评论 (0)


