OpenCV中文网站

 找回密码
 立即注册
搜索
热搜: 安装 配置
查看: 5436|回复: 4

为什么EMCV可以支持嵌入式应用?

[复制链接]
发表于 2008-7-30 16:44:24 | 显示全部楼层 |阅读模式
看EMCV的文件,感觉和opencv的差别不大啊,能不能解释一下?
谢谢!
回复

使用道具 举报

发表于 2008-7-31 09:13:24 | 显示全部楼层

为什么EMCV可以支持嵌入式应用?

看EMCV的文件,感觉和opencv的差别不大啊,能不能解释一下?
谢谢!

主要就是只保留标准C语言部分,而且DSP也支持标准C语言,所以可以用。

唯一的变化是用memalign代替malloc,这样保证分配的内存对应到n字节。
memalign函数是ti编译器中带的函数,在PC上不可用(可以用函数模拟)。

另外,有一些函数在DSP中缺少定义(不是标准C库中的函数),例如
cvaux\\cvvidsurv.hpp中的strdup复制字符串函数。

对于一些不适于嵌入式环境的部分也被裁剪掉了,例如稀疏矩阵等。
emcv主要是移植cv和cxcore模块,像highgui模块只简单实现了BMP图像的读写。

在emcv中一般是采用_TMS320C6X宏来判断是DSP6x系列,然后针对DSP环境
进行配置。具体差别你可以用Beyond Compare工具比较一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-31 09:32:15 | 显示全部楼层

为什么EMCV可以支持嵌入式应用?

好的,非常感谢!
回复 支持 反对

使用道具 举报

发表于 2008-11-23 14:29:31 | 显示全部楼层

为什么EMCV可以支持嵌入式应用?

嵌入式开发很重要的一点是内存对齐,这是因为精简指令CPU,像MIPS一般来说,所有机器指令都是等长的,数据线访问内存时也是按照访问单元去对齐访问的,这样可以充分利用流水线的优化性能。在出现非对齐访问的时候,这类CPU会直接抛出异常。所谓移植,一般主要是这个工作。
另外,不同版本不同厂商的c编译器实现,对ANSI C的支持程度是不同的,所以这也是一部分工作,其实也可以自己编译自己的gcc toolchain.
回复 支持 反对

使用道具 举报

发表于 2010-3-17 12:34:35 | 显示全部楼层

为什么EMCV可以支持嵌入式应用?

我想问下s3c2410中用opencv for linux好,还是EMCV呢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|OpenCV中文网站

GMT+8, 2024-4-27 06:19 , Processed in 0.009019 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表