freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于linux操作系統(tǒng)的嵌入式設(shè)備圖像顯示技術(shù)與實(shí)現(xiàn)畢業(yè)論文(文件)

2025-07-10 13:29 上一頁面

下一頁面
 

【正文】 f ()Seek_image_buf()read_image_buf ()Calc_ptich()Malloc()Free()decode_RLE8 ()memcpy()eof_image_buf ()getc_image_buf ()Main()函數(shù)流程Draw_bmp()cetc_renderbmp()Memset()Main()free JPEG格式圖像(1) 文件的基本結(jié)構(gòu)   JPEG是常見的一種圖像格式,它由聯(lián)合照片專家組(Joint Photographic Experts Group)開發(fā),其壓縮技術(shù)十分先進(jìn),雖然一個(gè)圖片經(jīng)過轉(zhuǎn)化為JPEG圖像后,一些數(shù)據(jù)會(huì)丟失,但是,人眼是很不容易分辨出來這種差別的。以下是其各個(gè)部分的功能及于內(nèi)存的位置組成部分編號(hào)起始位置字節(jié)號(hào)字段簡寫字段功能一FFD8SOI(Start of Image)圖像開始二FFE0APP0應(yīng)用程序定義三FFE1APP1存放應(yīng)用程序FFE2APP2FFE3APP3FFE4APP4FFE5APP5FFE6APP6FFE7APP7FFE8APP8FFE9APP9FFEAAPP10FFEBAPP11FFECAPP12FFEDAPP13FFEEAPP14FFEFAPP15四FFDBDQT(difine quantization table)量化表定義五FFC0SOF(Start of Frame)幀圖像開始六FFC4DHT(Difine Huffman Table)霍夫曼表定義七FFDASOS(Start of Scan)掃描開始 八FFD9EOI(End of Image)圖像結(jié)束各個(gè)部分分解PP0組成編號(hào)具體信息1APP0長度(length)2標(biāo)識(shí)符(identifier)3版本號(hào)(version)4X和Y的密度單位(units=0:無單位;units=1:點(diǎn)數(shù)/英寸;units=2:點(diǎn)數(shù)/厘米)5X方向像素密度(X density)6Y方向像素密度(Y density)7縮略圖水平像素?cái)?shù)目(thumbnail horizontal pixels)8縮略圖垂直像素?cái)?shù)目(thumbnail vertical pixels)9縮略圖RGB位圖(thumbnail RGB bitmap),由前面的數(shù)值決定,取值3n,n為縮略圖總APPn組成編號(hào)具體信息APPn長度(length)應(yīng)用細(xì)節(jié)信息(application specific information)DQT(difine quantization table)組成編號(hào)具體信息1量化表長度(quantization table length)2量化表數(shù)目(quantization table number)3量化表(quantization table)SOF0(Start of Frame),組成編號(hào)具體信息1幀開始長度(start of frame length)2精度(precision),每個(gè)顏色分量每個(gè)像素的位數(shù)(bits per pixel per color ponent)3圖像高度(image height)4圖像寬度(image width)5顏色分量數(shù)(number of color ponents)6對每個(gè)顏色分量(for each ponent)包括:ID、垂直方向的樣本因子(vertical sample factor)、水平方向的樣本因子(horizontal sample factor) 、量化表號(hào)(quantization table)DHT(Difine Huffman Table)組成編號(hào)具體信息霍夫曼表的長度(Huffman table length)類型、AC或者DC(Type, AC or DC)索引(Index)位表(bits table)值表(value table)SOS(Start of Scan)組成編號(hào)具體信息1掃描開始長度(start of scan length)2顏色分量數(shù)(number of color ponents) 包括:ID、交流系數(shù)表號(hào)(AC table )、直流系數(shù)表號(hào)(DC table )3每個(gè)顏色分量4壓縮圖像數(shù)據(jù)(pressed image data)(10)JPEG壓縮解碼器對壓縮的圖像數(shù)據(jù)可以通過解碼過程,獲得解壓縮后重構(gòu)的圖像數(shù)據(jù)。jcfg);jpeg_stdio—dest(amp。line,1);jpeg_finish_press(amp。GIF文件內(nèi)部分成許多存儲(chǔ)塊,用來存儲(chǔ)多幅圖象或者是決定圖象表現(xiàn)行為的控制塊,用以實(shí)現(xiàn)動(dòng)畫和交互式應(yīng)用。一個(gè)GIF文件的結(jié)構(gòu)可分為文件頭(File Header)、GIF數(shù)據(jù)流(GIF Data Stream)和文件終結(jié)器(Trailer)三個(gè)部分。GIF分為靜態(tài)GIF和動(dòng)畫GIF兩種,是一種壓縮位圖格式,支持透明背景圖像,適用于多種操作系統(tǒng)“體型”很小,網(wǎng)上很多小動(dòng)畫都是GIF格式。 PNG格式圖像PNG圖像 概述:PNG格式圖片因其高保真性、透明性及文件體積較小等特性,被廣泛應(yīng)用于網(wǎng)頁設(shè)計(jì)、平面設(shè)計(jì)中。關(guān)鍵數(shù)據(jù)塊定義了4個(gè)標(biāo)準(zhǔn)數(shù)據(jù)塊,每個(gè)PNG文件都必須包含它們,PNG讀寫軟件也都必須要支持這些數(shù)據(jù)塊。輔助數(shù)據(jù)塊  PNG文件格式規(guī)范制定的10個(gè)輔助數(shù)據(jù)塊是:   (1) 背景顏色數(shù)據(jù)塊bKGD(background color)。   (4) 圖像直方圖數(shù)據(jù)塊hIST(image histogram)。   (8) 圖像最后修改時(shí)間數(shù)據(jù)塊tIME (image lastmodification time)。他允許上層應(yīng)用程序在圖形模式下直接對顯示緩沖區(qū)進(jìn)行讀寫操作。幀緩存在內(nèi)存中有個(gè)地址。應(yīng)用程序?qū)inux下操作Framebuffer設(shè)備/dev/fb操作主要有這幾種:①讀/寫(read/write)/dev/fb:相當(dāng)于讀/寫屏幕緩沖區(qū)。各種應(yīng)用程序如果使用幀緩沖設(shè)備的話都是通過映射操作來顯示圖像的。在應(yīng)用程序中,操作/dev/fb的一般步驟如下: ① 打開/dev/fb設(shè)備文件。 ④ 映射后就可以直接讀寫屏幕緩沖區(qū),進(jìn)行繪圖和圖片顯示了。編譯的內(nèi)核,檢查內(nèi)核配置。 JPEG BMP 圖像顯示在PC下程序開發(fā)前首先編譯JPEGLIB,ZLIB庫,程序需需要系統(tǒng)對JPEGLIB,ZLIB的支持。最后將轉(zhuǎn)化之后的24位的顯示出解碼重構(gòu)圖像。JPE6算法中提供了標(biāo)準(zhǔn)的Huffman碼表。每個(gè)Huffman碼表分別是這樣保存的:前面的16字節(jié)對應(yīng)長度為1到16的Huffman碼字的個(gè)數(shù),接下來是這16個(gè)數(shù)字之和個(gè)字節(jié),對應(yīng)字節(jié)就是對應(yīng)Huffman碼字的等價(jià)數(shù)字。JPEG格式反量化的實(shí)現(xiàn)JPEG的頭文件里包含了量化表,定義在標(biāo)記DQT后,以標(biāo)記碼OxFFDB開始,一個(gè)標(biāo)記碼開始定義一張量化表。反量化完的數(shù)據(jù)存buffer2[8][8]緩存中。 int buffer2[8][8]。j8。本文采用行列分解法先將二維IDCT分解成一維8點(diǎn)的IDCT。準(zhǔn)備進(jìn)行二位IDCT轉(zhuǎn)換時(shí),對讀入經(jīng)過反量化后的數(shù)據(jù)進(jìn)行8次一維的行變換,將變換后的數(shù)據(jù)存入中間數(shù)據(jù)緩沖區(qū)。最后將轉(zhuǎn)化之后的256彩色數(shù)據(jù)送入LCD顯示緩沖區(qū),LCD顯示圖像。i0。 iRed=(iRed*7+127)/255。}}調(diào)用經(jīng)過經(jīng)過編譯后的庫文件加載JPEG首先將JPEG編碼,解碼,數(shù)據(jù)壓縮寫出庫文件,最終在顯示程序中調(diào)用。 unsigned char *bp。 ciptr=amp。)。 return(FH_ERROR_FORMAT)。 ciptrout_color_space=JCS_RGB。 c=ciptroutput_ponents。lb, 1)。 jpeg_destroy_depress(ciptr)。 struct jpeg_depress_struct *ciptr。 ciptr=amp。)。 return(FH_ERROR_FORMAT)。 ciptrout_color_space=JCS_RGB。 c=ciptroutput_ponents。 fclose(fh)。 BYTE *p = buf。 case 2: /* 0 2 xx yy delta mode NOT SUPPORTED*/ getc_image_buf(img_buf)。 cn。 continue。 } }}RLE4壓縮算法代碼:static int decode_RLE4(BYTE *buf, img_buffer *img_buf){ int c, n, c1, c2。 for (。 case 2: /* 0 2 xx yy delta mode NOT SUPPORTED */ getc_image_buf(img_buf)。 ~3。 1) == 0) c1 = getc_image_buf(img_buf)。 } continue。 c2 = c amp。 c++) put4((c amp。 int headsize。 img_buffer img_buf。img_buf, buffer, size)。 return 1。)) != wswap(0x4D42)) //0x4D42=39。 return 1。img_buf, amp。 if(headsize == CORE_HEAD_SIZE) { if(read_image_buf(amp。head_buf[0]))。head_buf[4]))。 imagedepth = (int)。img_buf,amp。 = dwswap(*((DWORD*)amp。 = dwswap(*((DWORD*)amp。 = dwswap(*((DWORD*)amp。 = dwswap(*((DWORD*)amp。 = dwswap(*((DWORD*)amp。 imagebpp = 。 imagebpp!=24) { 。 } if(imagebpp 8 amp。 imagewidth = (int)。 = dwswap(*((DWORD*)amp。 = dwswap(*((DWORD*)amp。 = dwswap(*((DWORD*)amp。 = dwswap(*((DWORD*)amp。 } = dwswap(*((DWORD*)amp。 pression = BI_RGB。head_buf[6]))。head_buf[2]))。head_buf, CORE_HEAD_SIZE sizeof(DWORD)) != CORE_HEAD_SIZE sizeof(DWORD)) { return 1。 return 1。head_buf[10]))。 { imagetype = 0。 [1] = head_buf[1]。img_buf, amp。 BYTE *data = NULL。 info_head ihead。 continue。 for (c = 0。 c1 = (c 4) amp。 0x0f)。 c c2。 continue。 case 0: /* 0 = escape */ switch (n = getc_image_buf(img_buf)) { case 0: /* 0 0 = end of current scan line */ case 1: /* 0 1 = end of data */ if (once) put4(0)。 once = 0。 while( n) *p++ = c。 if( n amp。 continue。) { switch( n = getc_image_buf(img_buf)) { case EOF: return 0。}BMP格式圖片的壓縮加載顯示在3圖像格式解析,BMP圖像格式解析中介紹到BMP圖像壓縮的算法有兩種分別為RLE8和RLE4,先對圖像壓縮后然后進(jìn)行加載顯示。 *y=py。 px=ciptroutput_width。 jpeg_stdio_src(ciptr,fh)。 if(setjmp()==1) { // FATAL ERROR Free the object and return..
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1