c圖像壓縮
華科的吧···
B. C語言都有哪些經典的無損壓縮演算法
C語言經典的無損壓縮演算法有:哈夫曼演算法、LZ。
哈夫曼演算法:
哈夫曼編碼是David A. Huffman於1952年發明的一種滿足對編碼演算法要求的一種編碼演算法。
哈夫曼演算法是利用頻率信息構造一棵二叉樹,頻率高的離根節點近(編碼長度短),頻率低的離根節點遠(編碼長度長),手動構造方法是先將字母按照頻率從小到大排序,然後不斷選擇當前還沒有父節點的節點中權值最小的兩個,構造新的父節點,父節點的值為這兩個節點值的和,直到構造成一棵二叉樹。
LZ演算法:
LZ演算法及其衍生變形演算法是壓縮演算法的一個系列。LZ77和LZ78演算法分別在1977年和1978年被創造出來。雖然他們名字差不多,但是演算法方法完全不同。這一系列演算法主要適用於字母數量有限的信息,比如文字、源碼等。流行的GIF和PNG格式的圖像,使用顏色數量有限的顏色空間,其壓縮就採用了兩種演算法的靈活變形應用。
C. 怎麼壓縮圖片的大小
用這個在線圖片壓縮工具,想把圖片文件的大小減到多少都行,比如你直接設置一下壓縮數值到600kb,馬上瞬間就能把圖片的文件大小壓縮到600kb搞定,你設定壓縮到多少kb,他壓縮完輸出的圖片就是多少kb,方便得很。在線智能壓縮圖片大小,圖片壓縮體積
在線圖片智能壓縮使用步驟:
一、首先點擊加號添加需要壓縮的圖片。目前已知支持對jpg、png等多種常見的圖片格式進行壓縮,如果上傳圖片並壓縮成功,則代表支持該圖片格式。
二、可以自行修改圖片需要被壓縮到的最大寬高尺寸,默認為圖片原始的寬高尺寸,且寬高比例是自動鎖定的。
三、必須設置圖片被壓縮後,期望輸出的圖片文件的最大佔用空間。(必填項)
四、選擇圖片生成的演算法。默認為混合優先演算法,絕大多數情況下使用默認演算法即可。
五、壓縮的設定值不能小於1Kb,但圖片壓縮的最終效果可以小於1Kb。
butterpig
D. 求用C語言寫的圖像壓縮(JPEG)編碼中zigzag編程部分
你說的是這段?
還是包括後面的huffman編碼部分
static UChar zigzag[64]={ 0, 1, 5, 6,14,15,27,28,
2, 4, 7,13,16,26,29,42,
3, 8,12,17,25,30,41,43,
9,11,18,24,31,40,44,53,
10,19,23,32,39,45,52,54,
20,22,33,38,46,51,55,60,
21,34,37,47,50,56,59,61,
35,36,48,49,57,58,62,63 };
//zigzag reorder
for (i=0;i<=63;i++) DU[zigzag[i]]=DU_DCT[i];
E. 如何壓縮圖片
1、在【WPS圖片】軟體中打開需要壓縮的培返悶圖片後點擊右上角的「工具箱」選項。
2、進入後點擊需要的「壓縮體積」選項。
3、再在壓縮體積窗口中,根據自身的需要設置世者輸出大小、圖片品質等參數,並點擊「導出」按鈕即配彎可。
F. 上傳圖片時讓我壓縮到1M以下,怎樣壓縮
在線圖片壓縮工具
一、首先點擊加號添加需要壓縮的圖片。目前已知支持jpg、png等多種常見的圖片格式,如果上傳圖片並壓縮成功,則代表支持該格式。
二、可以自行修改圖片需要被壓縮到的最大寬高尺寸,默認為圖片原始的寬高尺寸,且寬高比例是自動鎖定的。
三、必須設置圖片被壓縮後,期望輸出的圖片文件的最大佔用空間。(必填項)
四、選擇圖片生成的演算法。默認為混合優先演算法,絕大多數情況下使用默認演算法即可。
五、壓縮的設定值不能小於1kb,但圖片壓縮的最終效果可以小於1kb。
butterpig
G. VC++得到圖像數據太大,想要壓縮後再傳輸
下載一個CxImage(開源)困雀嘩,用它來壓縮成jpg或其它格式再傳。歲中
也可以使用ijl。
下面是我寫的使用CxImage的例子:
#include "xImage.h"
#include "汪行CaptureScreen.h"
#pragma comment(lib,"cximage.lib")
#pragma comment(lib,"jpeg.lib")
#pragma comment(lib,"jasper.lib")
CAPTURESCREEN_API bool __stdcall Capture(char* lpszFile,unsigned int height,unsigned int width,unsigned char jpgQuality)
{
keybd_event(VK_SNAPSHOT,0,0,0);
keybd_event(VK_SNAPSHOT,0,KEYEVENTF_KEYUP,0);
if(!IsClipboardFormatAvailable(CF_DIB))return false;
HANDLE hBitmap = NULL;
if( OpenClipboard( NULL ))
{
hBitmap = GetClipboardData(CF_DIB);
CloseClipboard();
}
if( hBitmap == NULL )return false;
CxImage image;
if( image.CreateFromHANDLE(hBitmap) == false )return false;
image.Resample(width,height,1);
image.SetJpegQuality(jpgQuality);
image.Save(lpszFile,CXIMAGE_FORMAT_JPG);
return true;
}
H. 圖像壓縮編碼詳細資料大全
圖像壓縮編碼可分為兩類:一類壓縮是可逆的 ,即從壓縮後的數據可以完全恢復原來的圖像 ,信息沒有損失 ,稱為無損壓縮編碼;另一類壓縮是不可逆的 ,即從壓縮後的數據無法完全恢復原來的圖像 ,信息有一定損失 ,稱為有損壓縮編碼。
基本介紹
- 中文名 :圖像壓縮編碼
- 性質 :壓縮方式
- 編碼方式 :MP圖像檔案格式等
- 來源 :電子領域
定義
在滿足一定保真度的要求下,對圖像數據的進行變換、編碼和壓縮,去除多餘數據減少表示數字圖像時需要的數據量,以便於圖像的存儲和傳輸。即以較少的數據量有損或無損地表示原來的像素矩陣的技術,也稱圖像編碼.分類
圖像壓縮編碼可分為兩類:一類壓縮是可逆的 ,即從壓縮後的數據可以完全恢復原來的圖像 ,信息沒有損失 ,稱為無嫌液損肢純壓縮編碼;另一類壓縮是不可逆的 ,即從壓縮後的數據無法完全恢復原來的圖像 ,信息有一定損失 ,稱為有損壓縮編碼。基本途徑
圖像的數據量極大,必須對其數據總量大大壓縮,才能夠存儲在直徑12cm的光碟上。在實用技術上,可通過以下途徑來壓縮圖像數據的總量。 1、採用亮度(Y)、色度(C)取樣方式 2、將整幅圖像分割為小區域進行分割處理 3、採用幀間和幀內數據壓縮技術。幾種編碼比較
BMP圖像檔案格式 BMP是一種與硬體設備無關的圖像檔案格式,使用非常廣。它採用位映射存儲格式,除了圖像深度可選以外,不採用其他任何壓縮,因此,BMP檔案所佔用的空間很大。BMP檔案的圖像深度可選lbit、4bit、8bit及24bit。BMP檔案存儲數據時,圖像的掃描方式是按從左到右、從下到上的順序。由於BMP檔案格式是Windows環境中交換與圖有關的數據的一種標准,因此在Windows環境中運行的圖形圖像軟體都支持BMP圖像格式。典型的BMP圖像檔案由三部分組成:點陣圖檔案頭數據結構,它包含BMP圖像檔案的類型、顯示內容等信息;點陣圖信息數據結構,它包含有BMP圖像的寬、高、壓芹飢物縮方法,以及定義顏色等信息。 PCX圖像檔案格式 PCX這種圖像檔案的形成是有一個發展過程的。最先的PCX雛形是出現在ZSOFT公司推出的名叫PC PAINBRUSH的用於繪畫的商業軟體包中。以後,微軟公司將其移植到 Windows環境中,成為Windows系統中一個子功能。先在微軟的Windows3.1中廣泛套用,隨著Windows的流行、升級,加之其強大的圖像處理能力,使PCX同GIF、TIFF、BMP圖像檔案格式一起,被越來越多的圖形圖像軟體工具所支持,也越來越得到人們的重視。PCX是最早支持彩色圖像的一種檔案格式,現在最高可以支持256種彩色,如圖4-25所示,顯示256色的彩色圖像。PCX設計者很有眼光地超前引入了彩色圖像檔案格式,使之成為現在非常流行的圖像檔案格式。PCX圖像檔案由檔案頭和實際圖像數據構成。檔案頭由128位元組組成,描述版本信息和圖像顯示設備的橫向、縱向解析度,以及調色板等信息:在實際圖像數據中,表示圖像數據類型和彩色類型。PCX圖像檔案中的數據都是用PCXREL技術壓縮後的圖像數據。 PCX是PC機畫筆的圖像檔案格式。PCX的圖像深度可選為l、4、8bit。由於這種檔案格式出現較早,它不支持真彩色。PCX檔案採用 RLE行程編碼,檔案體中存放的是壓縮後的圖像數據。因此,將採集到的圖像數據寫成PCX檔案格式時,要對其進行RLE編碼:而讀取一個PCX檔案時首先要對其進行RLE解碼,才能進一步顯示和處理。 TIFF圖像檔案格式 TIFF(TaglmageFileFormat)圖像檔案是由Als和Microsoft公司為桌上出版系統研製開發的一種較為通用的圖像檔案格式。TIFF格式靈活易變,它又定義了四類不同的格式:TIFF-B適用於二值圖像:TIFF-G適用於黑白灰度圖像;TIFF-P適用於帶調色板的彩色圖像:TIFF-R適用於RGB真彩圖像。 TIFF支持多種編碼方法,其中包括RGB無壓縮、RLE壓縮及JPEG壓縮等。 TIFF是現存圖像檔案格式中最復雜的一種,它具有擴展性、方便性、可改性,可以提供給IBMPC等環境中運行、圖像編輯程式。 TIFF圖像檔案由三個數據結構組成,分別為檔案頭、一個或多個稱為IFD的包含標記指針的目錄以及數據本身。 TIFF圖像檔案中的第一個數據結構稱為圖像檔案頭或IFH。這個結構是一個TIFF檔案中唯一的、有固定位置的部分;IFD圖像檔案目錄是一個位元組長度可變的信息塊,Tag標記是TIFF檔案的核心部分,在圖像檔案目錄中定義了要用的所有圖像參數,目錄中的每一目錄條目就包含圖像的一個參數。 GIF檔案格式 GIF(Graphics Interchange Format)的原義是「圖像互換格式」,是CompuServe公司在 1987年開發的圖像檔案格式。GIF檔案的數據,是一種基於LZW演算法的連續色調的無損壓縮格式。其壓縮率一般在50%左右,它不屬於任何應用程式。目前幾乎所有相關軟體都支持它,公共領域有大量的軟體在使用GIF圖像檔案。 GIF圖像檔案的數據是經過壓縮的,而且是採用了可變長度等壓縮演算法。所以GIF的圖像深度從lbit到8bit,也即GIF最多支持256 種色彩的圖像。GIF格式的另一個特點是其在一個GIF檔案中可以存多幅彩色圖像,如果把存於一個檔案中的多幅圖像數據逐幅讀出並顯示到螢幕上,就可構成一種最簡單的動畫。 GIF解碼較快,因為採用隔行存放的GIF圖像,在邊解碼邊顯示的時候可分成四遍掃描。第一遍掃描雖然只顯示了整個圖像的八分之一,第二遍的掃描後也只顯示了1/4,但這已經把整幅圖像的概貌顯示出來了。在顯示GIF圖像時,隔行存放的圖像會給您感覺到它的顯示速度似乎要比其他圖像快一些,這是隔行存放的優點。 JPEG檔案格式 JPEG是Joint Photographic Experts Group(聯合圖像專家組)的縮寫,檔案後輟名為「.jpg」或「.jpeg」,是最常用的圖像檔案格式,由一個軟體開發聯合會組織制定,是一種有損壓縮格式,能夠將圖像壓縮在很小的儲存空間,圖像中重復或不重要的資料會被丟失,因此容易造成圖像數據的損傷。尤其是使用過高的壓縮比例,將使最終解壓縮後恢復的圖像質量明顯降低,如果追求高品質圖像,不宜採用過高壓縮比例。但是JPEG壓縮技術十分先進,它用有損壓縮方式去除冗餘的圖像數據,在獲得極高的壓縮率的同時能展現十分豐富生動的圖像,換句話說,就是可以用最少的磁碟空間得到較好的圖像品質。而且 JPEG是一種很靈活的格式,具有調節圖像質量的功能,允許用不同的壓縮比例對檔案進行壓縮,支持多種壓縮級別,壓縮比率通常在10:1到40:1之間,壓縮比越大,品質就越低;相反地,壓縮比越小,品質就越好。比如可以把1.37Mb的BMP點陣圖檔案壓縮至20.3KB。當然也可以在圖像質量和檔案尺寸之間找到平衡點。JPEG格式壓縮的主要是高頻信息,對色彩的信息保留較好,適合套用於網際網路,可減少圖像的傳輸時間,可以支持24bit真彩色,也普遍套用於需要連續色調的圖像。 JPEG格式是目前網路上最流行的圖像格式,是可以把檔案壓縮到最小的格式,在 Photoshop軟體中以JPEG格式儲存時,提供11級壓縮級別,以0—10級表示。其中0級壓縮比最高,圖像品質最差。即使採用細節幾乎無損的10 級質量保存時,壓縮比也可達 5:1。以BMP格式保存時得到4.28MB圖像檔案,在採用JPG格式保存時,其檔案僅為178KB,壓縮比達到24:1。經過多次比較,採用第8級壓縮為存儲空間與圖像質量兼得的最佳比例。 JPEG格式的套用非常廣泛,特別是在網路和光碟讀物上,都能找到它的身影。目前各類瀏覽器均支持JPEG這種圖像格式,因為JPEG格式的檔案尺寸較小,下載速度快。 JPEG2000作為JPEG的升級版,其壓縮率比JPEG高約30%左右,同時支持有損和無損壓縮。JPEG2000格式有一個極其重要的特徵在於它能實現漸進傳輸,即先傳輸圖像的輪廓,然後逐步傳輸數據,不斷提高圖像質量,讓圖像由朦朧到清晰顯示。此外,JPEG2000還支持所謂的「感興趣區域」特性,可以任意指定影像上感興趣區域的壓縮質量,還可以選擇指定的部分先解壓縮。 JPEG2000和JPEG相比優勢明顯,且向下兼容,因此可取代傳統的JPEG格式。JPEG2000即可套用於傳統的JPEG市場,如掃瞄器、數位相機等,又可套用於新興領域,如網路傳輸、無線通訊等等。 TGA格式 TGA格式(Tagged Graphics)是由美國Truevision公司為其顯示卡開發的一種圖像檔案格式,檔案後綴為「.tga」,已被國際上的圖形、圖像工業所接受。 TGA的結構比較簡單,屬於一種圖形、圖像數據的通用格式,在多媒體領域有很大影響,是計算機生成圖像向電視轉換的一種首選格式。TGA圖像格式最大的特點是可以做出不規則形狀的圖形、圖像檔案,一般圖形、圖像檔案都為四方形,若需要有圓形、菱形甚至是縷空的圖像檔案時,TGA可就派上用場了! TGA格式支持壓縮,使用不失真的壓縮演算法。 EXIF格式 EXIF的格式是1994年富士公司提倡的數位相機圖像檔案格式,其實與JPEG格式相同,區別是除保存圖像數據外,還能夠存儲攝影日期、使用光圈、快門、閃光燈數據等曝光資料和附帶信息以及小尺寸圖像。 FPX圖像檔案格式 FPX圖像檔案格式(擴展名為fpx)是由柯達、微軟、HP及Live PictureInc聯合研製,並於1996年6月正式發表,FPX是一個擁有多重解析度的影像格式,即影像被儲存成一系列高低不同的分辯率,這種格式的好處是當影像被放大時仍可維持影像的質素,另外,當修飾FPX影像時,只會處理被修飾的部分,不會把整幅影像一並處理,從而減小處理器及記憶體的負擔,使影像處理時間減少。 SVG格式 SVG是可縮放的矢量圖形格式。它是一種開放標準的矢量圖形語言,可任意放大圖形顯示,邊緣異常清晰,文字在SVG圖像中保留可編輯和可搜尋的狀態,沒有字型的限制,生成的檔案很小,下載很快,十分適合用於設計高解析度的Web圖形頁面。 PSD檔案格式 這是Photoshop圖像處理軟體的專用檔案格式,檔案擴展名是.psd,可以支持圖層、通道、蒙板和不同色彩模式的各種圖像特徵,是一種非壓縮的原始檔案保存格式。掃瞄器不能直接生成該種格式的檔案。PSD檔案有時容量會很大,但由於可以保留所有原始信息,在圖像處理中對於尚未製作完成的圖像,選用PSD格式保存是最佳的選擇。 十一、CDR檔案格式 CDR格式是著名繪圖軟體CorelDRAW的專用圖形檔案格式。由於CorelDRAW是矢量圖形繪制軟體,所以CDR可以記錄檔案的屬性、位置和分頁等。但它在兼容度上比較差,所有CorelDraw應用程式中均能夠使用,但其他圖像編輯軟體打不開此類檔案。 十二、PCD檔案格式 PCD是Kodak PhotoCD的縮寫,檔案擴展名是.pod,是Kodak開發的一種Photo CD檔案格式,其他軟體系統只能對其進行讀取。該格式使用YCC色彩模式定義圖像中的色彩。YCC和CIE色彩空間包含比顯示器和列印設備的RGB色和 CMYK色多得多的色彩。PhotoCD圖像大多具有非常高的質量。 十三、DXF檔案格式 DXF是Drawing Exchange Format的縮寫,擴展名是.dxf,是AutoCAD中的圖形檔案格式,它以ASCII方式儲存圖形,在表現圖形的大小方面十分精確,可被CorelDraw和3DS等大型軟體調用編輯。 十四、UFO檔案格式 它是著名圖像編輯軟體Ulead Photolmapct的專用圖像格式,能夠完整地記錄所有 Photolmapct處理過的圖像屬性。值得一提的是,UFO檔案以對象來代替圖層記錄圖像信息。 十五、EPS檔案格式 EPS是Encapsulated PostScript的縮寫,是跨平台的標准格式,擴展名在PC平台上是.eps,在Macintosh平台上是.epsf,主要用於矢量圖像和光柵圖像的存儲。EPS格式採用 PostScript語言進行描述,並且可以保存其他一些類型信息,例如多色調曲線、Alpha通道、分色、剪輯路徑、掛網信息和色調曲線等,因此EPS 格式常用於印刷或列印輸出。Photoshop中的多個EPS格式選項可以實現印刷列印的綜合控制,在某些情況下甚至優於TIFF格式。 十六、PNG圖像檔案格式 PNG(Portable Neorf Graphics)的原名稱為「可移植性網路圖像」,是網上接受的最新圖像檔案格式。PNG能夠提供長度比GIF小30%的無損壓縮圖像檔案。它同時提供 24位和48位真彩色圖像支持以及其他諸多技術性支持。由於PNG非常新,所以目前並不是所有的程式都可以用它來存儲圖像檔案,但Photoshop可以處理PNG圖像檔案,也可以用PNG圖像檔案格式存儲。
I. 如何用c語言實現壓縮圖片內存大小
是(row,col,value),這樣把所有不為零的值組成一個向量。這種存儲方式比二維數組節省了不少空間,當然還可以進一步節省,因為三元組裡面row或者col重復存儲了,一行或者一列存一次就行了,按這種思路走下去就是行壓縮存儲了。
那具體什麼是行壓縮存儲呢?行壓縮存儲的思想就是,把所有不為零的值按行訪問的順序組成一個向量,然後再把每一行值不為0的列的下標存下來,這個兩個向量的大小和稀疏矩陣中不為0的值得個數相同,當然要實現對行壓縮矩陣的訪問,還要把每一行的不為0的列的下標在第二個向量中開始的位置存下來,有人把這個叫做指針。有了這三個向量就可以實現對矩陣實現高效的按行訪問了。行壓縮存儲比三元組優秀的不僅是空間的壓縮,還有就是行訪問時的高效。三元組如果是有序的,可以二分查找來訪問一行,但是行壓縮存儲按行訪問時的時間復雜度是常數級的。 大家可以參考下面這個行壓縮矩陣示意圖:
J. 怎麼壓縮照片
壓縮照片的方法:
Office軟體幾乎每個電腦都有安裝,使用他們就可以快速有效的壓縮圖片大小,而且操作非常簡單。
就以Word為例(Excel、PPT同樣操作),將圖片上傳到Word空白文檔中,接著羨侍知選中圖片,然後兄消在工具欄點擊【格式】,然後點擊【談圓壓縮圖片】。
這時候圖片上出現圖片壓縮的彈框,選擇【使用默認解析度】,最後點擊【確定】就行。
圖片壓縮之後,再次選中圖片點擊滑鼠右鍵,然後【另存為圖片......】將圖片保存到電腦上就好了。壓縮前後文檔圖片大小的對比,1.5M的文件直接壓縮到187K。