【发布时间】:2012-07-20 07:32:31
【问题描述】:
我正在尝试使用这个相机 SDK,假设相机有一个名为 CameraGetImageData(BYTE* data) 的函数,我假设它接收一个字节数组,用图像数据修改它,然后返回一个基于成功/失败的状态码。 SDK 没有提供任何文档(甚至没有代码 cmets),所以我只是在这里猜测。这是我认为可行的代码sn-p
BYTE* data = new BYTE[10000000]; // an array of an arbitrary large size, I'm not
// sure what the exact size needs to be so I
// made it large
CameraGetImageData(data);
// Do stuff here to process/output image data
我已经在 Visual Studio 中运行了带有断点的代码,并且可以确认 CameraGetImageData 函数确实修改了数组。现在我的问题是,相机输出数据有标准方法吗?我应该如何开始使用这些数据以及每个字节代表什么?相机以 8 位颜色捕获。
【问题讨论】:
-
通常是 RGB 三元组打包成行和列。
-
我不认为相机输出数据的标准方式。也许你应该用这台相机拍一些特殊的照片(例如全黑、全白等),然后弄清楚输出数据中究竟提供了什么。
-
如果没有文档,那么您将不得不对格式进行有根据的猜测,直到找到正确的格式。从 24 位交错 RGB 开始。
-
相机只是转储原始 CCD 数据的可能性很大,在这种情况下,他们可能觉得不需要重复 CCD 规格。