gpt4 book ai didi

c++ - 使用 Mini Jpeg 解码器逐像素处理 JPEG 图像

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

我想用 C++ 使用解码器处理 JPEG 图像 Mini Jpeg Decoder .

问题是:我想读取每个像素的像素,但解码器只返回一个 imageData 数组,类似于 libjpeg 确实如此。

我不能做这样的方法:

char getPixel(char x, char y, unsigned char* imageData) 
{
//...???
}

返回值(char 变量)应包含像素的亮度。

(我使用灰度图像...)

我该如何解决这个问题?

最佳答案

据我所知,Decoder 类使用 GetImage() 方法提供颜色值的字节数组。所以你可以写一个看起来像这样的函数:

char getLuminance(Decoder* dec, int x, int y) {
if(x < 0 || y < 0 || x >= dec->GetWidth() || y >= dec->GetHeight()) {
throw "out of bounds";
}

return dec->GetImage()[x + y * dec->GetWidth()];
}

我不确定像素布局,所以可能数组访问不正确。此外,这仅适用于灰度图像,否则您将仅在该位置获得红色值的亮度。

关于c++ - 使用 Mini Jpeg 解码器逐像素处理 JPEG 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6238799/

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