1、读取jpeg图片分辨率的两种方式
1.1 使用libjpeg库
可以使用libjpeg库读取JPEG图像文件,并获取图像的分辨率(宽度和高度),简单demo示例如下:
#include <stdio.h>
#include <jpeglib.h>
int main() {
struct jpeg_decompress_struct cinfo;
struct jpeg_error_mgr jerr;
FILE *infile;
if ((infile = fopen("input.jpg", "rb")) == NULL) {
fprintf(stderr, "Can't open input file\n");
return 1;
}
cinfo.err = jpeg_std_error(&jerr);
jpeg_create_decompress(&cinfo);
jpeg_stdio_src(&cinfo, infile);
jpeg_read_header(&cinfo, TRUE);
printf("JPEG Image Resolution:\n");
printf("Width: %d pixels\n", cinfo.image_width);
printf("Height: %d pixels\n", cinfo.image_height);
jpeg_destroy_decompress(&cinfo);
fclose(infile);
return 0;
}
1.2 使用文件IO的方式
1.2.1 JPEG文件格式
JPEG图片格式组成部分:SOI(文件头)<