我不是软件工程师。对不起,如果你觉得这个问题很尴尬。
我想要一种图像格式,它不应该是内存效率高但易于在普通 C 中操作的图像格式。更具体地说,我希望将每个像素存储在以下形式的数组中:
像素[行#][列#][颜色]
其中索引 row# 和 column#(最大为 255)是坐标,索引 Color(最大为 2)包含由位置指定的像素的 RGB 值(即使用 pixel[255][255][1]检查或操作右下角像素内的绿色量)。
我的目标是在机器人应用程序中使用这种形式,以便能够通过使用“嵌套 for 循环”从左上角开始扫描图像轻松找到第一个红色/蓝色/绿色像素的坐标(是的,不是创造性的解决方案) . 在这里,您可能会说,如果图像上有白色区域,代码将返回错误的坐标。我知道这一事实,但图像不会有复杂的图案,并且(如有必要)我可以将不相关的颜色存储为黑色。我也不关心亮度、伽马、阿尔法等等。
那么是否可以编写一个 C(或 C++,如果必须)代码以每隔 0.5 秒从网络摄像头拍摄一次快照,并将来自网络摄像头的原始图像转换为上面指定的形式?如果您说C不能直接到达相机,是否可以编写代码调用可以到达相机的软件,拍摄快照然后将原始数据存储在文件中?如果是,我如何使用 C 代码读取这个原始数据文件才能至少尝试转换?我在笔记本电脑上使用 Windows Vista。
很抱歉让这个问题很长,但我不想留下任何不清楚的地方。