顯示具有 95363010 黃雅綉 標籤的文章。 顯示所有文章
顯示具有 95363010 黃雅綉 標籤的文章。 顯示所有文章

2008年12月26日 星期五

期末回顧

時間,真的過的很快!

還記得剛開學的時候,

總是因為社團的事而缺席...

也因為晚睡而遲到...

對於互評的文章...也沒有很盡心的去完成....一直到期中

期中結算的時候....才發現

為什麼我讓自己的成績變成這樣?


接下來,開始努力的把之前的進度追上....

從一開始聽不太懂老師在講什麼...

一直到後來,可以聽懂...也了解老師在講什麼.....

而我的互評成績也慢慢往上爬....


無奈的是.....期中的成績真的是太差了.....

就算老師因為聖誕節而幫大家更改了分數權重...

算出來的成績還是只有很差......

期中:38分*40%=15.2

期末:81*40%=32.4

所以....自評的部份......我給自己10分...

原因很單純,只是因為:

1.也許之前很不認真,但後來除了把進度追上,還變的很認真。

2.期中成績太低...用這10分來幫自己加分....

3.上這門課...是我唯一次門買了原本書有認真讀的課.....也學習到如何讀原文書!

----------------------------------------------------------------------------------------

最後最後,期末成績結算:

期中:38分*40%=15.2

期末:81*40%=32.4

自評:10分

總和:57.6分

2008年12月18日 星期四

Chapter 6:IMAGE GEOMETRY

準備要開始打CH6的文章時...依照慣性先上了HomeworkShow看了文章....看到了賴桑已經先打了...在賴桑的文章裡寫到...affine transformations...他說他查完字典也不太懂這個專有名詞的意思...所以我便先針對這個專有名詞去查了一下....看了MATLAB的英文網站....(雖然全都是英文..但也是有簡單的英英解釋...)上面寫著:

Affine Transformation


This program facilitates the application of the affine transformation to a 2-D Image.

看完了這段英文...我想這段英文寫的意思是:
這段程式,幫助2D影像仿射轉換的運用。

MATLAB網站:
http://www.mathworks.com/matlabcentral/fileexchange/3025

而所謂的「Affine Transformation (仿射轉換)」就是將影像坐標(Sample, Line)轉換成像坐標(x,y)。

-------------------------------------------------------------------------------------

Chapter 6:Image Geometry

開頭的那段寫著:

有很多的情況,我們可能想要去改變影像的形狀、大小或方位。

我們可能想要去擴大影像去適合特定的空間或印刷;

也可能想要去縮小它的尺寸,包括在網頁上。

我們可能希望去旋轉它,可能對不合適的相機角度做調整,或單純地為了效果。

旋轉和比率(大小)是仿射轉換的例子,線條轉換成線條,尤其是平行線在轉換之後保持平行。

非仿射的幾合轉換包含彎曲,但我們經常沒有把它考慮在這裡。

這段大概就是做初步的帶入,但我真的看不太懂倒數第二行的線條轉換成線條是什麼意思@@"


6.1 Interpolation of Data


Start with a simple problem:

suppose we have a collection of four values that we wish to enlarge to eight.

「如何把四個數字擴大八個數字?」

課本上提到了三種方法:


1)Slightly redrawn



X1 ~ X4 之間一共有三個間隔,而每個間隔相差的直為1,

X'1 ~ X'8 的長度與 X1~X4的長度相等,X'1 ~ X'8之間一共有七個間隔(如上圖6.1所示),

所以每個間隔的大小為3/7 大約等於0.4286。


數學公式如下:

X'=1/3(7x-4)

X =1/7(3x'+4)


將等長度由四等份分為八等份,故每段長度變小(如下圖6.2所示)。





2)Nearest-neighbor interpolation

 

X →X' 挑最近的的點,如上圖6.3所示:

X1最近的點:X'1 & X'2 (X'2標空圈)

X2最近的點:X'3 & X'4

X3最近的點:X'5 & X'6

X4最近的點:X'7 & X'8 (X'7標空圈)



3)Linear interpolation



主要是將X1與X2連線,取X'2對應到線上的點為X'2(X'2標空圈),以此類推。


而要計算linearly interpolated values,一定要為線型。



數學原理為:

〔F-f(X)〕/λ = 〔f(X2)-f(X1)〕/1

 →F=λf(X2)+(1-λ)f(X1)

 註:F是想知道的X'n

   λ是以 X1 到 X2 的距離,F距離 X1 佔整段比例的比數



6.2 Image Interpolation


在6.1提到了點與線之間的數值放大(使用線性做範例),

而在此6.2則是討論一個面的,也就是Image。

例如:將4×4的Image放大到8×8,

(x,y)對應到放大後的位置,用下面的公式計算,

則該公式稱為 bilinear interpolation。

f(x',y')=λ〔μf(x+1,y+1)+(1-μ)f(x+1,y)〕

     +(1-λ)〔μf(x,y+1)+(1-μ)f(x,y)〕

=λμf(x+1,y+1)+λ(1-μ)f(x+1,y)

     +(1-λ)μf(x,y+1)+(1-λ)(1-μ)f(x,y)

上面最後的方程式為bulinear interpolation的公式。


Matlab內有個 function 叫做 imresize,負責上述提過的處理,

它的語法是:imresize(A, k, 'method')

A是任何型態的影像,K是比率係數,

而method是 "nearest" 或 "'bilinear" 二者之中任一個。

另一種imresize的語法則是:

imresize(A, [m,n] , 'method')

[m,n] 則表示輸出的比率大小。


下面是課本上的程式碼:



而下面則是nearest和bilinear的比較:

下圖為bicubic

而下圖為nearest neighbor

根據二張圖的推判,得知用nearest內插法誤差大於用bilinear內插法!



6.3 General Interpolation


一開始我們希望把 x' 插在 x1 ≤ x' ≤ x2 之間,並假設 x' - x1 = λ。

然後定義一個interpolation function R(u)且 f(x') = R(-λ)f(x1) + R(1-λ)f(x2)。


利用三種函數方程式表示6.2所示的方法

  (1)Nearest-neighbor interpolation

{0 if u≦-0.5

    R0(u)={1 if -0.5<u≦0.5

{0 if u>0.5


  
  (2)Linear interpolation

   R1(u)={1+u if u≦0

       {1-u if u≧0



 (3)Cubic interpolation

 也就是Method中的bicubic....

 因為計算的過程中該曲線f(x)的x值,最高項次是 3次方,

 而且,在平面上求得(x',y')需仰賴bilinear的概念

 所以稱為bicubic interpolation。


   R3(u)={1.5∣u∣^3-2.5∣u∣^2+1, if ∣u∣≦1,

      {-0.5∣u∣^3+2.5∣u∣^2-4∣u∣+2 if 1<∣u∣≦2


6.4 Enlargement by Spatial Filtering

如果只是要將圖放大兩倍, 有個快速且糟糕的方法就是使用linear filtering。

step1.對這個矩陣做zero-interleave,即在原行列之間加零。



step2.做filtering。




6.5 Scaling Smaller

讓Image變比較小,也稱為Image minimization,

有一種方法是刪除間隔的pixel值,稱為subsampling,

它符合 imresize 的 nearest,是一種非常簡單的手段,但對高頻的部分效果不佳。

(是因為相近的pixel值差很多,但這些相近的pixel都被刪除了嗎?????)

2008年12月5日 星期五

CH5

CH5 : Neighborhood Processing


這章節跟上章節Poing Processing不同的是,這章節開始進入面的世界,談到透過改變某特定區域裡面所有像素的值來達到改善圖片品質或找出隱藏內容的目的。
處理的方式是透過空間濾波器(Spatial filter)。


Spatial filter依照效果主要可以分成兩種:

1)Smoothing Spatial Filters:
主要的功能是把影像模糊化或著減少雜訊。
模糊化的功能是用在影像的前處理。例如說,偵測到了一張影像中的物體,可以移用模糊化把影像中一些不必要的小細節去掉,並且把影像中線段或曲線的斷層填補起來。
另外,用Linear filter或non-linear filter對影像模糊化,也可以達到去除雜訊的效果!!

2)Sharpening Spatial Filters:
主要的功能是把影像銳利化及增能對比。
銳利化主要是把影像中比較細小的部分突顯出來,或著是把因錯誤或利用特殊方法取得影像而告成模糊的細部地方做增強。經過銳利化的處理,影像中物體的輪廓會更加明顯。


Spatial filtering的3個步驟:

1.Position the mask over the current pixel.
將遮罩放在current pixel上.

2.Form all products of filter elements with the corresponding elements of the neighborhood.
將濾波值與鄰近值做相乘動作.

3.Add all the products.
把所有的值加起來.


最後,在課本P96及P99頁的地方,有提到某些filter的效果。如下圖:

a)原圖












b)Average filtering
(較a圖模糊)












c)Laplacian filter
(突顯a圖人型輪廓)












d)Laplacian of Gaussian filtering
(輪廓部分又較c圖明顯)












另一系列:

a)原圖



b)Laplacian filter


c)Laplacian of Gaussian filter


原則上第五章我大概讀到這里,其實我有個疑惑....
Laplacian filter跟Laplacian of Gaussian filter的差別就只是有沒有明顯而以嗎?那為什麼不採用較明顯的Laplacian of Gaussian filter就好?Laplacian filter的使用是在哪里?

------------------------------------------------------------------------------------------------

Nonlinear Filters:
書本跟網路都找過這個詞....但都沒找到.....
所以我就自己叫它"非線型遮罩"....
主要是分成二種,最大值遮罩跟最小值遮罩:

a)maximum filter最大值遮罩
使用這種遮罩,雖然比較亮一點,但很多細部的部分都會糊掉。

b)minimum filter最小值遮罩
使用這種遮罩,整張影像偏暗,陰影部分會突顯,而且很多地方的色彩值都變了.....


Region of Interest Processing(影像有興趣範圍):
似乎是一種影像壓縮的技術....主要的原因是將感興趣的影像範圍以較高的位元率編碼,讓使用者在解碼端解碼的時候可以將感興趣的範圍看的更清楚。

將感興趣的影像範圍以較高的位元率編碼,讓它在比較不重要的背景部份用較低的位元率來處理,所以使用者看到的是較模糊的背影,這樣的好處能在頻寬有限的網路上先把重要的影像給傳送出去,等到有多餘的頻寬再把背影的部分做傳輸的動作。

2008年11月28日 星期五

期中回顧

時光飛逝...期中已經過了....開始結算期中成績.....
期中成績結算出來實在是非常的低...
低到整個就是嚇到....竟然只有27.7分.....

之前由於忙於社團...
常常都沒有時間很認真的去讀原文書、打文章....
而且常常發文的時間都是趕在上課互評前....
也因此...很多票幾乎都是集在C....

現在社團的事告一段落了....
可以認真念點書了......
原文書之前幾乎很少翻過...
大概就是老師講多少就看多少....
我想接下來的半學期....
我會努力把之前的進度都補上....
希望期末可以平安的過~"~

2008年11月21日 星期五

CH4

第4章
Point Processing

§使用了三種方式來處理影像..

1.Transforms
把圖片轉成transformed image..
然後經過一些過程後轉成processed transformed image,
最後再轉回原本的圖片格式...
它准許使用強大的演算法...
將像素值改變為其他的資料型式..
主要的步驟是"轉換→處理→轉回"

2.Neighborhood
主要的原理就是改變pixel的灰階層值...
也就是說~只要知道附近的pixel就可以做改變了...

3.Point operations
與Neighborhood processing不同...
Point operations不用理會附近的pixel影像的灰階值..
可以直接對該像素的灰階值做改變...而且不會影響其他點..
在獨立的而影像處理時比較常用到Point operations..


§運算指令
1.imadd(A,B)
A加B
2.imsubtract(A,B)
A減B
3.immultiply(A,B)
A乘B
4.imdivide(A,B)
A除B
這些運算主要是在講pixel的運算...
原理是利用加減乘除四個運算..
再去繪製一個0~255範圍的圖...


§彩色轉灰階
一個彩色圖片..欲轉成灰階圖片...
有一可用的方式...
原理就是~將圖片的RGB值相加除以3...
即可轉成灰階...

for i=0~99
  j=0~99
A[i][j]=1/3(R[i][j]+G[i][j]+B[i][j])

2008年10月24日 星期五

2008w7

CH3

讀完了這章節跟數位時代以後,這章學到了幾個指令:

truesize
顯示實際顯示出來的大小

axis off
把軸線標記關掉

colormap(gray(xxx))
對應原始RGB的值,並調整為不同的灰階值
"xxx"為分割成xxx種灰階值

imshow(x)
調整圖片的亮度,有分為imshow(c)跟imshow(cd)。
imshow(cd)的意
思是c被double了。double的值介於0到1之間,如果圖片裡的值大於1的話,就會被當成1來顯示;反之,如果小於0的話就會以 0來顯示。由於整張圖的值都大於1所以全部顯示1,整張圖就變白了。
書上提到的imshow(cd/512)、imshow(cd/128)二個。若除以512的話,數值變小會變暗,除以128的話,數值變大會變亮。
如此,假設把圖的陣列除以255,這樣所有的值都會介於0到1之間,這張可愛的圖就變回原來的 樣子了。


imresize
主要是能讓影像模糊方面的處理,能造出馬賽克的效果

2008年10月3日 星期五

2008w3

上了大學,雖然買了不少本的原文書,
但真正有仔細的在看的卻幾乎沒有,
不是不想認真看書,只是,全原文真的看不太懂,
好在這次老師有稍微導讀過,
大概知道第一章在講些什麼,
所以自己看的時候便懷著大概懂意思而去猜課文了。

從以前開始接觸相機到現在,常常會發現,
為什麼電視上雜誌上的照片、圖片看起來是那麼的漂亮?
為什麼自己總是沒辦法拍出那麼漂亮的相片呢?
原來,除了"技術"上的問題以外,
還有個很重要的因素→修圖。

透過影像處理,
可以將圖片上的雜訊去除,
可以讓太暗的物體明亮起來。
就如同課本上寫的:
1. Improve its pictorial information for human interpretation
(利用它 讓人們了解 圖畫的資訊)
2. Render it more suitable for autonomous machine perception
(讓機器更適當的去判別)

關於影像如何獲取的部份,
好像是利用光的明暗程度不同的獲取到的。
而CCD跟CMOS的差別:
〈CCD〉
CCD是Charge-Coupled Device(電荷耦合元件)的縮寫,
是由矽晶片做成一種可以感應光線的積體電路,
並經過光電效應把光能轉變為數位訊號。
〈CMOS〉
CMOS是Complementary Metal-Oxide-Semiconductor(互補式金屬─氧化層─半導體)的縮寫,
雖然跟CCD一樣是可以把光能轉成數位訊號的半導體,
可是跟CCD比較起來,CMOS的造價比較便宜,耗電量也比較低,
但是相對的,也比較容易因為過熱而產生雜點問題。