Image 用于逐步JPEG压缩的代码

Image 用于逐步JPEG压缩的代码,image,jpeg,emgucv,steganography,image-conversion,Image,Jpeg,Emgucv,Steganography,Image Conversion,JPEG压缩步骤如下所示: 原始图像数据->前向DCT->量化->熵编码->JPEG图像 有很多转换器和API,转换过程是一个单独的API调用。我找不到分步代码。我的问题是,我在哪里可以找到每个单独步骤的代码,或者我可以逐个执行这些单独步骤并生成标准JPEG图像?我正在使用EmguCV进行图像隐写项目 在哪里可以找到每个步骤的代码 如果C库可能是您的候选库,那么您应该看看用C编写的轻量级JPEG编码器——请注意,它只支持灰度图像 主编码函数()易于阅读,并通过内部函数提供上述每个步骤: /* o

JPEG压缩步骤如下所示:

原始图像数据->前向DCT->量化->熵编码->JPEG图像

有很多转换器和API,转换过程是一个单独的API调用。我找不到分步代码。我的问题是,我在哪里可以找到每个单独步骤的代码,或者我可以逐个执行这些单独步骤并生成标准JPEG图像?我正在使用EmguCV进行图像隐写项目

在哪里可以找到每个步骤的代码

如果C库可能是您的候选库,那么您应该看看用C编写的轻量级JPEG编码器——请注意,它只支持灰度图像

主编码函数()易于阅读,并通过内部函数提供上述每个步骤:

/* open = write JPEG headers */
jpec_enc_open(e);

while (jpec_enc_next_block(e)) {
  /* compute the DCT for the current 8x8 block */
  jpec_enc_block_dct(e);

  /* quantize the DCT coefficients for the current block */
  jpec_enc_block_quant(e);

  /* re-order the quantized coefficients with the zig-zag pattern */
  jpec_enc_block_zz(e);

  /* perform entropy coding of the current block and write to the global buffer*/
  e->hskel->encode_block(e->hskel->opq, &e->block, e->buf);
}

/* close = write JPEG end of image marker */
jpec_enc_close(e);
我可以逐个执行这些步骤并生成标准JPEG图像吗

这在jpec中不是现成的,但是您应该能够非常轻松地修改它(通过公开和/或调整低级内部函数)