1. 程式人生 > >影象處理複習3———影象編碼和顏色模型

影象處理複習3———影象編碼和顏色模型

影象處理複習

CH6 影象編碼

6.1 編碼與冗餘

影象編碼,就是對影象源資料按一定的規則進行變換和組合,從而達到以儘可能少的程式碼來表示儘可能多的資料的目的

編碼實現了壓縮,所以又稱之為壓縮編碼

影象能夠壓縮是因為為壓縮影象中存在資訊的冗餘,一般將冗餘分成三類:

  • 編碼冗餘:自然編碼將所有灰度值等長編碼,出現頻率高的灰度值全域性相對碼字長度較大
  • 畫素相關性冗餘:幀內畫素資訊冗餘、幀間畫素資訊冗餘
  • 視覺冗餘:人眼對不同視覺資訊有不同敏感度,並且人眼解析度有限

6.2 資訊熵和編碼效能引數

(1)熵

設影象灰度集集合d=d1,d2,...,dmdk出現頻率為p

(dk),那麼有該影象的熵為:

H(d)=i=1mp(di)log2p(di)

(2)無失真編碼定理

無失真編碼定理:在無干擾條件下,存在一種無失真的編碼方法,使編碼的平均碼長與信源的熵H(d)無限接近

推論:

  1. 若當前編碼平均碼長大於H(d)則一定可以設計出平均碼長更短的無失真編碼方法
  2. 平均碼長小於H(d)的無失真編碼不存在

(3)編碼效能引數

  • 平均碼長:L=mi=1p(di)l(di),其中l(di)是灰度級為di的碼長,單位是位元每畫素
  • 編碼效率:η=H(d)L
  • 冗餘度:Rd=1η
  • 壓縮比:C=nnd

6.3 簡單編碼

(1)Huffman編碼

每次選兩個概率最小的節點構造一個新節點(新節點概率為兩節點概率之和),直到構造出一棵二叉樹(根節點概率為1),然後左0右1標記樹枝,最後從根節點到葉節點路徑上的標號串連起來既是該節點的Huffman編碼

Huffman編碼是最優編碼,編碼效率很高,但是計算量較大,並且有一個致命問題:

  • 當各灰度概率接近時編碼(都比較小)長度會較長,可能會超過自然編碼長度,導致不壓縮反而資料量增大

解決:分子塊獨立Huffman編碼

(2)其他亞最優編碼

以下編碼均是變長的亞最優編碼

  1. B2編碼:兩位資訊位編碼,一位標誌位,按概率從大到小依次安排較短編碼
  2. 二元平移碼:3位資訊位作為一段,按概率從大到小依次安排段數較小的碼,並且保證只有最後一段不是111(其餘均是)
  3. 截斷Huffman編碼:只對最可能出現的M個符號進行哈夫曼編碼,而對其它的碼都用在1個合適的定長碼前加1個字首碼來表示
  4. Huffman平移碼:分塊,所有塊內字尾和第一塊的huffman編碼相同,各塊再增加字首區分

截斷Huffman編碼具體步驟是:

  1. 重新排列信源符號使它們的概率單減
  2. 選取一個合適的M
  3. 將後N-M個節點概率合併看成一個節點A
  4. 對M+1個節點進行huffman編碼
  5. 前M個節點編碼就是分配的huffman碼
  6. 後N-M個節點字首為節點A的huffman碼,並分配最小長度的定長碼作為字尾

平移Huffman編碼的具體步驟是:

  1. 重新排列信源符號使它們的概率單減
  2. 將符號總數分成相同大小的符號塊
  3. 對第一塊中節點和剩餘節點的合併節點A進行huffman編碼
  4. 第一塊節點編碼就是分配的huffman碼
  5. 剩餘每塊的字尾按同樣位序取第一塊中分配的huffman碼
  6. A的huffman碼作為字首,迴圈串連作為後面塊的字首:如A的huffman碼是00,那麼第二塊字首取00,第三塊字首取0000

(3)編碼舉例

這裡寫圖片描述

說明:

  • 二元碼即自然碼
  • 二元平移碼的構造方法之前說的不是很詳細,可以參考Huffman平移碼理解平移的概念
  • Huffman和B2比較易懂
  • 截斷huffman碼取M=12,把後N-M=9個節點看成一個節點做Huffman編碼
  • 二元平移碼和Huffman平移碼均取塊大小為7,那麼就按照前7個節點和合並的節點的編碼確定各塊的字首和字尾

6.4 變換編碼

影象資料經過正交變換後絕大部分資訊集中在少數變換系數上,通過對這些係數的量化實現影象壓縮,最常用的正交變換是DCT

正交變換影象編碼的一般步驟為:

  • 壓縮:輸入 → 構造子影象 → 正交變換 → 量化 → 編碼
  • 解壓:解碼 → 反正交變換 → 合併子影象 → 輸出

(1)DCT變換編碼

DCT影象編碼的一般步驟為:

  • 壓縮:輸入 → 構造子影象 → DCT變換 → 除以量化矩陣 → 取整 → 編碼
  • 解壓:解碼 → 乘以量化矩陣 → DCT逆變換 → 取整 → 合併子影象 → 輸出

核心思路是對DCT變換後的影象(集中)再進行編碼,如Huffman編碼此時效率更高

CH7 彩色影象處理

7.1 彩色模型

(1)RGB

光的三基色為R、G、B,那麼所有顏色可表示為C=rR+gG+bB,三元組(1,b,c)就是RGB顏色模型中顏色表示

(2)HIS

字母的含義為:

  • H:亮度
  • I:色度/色相,0度為紅色、120度為綠色、240度為藍色
  • S:飽和度,色環中用原點到彩色點的半徑表示飽和度(越靠近中心飽和度越低)

RGB到HIS轉換:

I=13(R+G+B)S=13min(R,G,B)R+G+BH=θ,GB2πθ,G<Bθ=arccos(RG)+(RB)2(RG)2+(RB)(GB)

(3)YUV

Y是亮度,U和V是色差:

Y=0.299R+0.587G+0.114BU=BYV=RY

(4)YCbCr

Y是亮度,Cb和Cr是色差:

Y=0.299R+0.587G+0.114BCb=2(10.114)(BY)Cr=2(10.299)(RY)

相關推薦

影象處理複習3———影象編碼顏色模型

影象處理複習 CH6 影象編碼 6.1 編碼與冗餘 影象編碼,就是對影象源資料按一定的規則進行變換和組合,從而達到以儘可能少的程式碼來表示儘可能多的資料的目的 編碼實現了壓縮,所以又稱之為壓縮編碼 影象能夠壓縮是因為為壓縮影象中存在資訊的冗

影象處理複習2——影象傅立葉變換頻域濾波

影象處理複習 CH4 基本影象變換 4.1 DFT (1)一維DFT 一維DFT: F(u)=1N∑N−1x=0f(x)e−j2πuxN,x=0,1,…,N−1 其逆變換: f(x)=∑N−1u=0F(u)ej2πuxN,u=0,1

影象處理--視訊之幀率位元速率

幀率(FPS)   幀率就是在1秒鐘時間裡傳輸的圖片的幀數,也可以理解為圖形處理器每秒鐘能夠重新整理幾次。會影響畫面流暢度,並與畫面流暢度成正比(即幀率越大,畫面越流暢;幀率越小,畫面越有跳動感)。   如果位元速率為變數,則幀率也會影響體積,幀率越高,每秒鐘經過的畫面越多,需要的位元速

數字影象處理技術之影象壓縮編碼

影象壓縮編碼是專門研究影象資料壓縮的技術,就是儘量減少表示資料影象所需要的資料量 目的:減少儲存空間、縮短傳輸時間 影象壓縮編碼從本質上來說就是對要處理的影象資料按照一定的規則進行變換和組合,從而達到以儘可能少的資料來表示儘可能多的資料資訊。 一、資料的冗餘與相關 1.資

數字影象處理之空間域濾波銳化(Octave實現)

濾波這一概念可以結合數字訊號處理這一領域中的濾波。而在數字影象處理中濾波可以分為空間域濾波和頻率域濾波。這篇博文主要來學習下空間域濾波。 空間域濾波機理 *空間濾波器由一個鄰域(典型的是一個較小的矩形)構成,對該鄰域所包圍的畫素按照一定的操作計算出目標畫素的值,這一過程就是空

影象處理(1)——對比度亮度調整

1.內容 設計一個Sigmoid函式,實現對影象的對比度調整; 使用opencv視窗系統的slider控制元件,互動改變Sigmoid函式的引數,實現不同程度的對比度調整; 2.方法 一次函式方法 想要調整圖片的對比度,就要對圖片中的畫素進行操作,改變畫素的值來

android影象處理3)浮雕效果

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

android影象處理3)底片效果

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

影象處理3)頻率域濾波

Fourier變換 Fourier變換最開始由傅立葉提出,當時為了解決熱力學問題。後來經過發展形成了一套完整的理論,應用在物理學、訊號學等很多方面。如果一個函式滿足絕對可積條件,即: 因為計算機處理的是離散值,要求對f(x)和F(w)都取樣,這時Fourier變換被稱為離

python數字影象處理3):影象畫素的訪問與裁剪

圖片讀入程式中後,是以numpy陣列存在的。因此對numpy陣列的一切功能,對圖片也適用。對陣列元素的訪問,實際上就是對圖片畫素點的訪問。 彩色圖片訪問方式為: img[i,j,c] i表示圖片的行數,j表示圖片的列數,c表示圖片的通道數(RGB三通道分別對應0,1

影象處理三:影象變形forward warpinginverse warping

一、影象變形 假設原影象為f(u,v),扭曲的目標影象是g(x,y) 1. forward warping        在已知影象座標轉換關係x(u,v)和y(u,v),直接把原圖座標對映到轉換後圖像相對應的位置上,近似取整得到結果。

影象處理一:形態學膨脹腐蝕

一、形態學概述        形態學(morphology)一詞通常表示生物學的一個分支,該分支主要研究動植物的形態和結構,而影象處理中的形態學主要是指數學形態學。        數學形態學(Mathemat

OpenCV 中影象處理類,Mat類Ipllmage類

 Mat類是OpenCV 中最核心的類,全稱是Matrix,意為矩陣或者陣列的意思,該類的宣告在標頭檔案opencv2\core\core.hpp中,   Mat 類的建構函式如下:  Mat(int rows,int cols,int type)  其中rows代表矩

影象處理(Image Processing) ---------- 影象影像壓縮(Compression)(C#實現)

空間域壓縮: Fractal Coding :https://blog.csdn.net/weixin_35811044 Run Length Coding: 影象中連續出現的相同Pixel,只記錄一個但需多一個符號記錄其出現的次數,無失真壓縮。Ex.111110000

Matlab影象處理系列3———空間域銳化濾波器

注:本系列來自於影象處理課程實驗,用Matlab實現最基本的影象處理演算法 1.銳化濾波器 銳化濾波,是將影象的低頻部分減弱或去除,保留影象的高頻部分,即影象的邊緣資訊。 影象的邊緣、輪廓一般位於灰度突變的地方,也就是影象的高頻部分,通常用灰度差分提取邊緣

數字影象處理複習總結

複習著感覺記不住,於是乎,有了這篇博文,如果也同樣選修了數字影象處理課程的小夥伴們可以參考一哈! 純手碼字…逢考必過! 概念 取樣與量化 灰度變換緩慢的景物:粗取樣、細量化 有大量細節變化的影象:細取樣、粗量化 取樣不夠出現馬賽克;量化不夠出現假輪廓

Matlab影象處理系列1———線性變換直方圖均衡

注:本系列來自於影象處理課程實驗,用Matlab實現最基本的影象處理演算法 影象點處理是影象處理系列的基礎,主要用於讓我們熟悉Matlab影象處理的程式設計環境。灰度線性變換和灰度拉伸是對畫素灰度值的變換操作,直方圖是對畫素灰度值的統計,直方圖均衡是對灰度值分

數字影象處理3)---亮度與對比度

亮度 亮度是一個相對的概念。這取決於你的視覺感受。因為亮度是一個相對的概念,所以亮度可以定義發光體(反光體)表面發光(反光)強弱的物理量。在某些情況下我們很容易地說,影象是明亮的,在某些情況下,它不容易察覺。(不要把亮度和光照度混淆) 例如 對比以下兩幅影象,並且比較哪個更

Matlab 影象處理-哈夫曼編碼(huffman)

哈夫曼編碼是一種可變長無損編碼,應用範圍廣。這裡介紹利用matalb實現哈夫曼編碼方法。matalb中帶有相關函,下面一一介紹: ENCO = huffmanenco(SIG, DICT) : 哈夫曼

MATLAB影象處理實驗——細胞影象的分割計數

程式碼戳這裡 1. 實驗內容 本實驗為使用MATLAB編寫的細胞影象分割及計數系統,實現了對影象內細胞的計數,以及對每個細胞周長和麵積的測量,並分別展示了分割後的每個細胞的影象。 實驗步驟共分為影象預處理、影象預分割、空洞填充、黏連細胞分割、細胞個數統計、細胞特