gpt4 book ai didi

用纯 C 创建个人图像格式

转载 作者:太空宇宙 更新时间:2023-11-04 06:39:00 25 4
gpt4 key购买 nike

我不是软件工程师。如果您觉得这个问题很尴尬,请原谅。

我想要一种图像格式,它应该是内存高效但易于在普通 C 中操作的图像格式。更具体地说,我希望将每个像素存储在一个数组中形式:

像素[行#][列#][颜色]

其中索引 row# 和 column#(最大 255)是坐标,索引 Color(最大 2)包含由位置指定的像素的 RGB 值( pixel[ 255][255][1]用于检查或操作右下角像素内的绿色量)。

我的目标是在机器人应用程序中使用这种形式,通过使用“嵌套”从左上角开始扫描图像,能够轻松找到第一个红色/蓝色/绿色像素的坐标循环”(是的,不是创造性的解决方案)。在这里,你可能会说,如果图像上有白色区域,代码将返回错误的坐标。我知道这个事实,但图像不会有复杂的图案,并且(如有必要)我可以将不相关的颜色存储为黑色。我也不关心亮度、 Gamma 、阿尔法等等。

那么是否可以编写一个 C(或 C++,如果强制性的话)代码来从网络摄像头拍摄快照,比如每 0.5 秒一次并将网络摄像头的原始图像转换为上面指定的格式?如果你说 C 不能直接到达相机,是否可以编写一个代码,调用一个可以到达相机的软件,拍摄快照,然后将原始数据存储在文件中?如果是,我如何使用 C 代码读取此原始数据文件以至少尝试转换?我在笔记本电脑上使用 Windows Vista。

很抱歉让问题拖得太长,但我不想留下任何不清楚的地方。

最佳答案

是的,这样的文件格式是可能的。只有理智才能阻止它被实现/使用。

一些使用相当广泛的格式几乎可以按照您正在考虑的方式进行扫描。例如,一个 32 位 BMP 在文件上有一个小标题,用于说明图片大小(x,y 像素尺寸)后跟原始像素值,所以它基本上只是 ColorColorColor ...为图像中的像素数。

用 32 位 BMP 进行扫描的代码非常简单——打开文件、为缓冲区分配空间以将数据读入等的代码很容易比扫描代码本身。

关于用纯 C 创建个人图像格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11075897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com