使用 Mini Jpeg 解码器逐像素处理 JPEG 图像
我想使用解码器使用 C++ 操作 JPEG 图像 Mini Jpeg解码器。
问题是:我想逐个读取像素,但解码器仅返回一个 imageData 数组,类似于 libjpeg 可以。
我无法创建这样的方法:
char getPixel(char x, char y, unsigned char* imageData)
{
//...???
}
返回值(char
变量)应该包含像素的亮度。
(我使用灰度图像...)
我该如何解决这个问题?
I want to manipulate JPEG images with C++ using the decoder Mini Jpeg Decoder.
The problem is: I want to read pixel per pixel, but the decoder only returns an imageData-array, similar as libjpeg does.
I can't make a method like this:
char getPixel(char x, char y, unsigned char* imageData)
{
//...???
}
The return (the char
variable) should contain the luminance of the pixel.
(I work with grayscale images...)
How can I solve this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
据我所知,
Decoder
类使用GetImage()
方法传递颜色值的字节数组。所以你可以编写一个如下所示的函数:我不确定像素布局,所以也许数组访问不正确。此外,这仅适用于灰度图像,否则您将仅获得该位置的红色值的亮度。华泰
As far as I can tell, the
Decoder
class delivers a byte array of color values with theGetImage()
method. So you could write a function that looks like this:I'm uncertain of the pixel layout, so maybe the array access is not right. Also this only works for grey-scale images, or else you would get the luminance of the Red color value at the position only. HTH