## 页首HTML代码 ```html

jpg图片的解压

IO编程

jpg图片的解压

image

在完成jpg图片的解压之前,我们先得了解到libjpeg库的正确移植

1.下载需要移植的库的源码包,libjpeg库源码包在官网可以下载 www.ijg.org
2.解压压缩包,解压后找到自述文件README,打开README了解libjpeg库的使用规则

image

以下就是看了README才知道执行的步骤,很多库的移植大多数都是以下操作;

步骤:

打开源码包中的install.txt的文本,学习libjpeg库的移植和安装的步骤,移植libjpeg的步骤分为三步:配置(./configure) + 编译(make) + 安装(make install)

image

4. 把下载好的源码包jpegsrc.v9f.tar.gz发送到linux系统的家目录下进行解压,注意不可以在共享文件夹进行解压
5.切换到解压后的jpeg-9f的文件夹内,然后输入指令配置libjpeg库,*配置*的时候需要使用一个叫做configure的配置文件,该配置文件有两个选项非常重要:--prefix 和 --host

有可能会与遇到相关的error错误,我就是在这里耽误了很久的时间,记得根据错误提示去找原因

例如我的错误里面有一个--xx.dependent.tracking 解决方法就是./configure --xx.dependent.tracking 后面就可以正常安装了

6. 配置成功之后,会得到一个makefile脚本文件,此时可以完成移植的第二步:*编译*,在命令行输入指令:make ,该指令会自动执行makefile
7.编译通过之后,则可以完成libjpeg库的*安装*,此时在命令行输入指令: make install
8.安装完成后,可以在用户指定的安装路径中找到生成的libjpeg库的头文件和库文件,此时用户可以选择拷贝出来,就可以设计程序时使用
9.把include文件夹和lib文件夹与自己的工程文件放在同一个路径,方便后期的工程维护

因为以后我们要做一个更大的项目 所以我们得学会如何建立接口然后最后再去调用他们 可以建立一个project 然后把库以及相关的接口放进去 以便后期整理和运用

接下来就是超级重点!步骤可都是要求背下来的!

JPG图片的解压过程

为了可以把一张jpg图片显示在LCD上,所以需要把jpg图片进行解压,解压之后就可以得到图片内部的像素点的颜色分量,就可以把像素点的颜色分量向LCD的像素点写入

①可以看README,就知道要去libjpeg.txt文档中去找相关的步骤

②好好利用lijpeg库中的example.c【实名移植】

③最后添加一些自己循环设计 来实现解压

相关libjpeg.txt中提到的解压步骤如下:

1.创建解码对象,并且对解码对象进行初始化,另外需要创建错误处理对象,并和解码对象进行关联
2.打开待解码的jpg图片,使用fopen的时候需要添加选项”b”,以二进制方式打开文件
3. 读取待解码图片的文件头,并把图像信息和解码对象进行关联,通过解码对象对jpg图片进行解码
4.可以选择设置解码参数,如果打算以默认参数对jpg图片进行解码,则可以省略该步骤
5.开始对jpg图片进行解码,调用函数之后开始解码,可以得到图像宽、图像高等信息
6.*开始设计一个循环,在循环中每次读取1行的图像数据,并写入到LCD中,注意:转换算法需要用户自己设计*
7.在所有的图像数据都已经解码完成后,则调用函数完成解码即可,然后释放相关资源
8.程序实现(在虚拟机上编译 在开发板上运行 开发板是基于ARM平台的)
arm-linux-gcc main.c -o main -I ./include -L ./lib -ljpeg  //在虚拟机上编译指令
posted @ 2024-05-13 23:13  一面小镜子  阅读(45)  评论(0编辑  收藏  举报