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

正文內(nèi)容

圖片瀏覽系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-資料下載頁

2025-06-28 16:59本頁面
  

【正文】 ef struct{ char manufacturer。 char version。 char encoding。 char bits_per_pixel。 WORD xmin,ymin。 WORD xmax,ymax。 WORD hres。 WORD vres。 char palette[48]。 char reserved。 char colour_planes。 WORD bytes_per_line。 WORD palette_type。 char filler[58]。 } PCXHEAD。其中值得注意的是以下幾個(gè)數(shù)據(jù):manufacturer為PCX文件的標(biāo)識,必須為0x0a;xmin為最小的x坐標(biāo),xmax最大的x坐標(biāo),所以圖像的寬度為xmaxxmin+1,同樣圖像的高度為ymaxyin+1;bytes_per_line為每個(gè)編碼行所占的字節(jié)數(shù),下面將詳細(xì)介紹。 PCX的調(diào)色板在文件的最后。以256色PCX文件為例,倒數(shù)第769個(gè)字節(jié)為顏色數(shù)的標(biāo)識,256時(shí)該字節(jié)必須為12,剩下的768(2563)為調(diào)色板的RGB值。為了敘述方便,我們針對256色PCX文件,介紹一下它的解碼過程。編碼是解碼的逆過程。 解碼是以行為單位的,該行所占的字節(jié)數(shù)由bytes_per_line給定。為此,我們開一個(gè)大小為bytes_per_line的解碼緩沖區(qū)。一開始,將緩沖區(qū)的所有內(nèi)容清零。從文件中讀出一個(gè)字節(jié)C,若C0xc0,說明是行程(Run Length)信息,即C的低6位表示后面連續(xù)的字節(jié)個(gè)數(shù)(所以最多63個(gè)連續(xù)顏色相同的象素,若還有顏色相同的象素,將在下一個(gè)行程處理),文件的下一個(gè)字節(jié)就是實(shí)際的圖像數(shù)據(jù)(即該顏色在調(diào)色板中的索引值)。若C0xc0,則表示C是實(shí)際的圖像數(shù)據(jù)。如此反復(fù),直到這bytes_per_line個(gè)字節(jié)處理完,這一行的解碼完成。PCX就是有若干個(gè)這樣的解碼行組成。 下面是實(shí)現(xiàn)256色PCX文件解碼的源程序,其中第二個(gè)函數(shù)對一行進(jìn)行解碼,應(yīng)該把閱讀的重點(diǎn)放在這個(gè)函數(shù)上。要注意的是,執(zhí)行時(shí)文件C:\\,而且是一個(gè)256色PCX文件。 LZW算法LZW是一種比較復(fù)雜的壓縮算法,其壓縮效率也比較高。我們在這里只介紹一下它的基本原理:LZW把每一個(gè)第一次出現(xiàn)的字符串用一個(gè)數(shù)值來編碼,在還原程序中再將這個(gè)數(shù)值還成原來的字符串。例如:用數(shù)值0x100代替字符串“abccddeee”,每當(dāng)出現(xiàn)該字符串時(shí),都用0x100代替,這樣就起到了壓縮的作用。至于0x100與字符串的對應(yīng)關(guān)系則是在壓縮過程中動(dòng)態(tài)生成的,而且這種對應(yīng)關(guān)系隱含在壓縮數(shù)據(jù)中,隨著解壓縮的進(jìn)行這張編碼表會(huì)從壓縮數(shù)據(jù)中逐步得到恢復(fù),后面的壓縮數(shù)據(jù)再根據(jù)前面數(shù)據(jù)產(chǎn)生的對應(yīng)關(guān)系產(chǎn)生更多的對應(yīng)關(guān)系,直到壓縮文件結(jié)束為止。LZW是無損的。GIF文件采用了這種壓縮算法。要注意的是,LZW算法由Unisys公司在美國申請了專利,要使用它首先要獲得該公司的認(rèn)可。 JPEG編碼標(biāo)準(zhǔn)JPEG是聯(lián)合圖像專家組(Joint Picture Expert Group)的英文縮寫,是國際標(biāo)準(zhǔn)化組織(ISO)和CCITT聯(lián)合制定的靜態(tài)圖像的壓縮編碼標(biāo)準(zhǔn)。和相同圖像質(zhì)量的其它常用文件格式(如GIF,TIFF,PCX)相比,JPEG是目前靜態(tài)圖像中壓縮比最高的。我們給出具體的數(shù)據(jù)來對比一下。,原圖大小為640*480,256色。用工具SEA()將其分別轉(zhuǎn)成24位色BMP、24位色JPEG、GIF(只能轉(zhuǎn)成256色)壓縮格式、24位色TIFF壓縮格式、24位色TGA壓縮格式。得到的文件大小(以字節(jié)為單位)分別為:921,654,17,707,177,152,923,044,768,136。可見JPEG比其它幾種壓縮比要高得多,而圖像質(zhì)量都差不多(JPEG處理的顏色只有真彩和灰度圖)。正是由于JPEG的高壓縮比,使得它廣泛地應(yīng)用于多媒體和網(wǎng)絡(luò)程序中,例如HTML語法中選用的圖像格式之一就是JPEG(另一種是GIF)。這是顯然的,因?yàn)榫W(wǎng)絡(luò)的帶寬非常寶貴,選用一種高壓縮比的文件格式是十分必要的。JPEG有幾種模式,其中最常用的是基于DCT變換的順序型模式,又稱為基線系統(tǒng)(Baseline),以下將針對這種格式進(jìn)行討論。JPEG的壓縮原理:JPEG的壓縮原理其實(shí)是上面介紹的原理的綜合,博采眾家之長,這也正是JPEG有高壓縮比的原因。其編碼器的流程為,如圖52所示。圖52編碼器的流程圖解碼器基本上為上述過程的逆過程,如圖53所示。圖53解碼器的流程圖88的圖像經(jīng)過DCT變換后,其低頻分量都集中在左上角,高頻分量分布在右下角(DCT變換實(shí)際上是空間域的低通濾波器)。由于該低頻分量包含了圖像的主要信息(如亮度),而高頻與之相比,就不那么重要了,所以我們可以忽略高頻分量,從而達(dá)到壓縮的目的。如何將高頻分量去掉,這就要用到量化,它是產(chǎn)生信息損失的根源。這里的量化操作,就是將某一個(gè)值除以量化表中對應(yīng)的值。由于量化表左上角的值較小,右上角的值較大,這樣就起到了保持低頻分量,抑制高頻分量的目的。JPEG使用的顏色是YUV格式。我們提到過,Y分量代表了亮度信息,UV分量代表了色差信息。相比而言,Y分量更重要一些。我們可以對Y采用細(xì)量化,對UV采用粗量化,可進(jìn)一步提高壓縮比。所以上面所說的量化表通常有兩張,一張是針對Y的;一張是針對UV的。上面講了,經(jīng)過DCT變換后,低頻分量集中在左上角,其中F(0,0)(即第一行第一列元素)代表了直流(DC)系數(shù),即88子塊的平均值,要對它單獨(dú)編碼。由于兩個(gè)相鄰的88子塊的DC系數(shù)相差很小,所以對它們采用差分編碼DPCM,可以提高壓縮比,也就是說對相鄰的子塊DC系數(shù)的差值進(jìn)行編碼。88的其它63個(gè)元素是交流(AC)系數(shù),采用行程編碼。這里出現(xiàn)一個(gè)問題:這63個(gè)系數(shù)應(yīng)該按照怎么樣的順序排列?為了保證低頻分量先出現(xiàn),高頻分量后出現(xiàn),以增加行程中連續(xù)“0”的個(gè)數(shù),這63個(gè)元素采用了“之”字型(ZigZag)的排列方法,如54所示。圖54 ZigZag這63個(gè)AC系數(shù)行程編碼的碼字用兩個(gè)字節(jié)表示,如55所示。上面,我們得到了DC碼字和 AC行程碼字[11]。為了進(jìn)一步提高壓縮比,需要對其再進(jìn)行熵編碼,這里選用Huffman編碼,分成兩步: (1)熵編碼的中間格式表示對于AC系數(shù),有兩個(gè)符號。符號1為行程和尺寸,即上面的(RunLength,Size)。(0,0)和(15,0)是兩個(gè)比較特殊的情況。(0,0)表示塊結(jié)束標(biāo)志(EOB),(15,0)表示ZRL,當(dāng)行程長度超過15時(shí),用增加ZRL的個(gè)數(shù)來解決,所以最多圖55行程編碼圖有三個(gè)ZRL(316+15=63)。符號2為幅度值(Amplitude)。對于DC系數(shù),也有兩個(gè)符號。符號1為尺寸(Size);符號2為幅度值(Amplitude)。(2)熵編碼對于AC系數(shù),符號1和符號2分別進(jìn)行編碼。零行程長度超過15個(gè)時(shí),有一個(gè)符號(15,0),塊結(jié)束時(shí)只有一個(gè)符號(0,0)。對符號1進(jìn)行Hufffman編碼(亮度,色差的Huffman碼表)。對符號2進(jìn)行變長整數(shù)VLI編碼。舉例來說:Size=6時(shí),Amplitude的范圍是63~32,以及32~63,對絕對值相同,符號相反的碼字之間為反碼關(guān)系。所以AC系數(shù)為32的碼字為100000,33的碼字為100001,32的碼字為011111,33的碼字為011110。符號2的碼字緊接于符號1的碼字之后。對于DC系數(shù),Y和UV的Huffman碼表也不同。舉例如下:下面為88的亮度(Y)圖像子塊經(jīng)過量化后的系數(shù)。15 0 1 0 0 0 0 02 1 0 0 0 0 0 01 1 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0可見量化后只有左上角的幾個(gè)點(diǎn)(低頻分量)不為零,這樣采用行程編碼就很有效。壓縮比和圖像質(zhì)量是呈反比的,以下是壓縮效率與圖像質(zhì)量之間的大致關(guān)系,可以根據(jù)用戶的需要,選擇合適的壓縮比,如表56所示。表56壓縮比與圖像質(zhì)量的關(guān)系壓縮效率(單位:bits/pixel)圖像質(zhì)量~中~好,可滿足某些應(yīng)用~好~很好,滿足多數(shù)應(yīng)用~極好,滿足大多數(shù)應(yīng)用~與原始圖像幾乎一樣以上我們介紹了JPEG壓縮的原理,其中DC系數(shù)使用了預(yù)測編碼DPCM,AC系數(shù)使用了變換編碼DCT,二者都使用了熵編碼Huffman,可見幾乎所有傳統(tǒng)的壓縮方法在這里都用到了。這幾種方法的結(jié)合正是產(chǎn)生JPEG高壓縮比的原因。順便說一下,該標(biāo)準(zhǔn)是JPEG小組從很多種不同中方案中比較測試得到的。JPEG基本系統(tǒng)解碼器的實(shí)現(xiàn)流程圖如圖57所示。圖57 JPEG解碼器的程序流程圖 本系統(tǒng)中利用JPEG編碼實(shí)現(xiàn)壓縮圖片的壓縮主要是針對其他格式壓縮至JPG格式的壓縮。因?yàn)镴PG文件可以調(diào)節(jié)圖片的壓縮質(zhì)量,而BMP文件只能進(jìn)行游程編碼(RLE4)的壓縮,可以伸縮的空間很小,在圖片壓縮至JPG格式時(shí),質(zhì)量轉(zhuǎn)換率很高而且圖片所占空間很小。方面了圖片的網(wǎng)絡(luò)傳輸和攜帶,在數(shù)碼照片,格式轉(zhuǎn)換,或其他數(shù)碼產(chǎn)品的壓縮中起了很大作用。圖片壓縮的流程圖如58所示。開始選擇要壓縮的圖片把圖片載入內(nèi)存中是不是BMP圖進(jìn)行JPG壓縮是否轉(zhuǎn)換為BMP圖保存至外存結(jié)束圖58 圖片壓縮的流程圖此功能插件的架構(gòu)的制作。理論上任何圖片都是可以轉(zhuǎn)化為BMP格式的圖片的,而在將來,也許會(huì)有未知格式的圖片出現(xiàn),也許在一些領(lǐng)域會(huì)成為圖片主流。要對這些未知的圖片格式進(jìn)行壓縮就需要提供一個(gè)良好的插件環(huán)境[12]。用以轉(zhuǎn)換成位圖并對其進(jìn)行壓縮。(1)在注冊表中對圖片格式進(jìn)行注冊;(2)在注冊表中對插件的形式文件,即:DLL文件的文件名和路徑進(jìn)行注冊;(3)此處DLL要統(tǒng)一的應(yīng)用同一格式的轉(zhuǎn)換函數(shù),返回pchar(char[])類型的字符串。這樣可以和其他語言或編程環(huán)境結(jié)合制作插件;(4)這時(shí)外存已經(jīng)存在了轉(zhuǎn)換好的BMP文件,這樣就可以進(jìn)行JPG壓縮了。核心代碼的實(shí)現(xiàn):function CompressBMP(const FileName: string):boolean。varsourceBMP:Tbitmap。//原位圖desJPG:Tjpegimage。//新的JPG的圖片beginResult := false。//先設(shè)置返回值sourceBMP := 。//創(chuàng)建位圖desJPG:=。//創(chuàng)建JPG圖片(FileName)。//從外存載入(sourceBMP)。//深度復(fù)制:=。//設(shè)置壓縮品質(zhì)。//壓縮//導(dǎo)出圖片開始if not DirectoryExists(ExtractFilePath()+39。press39。) thenCreateDir(ExtractFilePath()+39。Compress39。)。(ExtractFilePath() + 39。Compress\39。 +ExtractFileName(FileName) + 39。39。)。 := ExtractFilePath() + 39。Compress\39。Result := true。//導(dǎo)出圖片結(jié)束end。其他的圖片可以轉(zhuǎn)換為位圖再使用這個(gè)函數(shù)進(jìn)行壓縮。 第6章 圖像的局部放大技術(shù)及實(shí)現(xiàn) 實(shí)用價(jià)值目前,有許多流行的圖像觀察軟件和圖像處理軟件,為人們在電腦屏幕上瀏覽和加工美麗的圖像提供了方便。然而遺憾的是,這些軟件在圖像放大方面卻不盡如人意。它們往往只能對整幅圖像進(jìn)行
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1