gpt4 book ai didi

c++ - 如何将 JPEG 转换为 DCT 8 x 8?

转载 作者:行者123 更新时间:2023-11-28 08:06:22 25 4
gpt4 key购买 nike

如何使用 OpenCv 和 C++ 将 JPEG 图像转换为 DCT 8x8?比如我应该从哪里开始?

最佳答案

libjpeg是你的 friend ...

以下代码片段从 JPEG 图像加载 DCT 系数(免责声明:它是从我的一个四年前的项目 - YMMV 中提取的):

struct jpeg_decompress_struct srcinfo;
struct jpeg_error_mgr jsrcerr;
jvirt_barray_ptr * src_coef_arrays;
FILE * fp;

srcinfo.err = jpeg_std_error(&jsrcerr);
jpeg_create_decompress(&srcinfo);
fp = fopen(filename, "rb");
jpeg_stdio_src(&srcinfo, fp);
(void) jpeg_read_header(&srcinfo, TRUE);
src_coef_arrays = jpeg_read_coefficients(&srcinfo);
fclose(fp);

...
// use coefficients
...

(void) jpeg_finish_decompress(&srcinfo);
jpeg_destroy_decompress(&srcinfo);

访问系数有点棘手 - 我建议您查阅与 libjpeg 捆绑在一起的 jpegtran 实用程序的源代码,看看它是如何完成的。

关于c++ - 如何将 JPEG 转换为 DCT 8 x 8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10218475/

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