日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用libjpeg进行JPEG图像解码

發(fā)布時間:2025/3/15 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用libjpeg进行JPEG图像解码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.


如題:如何對test.jpg進(jìn)行解碼?


注:這里使用libjpeg庫進(jìn)行圖像解碼。也可以不使用libjpeg庫,但是比較繁瑣。


直接上代碼:

#include "jpeglib.h"

#include <stdio.h>

#include <stdlib.h>

#include <string.h>


int main()

{

FILE *input_file;

input_file=fopen("test.jpg","rb");
?

struct jpeg_decompress_struct cinfo;//JPEG圖像在解碼過程中,使用jpeg_decompress_struct類型的結(jié)構(gòu)體來表示,圖像的所有信息都存儲在結(jié)構(gòu)體中
? ? struct jpeg_error_mgr jerr;//定義一個標(biāo)準(zhǔn)的錯誤結(jié)構(gòu)體,一旦程序出現(xiàn)錯誤就會調(diào)用exit()函數(shù)退出進(jìn)程

? ?

cinfo.err = jpeg_std_error(&jerr);//綁定錯誤處理結(jié)構(gòu)對象

? ? jpeg_create_decompress(&cinfo);//初始化cinfo結(jié)構(gòu)
? ? jpeg_stdio_src(&cinfo,input_file);//指定解壓縮數(shù)據(jù)源
? ? jpeg_read_header(&cinfo,TRUE);//獲取文件信息
? ? jpeg_start_decompress(&cinfo);//開始解壓縮

? ? unsigned long width = cinfo.output_width;//圖像寬度
? ? unsigned long height = cinfo.output_height;//圖像高度
? ? unsigned short depth = cinfo.output_components;//圖像深度

? ?? unsigned char *src_buff;//用于存取解碼之后的位圖數(shù)據(jù)(RGB格式)
src_buff = (unsigned char *)malloc(width * height * depth);//分配位圖數(shù)據(jù)空間
? ? memset(src_buff, 0, sizeof(unsigned char) * width * height * depth);//清0

? ?? JSAMPARRAY buffer;//用于存取一行數(shù)據(jù)
? ? buffer = (*cinfo.mem->alloc_sarray)((j_common_ptr)&cinfo, JPOOL_IMAGE, width*depth, 1);//分配一行數(shù)據(jù)空間

unsigned char *point =?src_buff;
? ? while(cinfo.output_scanline < height)//逐行讀取位圖數(shù)據(jù)
? ? {
? ? ? ? jpeg_read_scanlines(&cinfo, buffer, 1); ? ?//讀取一行jpg圖像數(shù)據(jù)到buffer
? ? ? ? memcpy(point, *buffer, width*depth); ? ?//將buffer中的數(shù)據(jù)逐行給src_buff
? ? ? ? point += width * depth; ? ? ? ? ? ?//指針偏移一行
? ? }

? ? jpeg_finish_decompress(&cinfo);//解壓縮完畢
? ? jpeg_destroy_decompress(&cinfo);// 釋放資源
? ? free(src_buff);//釋放資源

? ? fclose(input_file);

}



程序中src_buff就是解碼之后的位圖數(shù)據(jù)

總結(jié)

以上是生活随笔為你收集整理的使用libjpeg进行JPEG图像解码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本免费一区二区在线 | 精品国产乱码久久久久久牛牛 | 国产91精品久久久久久久 | 在线播放你懂得 | 欧美精品自拍视频 | 久久久久久国产 | 好吊色视频一区二区 | 久久永久视频 | 久久婷婷一区二区 | 国产午夜免费福利 | 草色噜噜噜av在线观看香蕉 | 99re在线播放 | 久久精品2| 亚洲福利视频一区二区三区 | 国产无码精品一区二区 | 午夜激情久久 | 精品99在线观看 | 国产精品999 | 久久午夜视频 | 少妇综合 | 在线看黄网址 | 欧美一区二区三区久久妖精 | 欧美女人交配视频 | 亚洲欧美日韩国产 | 成人免费大片黄在线播放 | 五月婷婷综 | 99r在线视频 | 老熟妇毛片 | 日韩a√| 国产精品久久婷婷 | 中文av免费 | 夜色视频在线观看 | 免费观看av | 麻豆传媒在线免费 | 永久av免费在线观看 | 女人又爽又黄免费女仆 | 日本a∨视频 | 男人深夜网站 | 亚洲成a人在线观看 | 成人国产精品入口 | 国产精品久久久久久久久久妞妞 | 最新av免费在线观看 | 性色生活片 | 亚洲欧美视频在线播放 | 欧美福利专区 | 日韩欧美一区二区免费 | 老司机在线免费视频 | 国产伦精品一区二区三区视频黑人 | 欧美日韩激情在线观看 | 日本精品一区 | 少妇一区二区视频 | 日韩不卡毛片 | 青青在线视频观看 | 欧美性猛交xxxx偷拍洗澡 | 精品国内自产拍在线观看视频 | av毛片在线免费看 | 国产成人精品一区二区三区网站观看 | 一区二区精品视频 | 中文字幕在线乱 | 色就操| 日韩日韩 | 97成人在线| 精品久久久久久久久久久 | 日本www高清视频 | 国产不卡一二三 | 亚洲一区二区免费在线观看 | 蜜桃av在线| 精品免费一区二区三区 | 色爽av | www黄色大片 | 最新av观看| 欧美少妇性生活 | 亚洲素人 | 少妇熟女视频一区二区三区 | 香蕉网站在线观看 | 亚洲精品www久久久久久广东 | 变态另类一区二区 | 久久国产毛片 | 免费av观看网址 | 国产精品色片 | 88av在线播放 | 色综合图片区 | 国产ts变态重口人妖hd | 欧美888| 欧美精品片 | 国产成人手机在线 | 91麻豆影视 | 亚洲精品一区二区三区婷婷月 | 超碰人人网 | 国产做爰全免费的视频软件 | 精品国产成人亚洲午夜福利 | 免费av一级 | 成人国产免费视频 | 法国伦理少妇愉情 | 国产一级伦理片 | 91美女片黄在线观看游戏 | 成人无码www在线看免费 | 亚洲做受高潮 | 香蕉污视频 |