影象基礎知識 入門,筆記

2021-08-10 07:37:25 字數 4961 閱讀 1963

第一章 windows點陣圖和調色盤

關於影象的儲存方法:

ex:有乙個長寬各位200個畫素,顏色數為16色的彩色圖,每乙個畫素都用rgb 3個分量表示。

① 最易想到,最原始的儲存方法:

因為每個分量有256個級別,要用8bit,即1 byte 來表示,所以每個畫素需要用 3 byte。so,整個影象要用 200 * 200 * 3,約 120k byte。

② 調色盤 palette

我們用乙個表,表中每一行記錄一種顏色的 r g b 值,而列數等於顏色數。這樣一行需要 3 byte ( r g b 各佔1 byte),16 個狀態需要 16 行。所以,表占用的位元組共 3 * 16 = 48 byte。

影象只有16個顏色,就是16種狀態,只需要 4 bit = 0.5byte用來給它們編號,以在表中查詢到該顏色的具體 rgb 值。

這樣,採用調色盤儲存該影象共需要的儲存空間是: 200 * 200 * 16 * 0.5 + 3 * 16 (byte)

這樣所占用的位元組數約為前面的1/6,節省了不少呢。

另,關於真彩色圖的儲存:

所謂真彩色圖,是指他的顏色數高達 256 * 256 * 256,也就是包含了rgb顏色表示方法中的所有顏色。但是並不是說一幅圖包含了所有的顏色,而是說它具有顯示所有顏色的能力。即最多可以包含所有的顏色。

如果這時還要採用調色盤技術 :

調色盤: 顏色數 * 3 = 256 * 256 * 256 * 3

顏色的索引:log (256 * 256 * 256)= 24 bit = 3 byte

而直接利用 r g b三個分量表示乙個畫素只需要 3byte 而已。反而節省了儲存調色盤的空間。

所以:對於2色位圖,用1位就可以表示該畫素的顏色,乙個位元組可以表示8個畫素。

對於16色位圖,用4位可以表示乙個畫素的顏色,乙個位元組可以表示2個畫素。

對於256色位圖,乙個位元組剛好可以表示1個畫素。

notice:

① 每一行的位元組數必須是4的整數倍,如果不是需要補齊。

② 一般來說,.bmp檔案的資料從下到上,從左到右。

bmp檔案格式:

大體可以分成4部分:

位圖標頭檔案 bitmapfileheader

位圖資訊頭 bitmapinfoheader

調色盤 palette

實際的點陣圖資料 imagedate

第二章:影象的幾何變換

平移旋轉映象轉置放縮

平移:初始座標(x0, y0)的點經過平移(tx, ty) (以向右,向下為正方向)後,座標變為(x1, y1)。這兩點之間的關係是x1 = x0 + tx y1 = y0 + ty

以矩陣的形式表示:

它的逆變換:

平移後的影象中每個畫素的顏色,它的rgb值和它平移前那點是一樣的。所以,通過逆變換,我們可以得到平移前的那點。

x1 - tx = x0 y1 - ty = y0

這樣就可以得到平移後的點(x1 ,y1)的原始點(即平移前的點)了,也就知道了它的rgb值。

那麼,如果新圖中有一點,按照逆變換的公式得到的對應的平移之前的點不在原圖中該怎麼辦呢?通常是把該點的rgb值統一設為(0,0,0) or (255, 255, 255)

還有乙個問題,平移後的影象是否要放大 ?一種方法是不放大,移出的部分被截斷。另一種做法是,將影象放大,使得能夠顯示下所有部分。

這種處理,檔案大小要改變。設原圖的寬和高分別是 w1 h1 ,則新圖的寬和高變為 w1+| tx| h1 + | ty | . | | 表示tx ty 可能為負,即向左向上移動。

灰度圖grayscale

灰度是指只含亮度資訊,不含色彩資訊的影象。黑白**就是灰度圖,特點是亮度由暗到明,變化是連續的。要表示灰度圖,就需要把亮度值進行量化。

.bmp 檔案中,沒有灰度圖這個概念,但是可以很easy的在bmp檔案中表示灰度圖:用256色的調色盤。這個調色盤的每一項rgb值都是相同的。

yuv表示方法:

y分量的物理含義是亮度,u & v分量代表了色差訊號。

y代表了亮度,所以y包含了灰度圖的所有資訊,只用y分量就可以完全表示出一幅灰度圖來。加上u v 分量,就可以表示彩色資訊了。 這樣,用一種方法就可以在灰度和色彩圖之間切換,而rgb表示方法就做不到這一點了。

由於人眼對亮度訊號非常敏感,對色差訊號的敏感程度相對較弱。所以,影象的主要資訊應該包含在y分量中。so,對yuv訊號進行量化時,可讓y的量化級別多些,讓uv量化級別少些,就可以實現影象資訊的壓縮。

yuv 和 rgb之間存在對應關係。當rgb= (a, a, a) 時,yuv = (a , 0,0)

使用灰度圖的好處:

①rgb的值都一樣。

② 影象資料即調色盤索引值,就是實際的rgb值,也就是亮度值。

③ 因為是256色調色盤,所以影象資料中乙個位元組代表乙個畫素,很整齊。

所以,做影象處理時都採用灰度圖。

translation 思想:

首先,將所有區域填成白色

然後,找到平移後顯示區域的左上角(x0, y0) 和右下角點(x1, y1)

① tx <= -width :影象完全移出了螢幕,不用做任何處理

② – width < tx <=0 : 影象向左平移,但是沒有完全移除螢幕的情況。此時,影象區域的x範圍是從 0 到 width - |tx|

③ 0< tx < width :影象向右平移,但是還沒有完全移除螢幕。影象區域的x範圍從 tx -> width 。對應原圖的範圍是從 0 到 width – tx。

④ tx >= width :影象完全移出了螢幕,不做任何處理。

y方向類似。。。。。

這種做法是利用了點陣圖儲存的連續性,即同一行的畫素在記憶體中是相鄰的。memcpy函式從 (x0, y0) 點開始,一次可以拷貝一整行(寬度為 x1 – x0 ),然後將記憶體指標移到 (x0, y0 + 1)處,拷貝下一行。這樣拷貝(y1 – y0)行就完成了全部操作。

旋**rotation

ex:以影象的中心為圓心旋**。。。。。

旋轉後的影象變大了,轉出的部分可以裁減掉。

思想:① 將座標系o』 變成 o

② 將該點順時針旋轉 a角

③ 將座標系o變回 o』

映象 mirror

水平映象: x座標取反後加上影象的寬度

垂直映象: y座標取反後加上影象的高度

轉置 transpose

是將x y 座標對換。 notice : 轉置和旋轉90°是有區別的。

轉置後的寬高對換了。

縮放 zoom

假設放大因子為 ratio ,為了避免新圖過大或過小,限制 0.25 <= ratio <= 4

第三章影象的平滑(去雜訊)、銳化

平滑 smoothing,是影象看起來柔和一些,模糊一些。

灰度突變,是指影象中出現了與相鄰畫素的灰度相差很大的點。在頻域中代表了一種高頻分量。低通濾波器可以濾掉高頻分量,從而達到減少影象雜訊的目的。

實現方法:將圖中的每一點的灰度和它周圍8個點的灰度相加,然後除以 9 ,作為新圖中對應點的灰度。這種標識方法稱為模板 template 。

模板不允許移除邊界,所以結果影象會比原圖小。 對於邊界上無法進行模板操作的點,通常是複製原圖的灰度,不進行任何處理。

模板操作實現了一種鄰域運算,即某個畫素點的結果不僅和該畫素灰度有關,而且和其鄰域點的值有關。

平滑模板的思想是通過將一點和周圍8個點做平均,從而去除突然變化的點,濾掉雜訊,其代價是影象有一定程度的模糊。

box模板:考慮了鄰域點的作用,但並沒有考慮各點位置的影響,對於9個點都一視同仁,所以平滑的效果並不理想。

高斯模板:實際上,離某點越近的點對該點的影響應該越大,所以考慮加權係數。

中值濾波

是一種典型的低通濾波器,目的是保護影象邊緣的同時去除雜訊。所謂中值濾波,是指以某點(x,y)為中心的小視窗內的畫素的灰度按從大到小的順序排列,將中間值作為(x,y)處得灰度值。

應用中值濾波,能很好地保持原來的邊界。所以說,中值濾波的特點就是保護影象邊緣的同時去除雜訊。

高斯雜訊:圖中有很多雜訊點,並且是雜亂無章的,隨即分布的。

脈衝 impulse :影象中間的灰度要比兩邊的高許多

總結:中值濾波容易去除孤立點、線的雜訊,同時保持影象的邊緣,能很好的去除二值雜訊,但對於高斯雜訊無能為力。但是,當視窗內雜訊點的個數大於視窗寬度的一半時,中值濾波的效果不好。

銳化:與平滑相反,是通過增強高頻分量來減少影象中的模糊,因此又稱為高通濾波 。

銳化處理在增強影象邊緣的同時增加了影象的雜訊。

常用的銳化模板是拉普拉斯 laplacian 模板。

拉普拉斯模板的作法:先將自身與周圍8個畫素相減,表示自身與周圍畫素的差別,再將這個差別加上自身作為新畫素的灰度。可見,如果一片暗區中出現了乙個亮點,那麼銳化處理的結果是這個亮點變得更亮,增加了影象的雜訊。

因為影象中的邊緣就是那些灰度發生跳變的區域,所以銳化模板在邊緣檢測中很有用。

第四章影象的半影調和抖動技術

半影調技術(halftone):是指由二值影象顯示出灰度效果的方法。主要用在在只有二值輸出的印表機上列印影象。 有兩種方法可以實現:圖案法和抖動法。

圖案法 (patterning) 是指灰度可以用一定比例的黑白點組成的區域表示,從而達到整體影象的灰度感。黑白點的位置選擇稱為圖案化 。圖案化使用圖案來表示畫素的灰度。

抖動法: 有時候即使採用了圖案化技術,仍然得不到要求的灰度級別(比如,當一幅灰度圖用一定解析度的印表機將其列印到一定尺寸的紙上上,每個畫素可以用 x 個點大小的圖案來表示,但是最多能表示 x + 1 級灰度,無法滿足影象的灰度級。)這時可以採用兩種方法來解決:

① 減小影象尺寸 ② 降低影象灰度級 ③ 抖動法 dithering

方法③可以更好的解決這個問題。

抖動法。 有規則抖動(regular dithering) ,它的演算法簡單,但是圖案化有時很明顯。這時因為取模運算雖然引入了隨機成分,但還是有規律的。

另外,點之間進行比較時,只要比標準圖案上點的值大就打白點,這樣並不理想,因為,如果標準圖案點的灰度值本身就很小,而影象中點的灰度只比它大一點時,影象中的點更接近黑色而不是白色。一種更好的方法是將這個誤差傳播到鄰近的畫素。

影象處理基礎知識

第1章初識photoshopcs5 11.1 photoshop cs5簡介 11.2 影象處理基礎知識 1 1.2.1 點陣圖和向量圖 1 1.2.2 解析度 2 1.2.3 影象的顏色模式 3 1.2.4 常用的影象檔案格式 41.3 工作介面 5 1.3.1 選單欄 5 1.3.2 工具箱 6...

電腦基礎知識入門

第二章電腦的基礎 第一節開啟計算機 大家好,歡迎大家到 電腦課堂 來,其實電腦挺好學的,您只要跟我一步一步來,再過幾天您也能熟練地使用電腦了!首先,我們來學習一些最基本的知識,現在請您看看您的電腦,它都包括哪幾部分呢?一般來說,現在的電腦至少包括這幾部分 主機,顯示器 鍵盤 滑鼠。找到您計算機上對應...

化學基礎知識入門

一 原子核 數量關係 核內質子數 核外電子數 電性關係 原子 核電荷數 核內質子數 核外電子數 陽離子 核內質子數 核外電子數 陰離子 核內質子數 核外電子數 質量關係 質量數 a 質子數 z 中子數 n 二微粒的性質 1.分子是很小的粒子 體積小 如果用水分子的大小跟桌球比,就像拿桌球跟地球比一樣...