圖像的數字化
一般的圖像(模擬圖像)不能直接用計算機來處理,必須首先轉化為數字圖像
把模擬圖像分割成一個個稱為像素的小區域,每個像素的亮度或灰度值用一個整數表示
數字化的含義:
使模擬圖像的灰度、亮度和色彩數據化
圖像數字化的步驟:
兩個步驟:
1、在空間坐標對圖像離散化——圖像采樣
2、在幅度上離散化——灰度級量化(取整)
圖像采樣示意圖:
也就是在xy軸上(空間坐標)將完整的一幅圖像定義在從某些位置上“拆解”(離散)成最小單位即像素快,用坐標(x,y)表示像素點之間的位置關系。
將虛擬圖像轉換為數字圖像是為了達到計算機進行處理的目的。虛擬圖像轉換為數字圖像的方式就是把虛擬圖像由像素點來表示。
數字圖像,它是由像素點(圖像的最小單位)構成的,每個像素點表示著一個灰度值在平面坐標系上矩陣排布,這些灰度值按照一定的關系組合在一起形成了圖像。至此,既然圖像的操作單元以及它的排布關系已經確定了,那么就可以通過計算機對其計算處理。
為什么是灰度?
這個問題我最早也困惑為什么不是紅度?綠度?藍度?,后來想想無論紅的綠的藍的黑的都可以,確定圖像完全可以由任意顏色的0~255之間的值來表示。偏向于灰度可能是因為灰的極端為黑白兩種鮮明的對比色也或許是因為早期的成像都是黑白。
灰度值量化
經過采樣,模擬圖像已在空間上離散化為像素,但抽樣所得的像素值仍是連續量(非整數),必須將其化為正整數——灰度級的量化。
若抽樣點(橡素)的連續濃淡值為Zi ,Zi-1 <= Zi < Zi+1,則Zi = qi,即Zi量化為整數qi,qi稱為像素的灰度值
(所謂量化,就是把經過抽樣得到的瞬時值將其幅度離散,即用一組規定的電平,把瞬時抽樣值用最接近的電平值來表示。經過抽樣的圖像,只是在空間上被離散成為像素(樣本)的陣列。而每個樣本灰度值還是一個由無窮多個取值的連續變化量,必須將其轉化為有限個離散值,賦予不同碼字才能真正成為數字圖像。這種轉化稱為量化。)
一般,灰度圖像常量化為8位圖像。
數字圖像數據量的計算
抽樣點數越多,圖像像素數目越多,圖像數據量越大
量化級別越高,圖像每個像素所占用的字節越長,圖像數據量越大。
一幅數字圖像的總數據量可用公式計算:
數據量=M*N*b
M——每行像素量
N——每列像素量
b——灰度量化所占用的位數或字節數
例如:一幅8位灰度圖像,大小為512*512,其數據量多大?
512*512*8bit = 512*512*1k = 512*512 / 1024 = 256 kb
數字圖像處理的實質:
通過對數字圖像中像素數據的判斷,依據處理或識別要求,最后逐個修改像素的灰度值。
數字圖像的數據以矩陣形式排列
一幅M*N個像素的數字圖像,其像素灰度值的排列實際形成了一個M行N列的矩陣F,數字圖像中的像素與矩陣元素是一 一對應的
矩陣可用二維數組來表示
一個M*N像素的矩陣,在算法語言中,可以用一個M*N的二維數組來表示。
此后對像素的處理就代之以對數組元素的處理,很容易用計算機來實現。
如何用高級語言實現圖像處理?
在圖像處理中,一般都是順序完成對整幅畫面的存取和處理操作的,具有代表性的是以光柵掃描方式——逐行逐列存取與處理。
若數字圖像的大小為M*N(width*height)個像素,數組元素灰度值為 f(x,y),則C語言處理程序的基本框架為:
從程序顯而易見,計算機處理數字圖像是從每個像素點逐個處理。
圖像二值化流程:
二值化處理的程序(一個CVI例子程序)
程序逐個判斷像素點的pixel_value > Th ? 如果為true 設置此像素點的灰度值為255,為false設置此像素點的灰度值為0,由此處理后的圖像會呈現黑白鮮明的對比。
處理結果:
圖像處理的方法多種多樣,從實現處理的過程看有兩類:空域處理 和 頻域處理。
空域:即空間域,指灰度圖像本身,圖像是一種灰度在二維空間變化的信息。
空域處理:對源圖像像素的灰度值直接運算,生成新的圖像,被操作者是像素的灰度值。
空域處理可分為以下幾種方式:
點處理
區域處理
迭代處理
跟蹤處理
點處理:是指輸出像素值僅取決于對應輸入像素的像素值。
若輸入像素灰度值為f(x,y),
輸出像素灰度值為g(x,y),
則g(x,y) = ▲f(x,y) ,
▲代表某種函數關系式。
點處理的典型用途:
調整圖像的灰度分布,如灰度變換(線性、非線性)和灰度修正;
圖像的二值化;
圖像反色;
點處理方法的優點:
可用LUT方法快速實現;
區域處理——領域處理
算法:
根據輸入圖像某像素f(x,y)的一個小領域N(f(x,y))的像素值,按某種函數關系▲得到輸出像素g(x,y)的值,即g(x,y)=▲(N(f(x,y)))
區域處理中的領(區)域的形狀
領域N(f(x,y))的形狀是多種多樣的;實用中多采用以像素(x,y)為中心的矩形對稱領域如3*3、5*5等
領域越大,計算量越大,若圖像大小為M*N,領域為K*L,則領域處理時總計算量為M*N*K*L。
領域處理的用途
圖像的平滑(濾波)
圖像的銳化(增強)
圖像的形態學處理等
迭代處理:
迭代是指反復進行某種處理運算。
迭代處理多用于圖像細化、圖像增強、圖像平滑及邊緣探測等方面。
跟蹤處理:
跟蹤處理一般用于圖像邊界、邊緣的提取,以便進行圖像的分割、識別及特征參數的計算。
邊緣提取的原理在于判斷目標里外兩像素點灰度值差,若差大于某個特定值即可斷定這個像素點的位置為目標邊緣。
圖像處理方法二:頻域處理
為什么要采用頻域處理?
灰度圖像的邊緣、線條——高頻成分
其余部分灰度值改變不大——低頻成分
觀察圖像的高頻和低頻成分。因此采用頻率分析——變換方法有利于對圖像進行特征提取及圖像增強的處理。
圖像在頻域上處理的一般過程:
頻域處理是建里在修改圖像傅里葉變換基礎之上的——增強感興趣的頻率分量,然后將修改后的傅里葉變換直再做逆傅里葉變換,以得到增強的圖像,一般過程:
責任編輯:彭菁
-
計算機
+關注
關注
19文章
7430瀏覽量
87733 -
成像
+關注
關注
2文章
230瀏覽量
30460 -
數字圖像處理
+關注
關注
7文章
103瀏覽量
18905
原文標題:機器視覺(圖像處理)入門金典之圖像數字化及處理方法
文章出處:【微信號:機器視覺沙龍,微信公眾號:機器視覺沙龍】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論