在过去的两个月里,我使用计算机视觉库(OpenCV)作为一个简单的应用程序。
我希望直接从网络摄像头运行该应用程序,而无需操作系统。我很想知道我的应用程序是否可以刻录到芯片中,以便不让操作系统运行它。
这个过程可能很昂贵,但我只是很好奇。你有关于那个的链接吗?
ps:应用程序是用C语言编写的。
答案 0 :(得分:4)
我使用比PIC更大的东西,例如小型32位ARM处理器。
答案 1 :(得分:3)
我认为你会发现这可能会成长为一个非常大的项目。
显然可以实现独立的硬件解决方案来做这样的事情。在我的头顶,Rabbit的solutions可能会让你更快到达终点线。但您也可以找到一些本土的Beagle Board或Gumstix projects。
我想强调的两个Google链接:
答案 2 :(得分:3)
是。理论上可以将您的应用程序移植到PIC芯片。
<强>可是... 强>
PIC芯片有C编译器,但由于微控制器的局限性,您可能会发现编译器和微控制器本身对计算机视觉工作的限制太多,特别是如果您最初实现的应用程序是在一台成熟的PC上完成的:
你只能得到整数数学,在大多数情况下,如果不是全部的话(不能引用我的话,但我们的工作开发人员没有针对他们的PIC应用程序的浮点数学和它导致许多污秽的话语从他们的立方体散发出来)。要么是这样,要么你需要挂钩外部数学协处理器。
您必须弄清楚如何让PIC芯片与相机进行USB通话。我知道这是可能的,但它需要额外的硬件和R&amp; D时间。
如果您需要严格的时间控制, 你甚至可能需要编程 汇编程序中的应用程序。
您必须将部分OpenCV移植到PIC芯片(如果尚未安装)。我的猜测不是。
如果您还不熟悉微控制器编程,那么您需要一些时间来快速了解台式PC编程和微控制器编程之间的差异,并且您必须获得一些经验。 。这对您来说可能不是问题。
基本上,考虑到PIC芯片约束,最好从头开始重新编写整个程序。好的是,你已经做了很多设计工作。它主要是硬件/移植工作。
或... 强>
您可以尝试使用小型嵌入式x86单板PC(可能在PC/104 form factor中),将您的操作系统/应用程序放在CF卡上。这是一个真正的骨头PC,你只需添加你的软件。好的是,你可能不必重写你的应用程序,除非它有可笑的内存占用。嵌入式PC供应商开始出货基于1 GHz Intel Atoms的主板,如果您需要更多帮助,您可以将子板连接到PC-104总线上。您将解决上面列出的所有限制,因为您使用的是与您开发应用程序的PC相同的平台。它有USB端口!如果你进行彻底的成本分析,如果你的外形尺寸较大,你可能会发现使用基于SBC的系统比使用PIC芯片/微控制器推出解决方案更便宜/更快。
在谷歌上快速搜索PC-104会发现许多SBC供应商。
或... 强>
这将非常便宜 - 只需获得现成的廉价Netbook,覆盖OEM操作系统,并在那里运行代码。黑客,但便宜,而且非常简单 - 您的硬件问题将在一周内得到解决。
只是一些想法。
答案 3 :(得分:1)
我会提出Nate的建议,看看Rabbit的核心模块。
此外,GHIElectronics有一款名为Embedded Master的产品,它运行.Net MicroFramework,内置USB主机/设备功能,以及作为.Net框架子集的丰富库。它在Arm处理器上运行并且相当便宜(> 85美元)。虽然不像单个PIC芯片那么便宜,但它预先在模块上预先安装了许多胶合逻辑。
答案 4 :(得分:0)
CMUCam
我认为你应该看一下CMUcam项目,该项目提供价格合理的硬件和在硬件上运行的图像处理库。