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

正文內容

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

2025-06-07 13:29 本頁面


【正文】 RAMEBUFFER。PC端開發(fā)工具為VIM,GCC,LIBTOOL。交叉編譯工具為:。開發(fā)板環(huán)境為:飛凌OK6410開發(fā)板開發(fā)板參數(shù):CPU:ARM11,RAM=256MB,ROM=2GB,核心芯片三星S3C6410。 ARM簡介ARM是Advanced RISC Machines(高級精簡指令系統(tǒng)處理器)的縮寫,是ARM公司提供的一種微處理器知識產權(IP)核。設計了大量高性能、廉價、耗能低的32位RISC處理器、相關技術及軟件。技術具有性能高、成本低和能耗省的特點。適用于多種領域,比如嵌入控制、消費/教育類多媒體、DSP和移動式應用等它的典型開發(fā)版是S3C2410。ARM內核的數(shù)個系列(ARMARMARM9E、ARM10E、ARM1SecurCore、Xscale、StrongARM),各自滿足不同應用領域的需求,無孔不入的滲入嵌入式系統(tǒng)各個角落的應用。這是一個ARM的時代!本次我選擇基于ARM11(ARM1176JZFS)核的ARM處理器。ARM9處理器采用5級流水線,指令執(zhí)行效率較ARM7高,而且?guī)в蠱MU功能,這是與ARM7的重要區(qū)別。ARM11增加了向量浮點單元。同時,該系列的處理器支持指令Cache和數(shù)據(jù)Cache。因而具有更高的數(shù)據(jù)處理能力主要應用在MP3播放器,手持終端,數(shù)字照相機等。ARM的應用已遍及工業(yè)控制、消費類電子產品、通信系統(tǒng)、網(wǎng)絡系統(tǒng)、無線系統(tǒng)等各類產品市場?;贏RM 技術的微處理器應用約占據(jù)了32位RISC 微處理器75%以上的市場份額。揭開你的手機、MP PDA,里面多半藏著一個基于ARM的微處理器! OK6410開發(fā)板基本介紹與ARM9的5級流水線相比,ARM11擁有一條具有獨立的loadstore和算術流水的8級流水線,在同樣工藝下,ARM11處理器的性能與ARM9相比大約提高了40%。ARM11執(zhí)行ARMv6架構的指令,ARMv6指令包含了針對媒體處理的單指令流多數(shù)據(jù)流(SIMD)擴展,采用特殊的設計,以改善視頻處理性能。為了能夠進行快速浮點運算,ARM11增加了向量浮點單元。所有這些結構上的提高,都是ARM9處理器不可比擬的。ARM11為便攜式和無線應用,提供了從未有過的高超性能,并且使我們主要關心的成本和功耗減到最小。ARM11的微架構保證了系統(tǒng)性能可以從基本的350500MHz范圍擴展到最終的1GHz以上。OK6410開發(fā)板(圖11)基于三星公司最新的ARM11處理器S3C6410,擁有強大的內部資源和視頻處理能力,可穩(wěn)定運行在667MHz主頻以上,支持Mobile DDR和多種NAND Flash。OK6410開發(fā)板上集成了多種高端接口,如復合視頻信號、攝像頭、USB、SD卡、液晶屏、以太網(wǎng),并配備溫度傳感器和紅外接收頭等。這些接口可作為應用參考幫助用戶實現(xiàn)高端產品級設計。OK6410開發(fā)板采用‘核心板+底板’結構,核心板尺寸規(guī)格為‘5CM6CM’,底板尺寸為‘14CM’,核心板與底板之間采用4組高質量進口連接器(鎳金工藝,接觸好、抗氧化),共計320個引腳(804),方便客戶進行二次開發(fā),進行各種形式的擴展應用。OK6410的軟件系統(tǒng)目前支持WinCE 、 、提供標準板級支持包(BSP)并開放源碼,其中包含了所有接口的驅動程序,客戶可以直接加載使用。另外,該板可連接飛凌公司與之相配套使用的串口擴展板、WIFI模塊、攝像頭模塊等。 圖213圖像格式解析 BMP格式圖像BMP格式 BMP是英文Bitmap(位圖)的簡寫,它是Windows操作系統(tǒng)中的標準圖像文件格式,能夠被多種Windows應用程序所支持。隨著Windows操作系統(tǒng)的流行與豐富的Windows應用程序的開發(fā),BMP位圖格式理所當然地被廣泛應用。這種格式的特點是包含的圖像信息較豐富,乎不進行壓縮,但由此導致了它與生俱生來的缺點占用磁盤空間過大。位圖文件可看成由4個部分組成:位圖文件頭(bitmapfile header)、位圖信息頭(bitmapinformation header)、顏色表(color table)和位圖數(shù)據(jù)。(1)位圖文件頭位圖文件頭包含有關于文件類型、文件大小、存放位置等信息,在Windows :typedef struct{ int bfType。//bfType(2字節(jié)),這里恒定等于amp。H4D42,ASCII字符39。BM39。 long bfSize。//文件大小,以4字節(jié)為單位 int bfReserve1。//備用 int bfReserve2。//備用 long bfoffBits。//數(shù)據(jù)區(qū)在文件中的位置偏移量 }BITMAPFILEHEADER。//文件頭結構體,14字節(jié)bmp文件以BITMAPFILEHEADER結構體開始,BITMAPFILEHEADER的第1個屬性是bfType(2字節(jié)),這里恒定等于amp。H4D42。由于內存中的數(shù)據(jù)排列高位在左,低位在右,所以內存中從左往右看就顯示成(42 4D),所以在UltraEdit中頭兩個 字節(jié)顯示為(42 4D)就是這樣形成的,以后的數(shù)據(jù)都是這個特點,不再作重復說明。 BITMAPFILEHEADER的第2個屬性是bfSize(4字節(jié)),表示整個bmp文件的大小,這里等于amp。H000004F8=1272字節(jié)。BITMAPFILEHEADER的第3個、第4個屬性分別是bfReservedbfReserved2(各2字節(jié)),這里是2個保留屬性,都為0,這里等于amp。H0000、amp。H0000。 BITMAPFILEHEADER的第5個屬性是bfOffBits(4字節(jié)),表示DIB數(shù)據(jù)區(qū)在bmp文件中的位置偏移量,這里等于amp。H00000076=118,表示數(shù)據(jù)區(qū)從文件開始往后數(shù)的118字節(jié)開始。 (2)位圖信息頭typedef struct{long bitSize。//位圖信息頭大小 long biWidth。//圖象寬度,像素單位long biHeight。//圖象高度,像素單位int biPlanes。//位平面樹=1int biBitCount。//單位像素的位數(shù),表示bmp圖片的顏色位數(shù),即24位圖、32位圖long biCompression。//圖片的壓縮屬性,bmp圖片是不壓縮的,等于0long biSizeImage。表示bmp圖片數(shù)據(jù)區(qū)的大小,當上一個屬性biCompression等于0時,這里的值可以省略不填long biXPlosPerMeter。//水平分辨率,可省略long biYPlosPerMeter。//垂直分辨率,可省略long biClrUsed。//表示使用了多少個顏色索引表,一般biBitCount屬性小于16才會用到,等于0時表示有2^biBitCount個顏色索引表long biClrImportant。//表示有多少個重要的顏色,等于0時表示所有顏色都很重要 }BITMAPINFOHEADER。//位圖信息頭,40字節(jié)BITMAPINFO段由兩部分組成:BITMAPINFOHEADER結構體和RGBQUAD結構 體。其中RGBQUAD結構體表示圖片的顏色信息,有些時候可以省略,一般的24位圖片和32位圖片都不帶RGBQUAD結構體,因為DIB數(shù)據(jù)區(qū)直接表 示的RGB值,一般4位圖片和8位圖片才帶有RGBQUAD結構體。(多少位的圖片就是用多少位來表示一個顏色信息,例如4位圖片表示用4個bit來表示 一個顏色信息。)一個bmp文件中有沒有RGBQUAD結構體,可以根據(jù)前面BITMAPFILEHEADER結構體的第5個屬性bfOffBits來判 斷因為BITMAPINFOHEADER結構體長度為40bit,如果BITMAPINFOHEADER結構體結束后還未到DIB數(shù)據(jù)區(qū)的偏移量,就說 明接下來的數(shù)據(jù)是RGBQUAD結構體部分。這里特別對biBitCount進行詳細介紹biBitCount=1 表示位圖最多有兩種顏色,缺省情況下是黑色和白色,你也可以自己定義這兩種顏色。圖像信息頭裝調色板中將有兩個調色板項,稱為索引0和索引1。圖象數(shù)據(jù)陣列中的每一位表示一個象素。如果一個位是0,顯示時就使用索引0的RGB值,如果位是1,則使用索引1的RGB值。 biBitCount=4 表示位圖最多有16種顏色。每個象素用4位表示,并用這4位作為彩色表的表項來查找該象素的顏色。 biBitCount=8 表示位圖最多有256種顏色。每個象素用8位表示,并用這8位作為彩色表的表項來查找該象素的顏色。 biBitCount=16 表示位圖最多有216種顏色。每個色素用16位(2個字節(jié))表示。這種格式叫作高彩色,或叫增強型16位色,或64K色。它的情況比較復雜,當biCompression成員的值是BI_RGB時,它沒有調色板。16位中,最低的5位表示藍色分量,中間的5位表示綠色分量,高的5位表示紅色分量,一共占用了15位,最高的一位保留,設為0。這種格式也被稱作555 16位位圖。如果biCompression成員的值是BI_BITFIELDS,那么情況就復雜了,首先是原來調色板的位置被三個DWORD變量占據(jù),稱為紅、綠、藍掩碼。分別用于描述紅、綠、藍分量在16位中所占的位置。在Windows 95(或98)中,系統(tǒng)可接受兩種格式的位域:555和565,在555格式下,紅、綠、藍的掩碼分別是:07C00、003E0、0001F,而在565格式下,它們則分別為:0xF800、007E0、0001F。你在讀取一個像素之后,可以分別用掩碼“與”上像素值,從而提取出想要的顏色分量。在NT系統(tǒng)中,則沒有格式限制,只不過要求掩碼之間不能有重疊。biBitCount=24 表示位圖最多有224種顏色。這種位圖沒有調色板(bmiColors成員尺寸為0),在位數(shù)組中,每3個字節(jié)代表一個象素,分別對應于顏色R、G、B。 biBitCount=32 表示位圖最多有232種顏色。這種位圖的結構與16位位圖結構非常類似,當biCompression成員的值是BI_RGB時,它也沒有調色板,32位中有24位用于存放RGB值,順序是:最高位—保留,紅8位、綠8位、藍8位。如果 biCompression成員的值是BI_BITFIELDS時,原來調色板的位置將被三個DWORD變量占據(jù),成為紅、綠、藍掩碼,分別用于描述紅、綠、藍分量在32位中所占的位置。 圖象數(shù)據(jù)壓縮① BI_RLE8:每個象素為8比特的RLE壓縮編碼,可使用編碼方式和絕對方式中的任何一種進行壓縮,這兩種方式可在同一幅圖中的任何地方使用。 編碼方式:由2個字節(jié)組成,第一個字節(jié)指定使用相同顏色的象素數(shù)目,第二個字節(jié)指定使用的顏色索引。此外,這個字節(jié)對中的第一個字節(jié)可設置為0,聯(lián)合使用第二個字節(jié)的值表示: 第二個字節(jié)的值為0:行的結束。 第二個字節(jié)的值為1:圖象結束。第二個字節(jié)的值為2:其后的兩個字節(jié)表示下一個象素從當前開始的水平和垂直位置的偏移量。 絕對方式:第一個字節(jié)設置為0,而第二個字節(jié)設置為003~0xFF之間的一個值。在這種方式中,第二個字節(jié)表示跟在這個字節(jié)后面的字節(jié)數(shù),每個字節(jié)包含單個象素的顏色索引。壓縮數(shù)據(jù)格式需要字邊界(word boundary)對齊 ② BI_RLE4:每個象素為4比特的RLE壓縮編碼,同樣也可使用編碼方式和絕對方式中的任何一種進行壓縮,這兩種方式也可在同一幅圖中的任何地方使用。這兩種方式是: 編碼方式:由2個字節(jié)組成,第一個字節(jié)指定象素數(shù)目,第二個字節(jié)包含兩種顏色索引,一個在高4位,另一個在低4位。第一個象素使用高4位的顏色索引,第二個使用低4位的顏色索引,第3個使用高4位的顏色索引,依此類推。 絕對方式:這個字節(jié)對中的第一個字節(jié)設置為0,第二個字節(jié)包含有顏色索引數(shù),其后續(xù)字節(jié)包含有顏色索引,顏色索引存放在該字節(jié)的高、低4位中,一個顏色索引對應一個象素。此外,BI_RLE4也同樣聯(lián)合使用第二個字節(jié)中的值表示: 第二個字節(jié)的值為0:行的結束。第二個字節(jié)的值為1:圖象結束。 第二個字節(jié)的值為2:其后的兩個字節(jié)表示下一個象素從當前開始的水平和垂直位置的偏移量。壓縮算法如下(1)壓縮源圖像文件PackYuan(FILE *sf,FILE *df)/*sf和df分別表示指向源文件和目標文件的指針*/{sf=fopen(sfname,rb)。 df=fopen(dfname,wb)。fseek(sf,number,0)。/*定位到數(shù)據(jù)部分,number表示偏移量*/  temp=第一個像素的顏色值?! o {ch=fread(sf)。  /*處理高字部分*/  ch1=高字部分的顏色值。  if(ch1==temp) count++?! lse /*改進部分即是下面這個if語句*/  if(tag==FALSE) {c1=temp。ic1=count。 tag=TRUE。}   else {c2=temp。ic2=count?! 1=c14。c1=c1|c2。/*兩色存到一個字節(jié)中*/  fputc(ic1,df)。fputc(ic2,df)。fputc(c1,df)?! emp=ch1。count=1。tag=FALSE。   }/*處理低字部分,這部分處理和高字部分基本相同,故略去*/  ch1=低字部分的顏色值?!   while(!feof(sf))  fclose(sf)。 fclose(df)?! (2) 壓縮已壓縮過的圖像文件壓縮算法簡述如下:PackYa(FILE sf, FILE df)/*sf和df分別表示指向源文件和目標文件的指針*/{sf=fopen(sfname,rb)。 df=fopen(dfname,wb)。  fseek(sf,number,0)。/*定位到數(shù)據(jù)部分,number表示偏移量*/  do /*從待壓縮的文件中讀出一組數(shù)據(jù)*/  { count1=fread(sf)。 color1=fread(sf)?! ount2=fread(sf)
點擊復制文檔內容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1