首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应该采取哪些步骤来确保运行在PC上的OpenCV代码将在特定的嵌入式设备上运行?

应该采取哪些步骤来确保运行在PC上的OpenCV代码将在特定的嵌入式设备上运行?
EN

Stack Overflow用户
提问于 2011-11-25 09:57:00
回答 2查看 422关注 0票数 2

我想在嵌入式平台上移植一个好的OpenCV代码。以前,这样的东西很难执行,但现在TI已经提出了不错的嵌入式平台,它们相对来说是免费的,就像他们说的那样。

我想知道以下几点:

鉴于此:

  1. OpenCV代码已经在PC机上顺利运行。(显然)
  2. 需要在购买设备之前确定这些。
  3. 无法将代码放在堆栈溢出中。:P
  4. 德州仪器: C6000中选择。

问题:

  1. 如何确保移植完成?
  2. 为了确保在移植代码之后将运行(至少),需要采取哪些步骤。
  3. 若要确定代码是否需要进行某些更改以使其运行平稳,请执行以下操作。

以上第3点是可选的。

我需要信息,这至少会给我一些启动在这方面。

我觉得我该怎么做?

  1. 我要列出内置的功能。
  2. 然后,为特定设备的这些功能找到可用的在线工作台标记,如这位医生末尾所示。
  3. ..。

需要知道如何继续前进吗?

然而,C6-Integra™DSP+ARM处理器似乎是最好的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-25 13:14:22

这是一个有趣的问题,但run在这个上下文中是一个非常通用的词,因此我觉得有必要将其分解为其他两个问题:

  • 它会在嵌入式设备中编译吗?
  • 它的运行速度和PC机一样快/平稳吗?

我在许多不同的设备上使用过OpenCV,包括手臂、SH4、MIPS,我发现有时设备的制造商本身提供了OpenCV的编译版本(让我感到惊讶),这是很棒的。这是您可以查看的东西,也许您设备的制造商提供OpenCV二进制文件。

除非您能够找到运行在目标设备上的OpenCV基准,否则无法确定您的OpenCV应用程序在目标设备上的平滑程度。PC比嵌入式设备具有更好的处理能力,因此您可以期望目标设备的性能更低。

有第三方应用程序,如opencv-性能,您可以使用它来测试/基准测试环境,一旦你掌握了它。如果性能在这个项目中非常重要,那么您可能也会对这个好文章感兴趣,它解释了在使用OpenCV的C和C++接口的实现进行比较的几个OpenCV特性上所做的一些时序测试。

票数 0
EN

Stack Overflow用户

发布于 2011-11-25 10:17:04

你能做的最好的就是尝试一个设备模拟器(如果它是可用的),但是你会看到的远不是完美的。

实际上,在特定设备上运行特定应用程序之前,没有什么可以告诉您应用程序在嵌入式设备上运行的速度和效果。

所以:

步骤1购买它

步骤2试一试

需要考虑的事项:

  • 嵌入式CPU体系结构:您的应用程序需要一个大缓存?嵌入式缓存有多大?
  • 算法:你经常使用浮点运算吗?浮点操作的装置有多好?
  • 你有内存传输吗?PC上的数据总线比嵌入式上的数据总线快得多。
  • 硬件支持:你经常使用双精度计算吗?他们在武器上被模仿。他们会杀死你的应用程序(从电脑上的毫秒到手臂上的秒)
  • 加速。您的函数使用SSE吗?(许多OpenCV函数都是SSEd,即使您不知道)。你们有霓虹灯对撞机吗?(OpenCV对此不太支持)。差别可以是数量级从x86 SSE到嵌入式没有霓虹灯。

还有很多很多其他的。

所以,再说一遍:没有人能告诉你它将如何运作。只有特定的应用程序和真正的设备之间的结合才能说出真相。

即使在类似的设备上运行也是不相关的。它可以在给定的处理器上平稳地运行,而对于另一个处理器,使用类似的freq或列出的内存,它会减慢太多。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8267297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档