【发布时间】:2013-04-28 08:06:23
【问题描述】:
我是一名初级程序员,我知道 C 和一些 C++,但从未编写过 GUI,只编写过控制台应用程序
我被要求编写一个程序,接收灰度图像,并将其转换为我设置的颜色的单色图像。
我想这样做,如果我可以将图像转换为位图就很容易,因为我可以通过在常规色标上移动滚动来参数化我想要设置的颜色。然后只需对位上的数字进行一些求和和乘法,就可以得到我想要的颜色。
问题是,我不知道该怎么做,我不想弄乱复杂的库来实现这一点。我想让它尽可能简单。
那么,有没有我可以支持这样做的库?或者,我怎样才能做到这一点?我应该学习什么,或阅读什么才能让它发挥作用?我不想让你为我制作程序。
【问题讨论】:
-
您的输入是什么,是实际的图像文件还是图像缓冲区?
-
Foley、van Damme 等人的标准书籍解释了几乎所有必要的数学。 boost里面是一个图片库,看起来很强大,虽然我没用过。一个很棒的快速库是英特尔的 IPP。
-
我一直在寻找你推荐给我 Felix 的库,但它似乎太复杂了,我无法使用它。看来我会浪费很多时间来习惯图书馆没有办法将图像转换为位图,修改它然后从位图中保存一个新图像吗?因为如果可能的话,我只需通过一些迭代来运行我的程序,这些迭代会根据每个像素的灰色强度将其颜色更改为我想要的颜色
-
如果您使用 BMP 文件格式,您应该能够非常简单地做到这一点。该格式未压缩,无需任何库即可轻松处理。
标签: c++ image colors scale grayscale