我正在构建一个程序,将图像文件(无论哪种文件类型最简单)转换为G-Code,以便在带有笔式绘图仪附件的rep-rap上使用。
我想知道我是否想逐像素地处理图像并检查像素颜色之类的东西,我怎么能用C ++做到这一点?
我真的很想知道如何逐像素地处理位图图像以检查像素的颜色。
答案 0 :(得分:0)
答案 1 :(得分:0)
您可能希望使用已经过测试的现有库。
但是对于娱乐/练习/等,这将是一个很好的练习并且不可能做到。与其他图像格式相比,Bitmap Format(相对)简单。维基百科页面包含大量信息,包括一些C ++代码。看起来,一旦你超过了标题信息,你就会得到一个难以解析的像素数组。
祝你好运。答案 2 :(得分:0)
大多数图像格式由标题和实际原始图像数据组成。 bimpap图像也不例外。如果您不想使用其中一个现有库,或者您不被允许,您应该阅读有关位图格式的信息:
http://en.wikipedia.org/wiki/BMP_file_format
一旦你理解了这一点,就可以创建适当的结构/类来存储你想要的信息,如x,y size,bpp等。还有一个指向原始图像数据的指针。然后你可以简单地遍历每个像素并随意做任何事情:)
答案 3 :(得分:0)
解密图像文件后,我建议您将像素放入矩阵中,以便第一次通过。 (未来的修订可以使用其他方法来访问像素)。
您可以使用矩阵乘法将变换应用于像素。您还可以使用数组索引单独访问像素。
在网上搜索SO以获取“图形c ++简介”。