1

我正在开发一个嵌入式家庭监控系统。我想连接几个支持串行的 JPEG 捕捉摄像头,也许是几个门传感器等。问题是,我一生都无法弄清楚如何将摄像头连接到微控制器。剧照,流媒体视频,没关系 - 我找不到任何关于此的操作文档。

我了解串行通信,并且我在那里找到的大多数相机文档都描述了指示相机将数据流发送到 uC 进行捕获所需的协议。他们没有显示的是,一旦您获得数据,您应该如何处理这些数据。

这是一个例子

他们展示了一个很棒的小视频,数据表描述了必须将哪些字节发送到相机来检索图像。我需要的是某种示例或教程,它将解释如何处理构成图像本身的字节流。如何将这些字节排列到图像中并将其保存为文件?

我到处寻找某种教程,但都干了。我还不确定我将在这个项目中使用哪个处理器,但这个问题并不是真的依赖于处理器。我需要的只是算法,如果存在的话,也许可以看看图书馆。我将采用该过程并将其适应我的硬件,我似乎无法找到开始的地方。

你们有人做过吗?

4

2 回答 2

3

我认为本文档第 10 页中的详细信息非常清楚:

http://www.4dsystems.com.au/downloads/micro-CAM/Docs/uCAM-DS-rev4.pdf

首先,一个包在 64 到 512 字节之间——由程序员灵活定义。图像大小是实际的 JPEG 图像本身....没有更多或更少....只是纯 JPEG 图像。所以第 10 页给出了根据 image_size / package_size 计算包裹数量的公式。

接下来,是 (package_size - 6) 将在任何地方一致使用,因为 6 个字节用于非数据目的,所以 (package_size - 6) 将只是数据 - 但你必须自己重新组装它。

要从包中组装数据,您必须剥离 4 字节头 + 2 字节尾,并将所有这些从所有包中依次连接起来。

其他事实:

一种。“设置包大小”命令必须从主机发送到 CAM - 在“SNAPSHOT”命令之前,该命令将图像从相机捕获到 CAM 内存缓冲区。

湾。接下来是发送“SNAPSHOT”命令将图像捕获到内存缓冲区中。

C。最后是发送“GET PICTURE”命令(仅一次,但数据会多次返回 - 参见第15页中的图表)以提取所有图像......它将以“包”的形式返回正如我们之前在“设置包大小”中定义​​的大小。由于您已经计算出公式,您将知道何时停止要求下一个包裹。还有一个验证字节——你必须用它来确保数据是正确的。

于 2011-01-30T14:38:36.777 回答
0

我没有使用过这台相机,但看起来和我用过的相机(C328)完全一样。发送图像分辨率/颜色命令。当您想要获取图像时,请发送图像捕获命令。相机通过串行链接发送二进制文件来响应。

于 2011-01-31T06:10:01.223 回答