.. _jpeg_decode: JPEG 解码 ============== 概述 ------ jpeg 解码示例工程展示了如何使用JPEG模块或者软件库解码JPG图片数据 硬件设置 ------------ - **USB盘** 连接到开发板 ``USB0`` (注意:U盘格式化的 `分配单元大小` 不能超过32KB,建议格式化参数为FAT32/32KB),或 **SD内存卡** 插入到开发板 ``sd card`` 。 .. image:: ../../../../../samples/image/common/doc/UDisk_Format.png :alt: UDisk_Format - **LCD屏** 连接到开发板 工程配置 ------------ - 文件`CMakeLists.txt` : - ``set (JPEG_USE_SDCARD 1)`` 从SD卡中读取jpeg文件(.jpg); ``set (JPEG_USE_UDISK 1)`` 从u盘中读取jpeg文件(.jpg)。这两个为排他选项 - ``set (JPEG_HW_MODE 1)`` 通过JPEG模块解码; ``set (JPEG_HW_MODE 0)`` 通过软件库解码 支持的图片格式 --------------------- - 支持标准的JPEG图片: JPEG图片格式组成部分:SOI(文件头)+APP0(图像识别信息)+ DQT(定义量化表)+ SOF0(图像基本信息)+ DHT(定义Huffman表) + DRI(定义重新开始间隔)+ SOS(扫描行开始)+ EOI(文件尾),其中SOI是由两个16进制字节FFD8组成。 - JPEG图片支持的采样因子为:YUV420、YUV422H、YUV422V、YUV444、YUV400,如一张800*400 YUV420格式的JPG图片,通过图虫EXIF查看器`图虫EXIF查看器官网 `_可获取: FileType JPEG FileTypeExtension jpg MIMEType image/jpeg ImageWidth 800 ImageHeight 480 EncodingProcess Baseline DCT, Huffman coding BitsPerSample 8 ColorComponents 3 YCbCrSubSampling **YCbCr4:2:0 (2 2)** ##本例程支持的图片大小及分辨率 - jpeg文件不大于500KB - 图像分辨率(宽*高)不大于 1024 * 768 运行现象 ------------ - 按需要更改CMakeLists.txt中关于目标存储/解码方式的配置 - 将jpeg文件复制到目标存储中 - 连接LCD屏和存储介质到开发板 - 将开发板上电 - 下载编译后的elf文件到开发板 - 如果一切正常,存储介质中的jpeg文件将被一张张显示在LCD屏上