封存 Archive
封存 Archive
科普系列 - 數學與圖像修復(二)
- 取得連結
- X
- 電子郵件
- 其他應用程式
圖像修復的數學
當我們有了這個圖像數值化的形式,我們就可以將前面提到的圖像處理問題變成一個數學的問題去解決。所謂圖像修復,就是說這個矩陣內有一些元素的數值不見了,我們希望用數學的方法把不見了的數值猜想出來。而這個猜想出來的方法其實不是唯一的。所以每一個人對如何猜想不見了的數值可以有自己的見解。所以就造就了不同的圖像修復方法。這個跟一般同學以前碰見的數學問題並不相同。以往大家所見到的數學問題,問題本身都非常清晰,而且答案亦都會是唯一的。如果你得到的答案跟你旁邊同學的答案不同,就代表着其中一人計錯了。可是解決這些圖像處理問題的方法卻是沒有唯一的。每個人可以按着自己的經驗加以發揮。這就是研究精彩的地方。
下面的討論,我們會從最簡單的圖像入手,假設我們要修復的圖像只是一個灰色圖像。如果圖像是一張彩色的照片,情況會有一點挑戰,我們之後再作討論。所以用數學的方法表示,我們只需要用一個矩陣,每個矩陣的元素都會是一個數目字。那現在,我們想像一個3×3的情況。左手邊6個像素點都是全黑,右手面3個像素點就用128的強度代表灰色。假設這幅圖中心點的顏色(就是說原來的0)不見了,我們希望「挑選一個顏色強度令到最後這張圖像看起來自然一點」。這個目的並非一個數學的陳述。主要是,「看起來更加自然」,並沒有一個數學上的說法。自然與否是一個比較主觀的概念。所以一個比較「數學」的比較客觀的描述,是希望「挑選一個顏色類似於附近顏色的強度」。這裏有兩個可以討論的數學概念。
類似和附近
第一個數學的概念,是什麼叫附近(Neighborhood),附近是指上下左右四個像素點的位置?還是說旁邊八個相連像素點?如果我們只看上下左右四個像素點,我們找回來的旁邊顏色就是0,0,0和128。如果我們定義附近為八個相連像素點,這個例子走過來旁邊的顏色就會是有五個0和三個128。
第二個重要的數學概念,是如何定義「類似」(Similar)。你四個像素點定義「附近」,我們就希望找出一個數值代表(Representation)令到他最接近0,0,0和128這四個數值。要找出這個代表,我們可以用一些從統計學裏面接觸到的知識。他們就是眾數(Mode),中位數(Median)和平均值(Mean)。如果我們用眾數或者是中位數去定義,我們希望放到圖中心的將會是黑色(就是說顏色是0)。而如果我們用平均值去作為代表,我們得到的顏色將會是128除四,就等於32。所以在這個圖像中心點的將會是一個比右手面三個像素點深一點的深灰色。如果我們用八個像素點位置定義「附近」,用眾數或中位數定義「代表」,我們得到的答案仍然是0。而平均值得出的答案就會變成3×128÷8等於48,依然是比右手面三個象素點深一點的深灰色。
讓我們看一些比較複雜的情況。假設現在我們有的是一個4×4的圖像,而不見了顏色的像素點,就是中間2×2的位置。所以我們就需要用給定的12個像素點的顏色,去找回中間四個像素點的顏色深淺。假設你給我們的顏色,用a來表示。而我們需要找回的,我都用x去表示。
我們先用平均性的方式去定義「代表」,旁邊上下左右四個像素點位置去定義「附近」。所以,比如說如果我們想要找回x(2,2),我們就需要計算a(1,2),a(2,1),x(2,3) 和x(3,2) 的平均值。可是,由於x(2,3)和x(3,2) 都是未知數,要找出x(2,2) 就必須要解決一條方程式。同樣道理,我們要找回另外三個未知數,我們就需要同事解決另外三條方程式。將這四個未知數同時找出來,我們就需要解決一條四元一次線性方程組。
- 取得連結
- X
- 電子郵件
- 其他應用程式
留言
發佈留言