2008年1月3日 星期四
衡量評分的要素
a.老師評分同學的辦法:
我覺得就如宛諭所說。
b.自我評分辦法:
可以依對別人提出的問題的了解程度來看自己的學習狀況藉此評分。
例如:對某個問題所提到的內容完全沒有印象,可能閱讀得不夠仔細。
2)老師評分方法
對我來說是否有準備地來上課與是否認真想教學這兩點是評分要素。
3)期末成績
85
(有5分是考慮現實狀況私心加的||b)
2007年12月25日 星期二
Week 15 - Chapter 7 THE FOURIER TRANSFORM
INTRODUCTION TO DIGITAL IMAGEPROCESSING
Chapter 7: THE FOURIER TRANSFORM
◈ 詳細閱讀
______________________________
◈ 實作心得 :
(工事中...)
______________________________
◈ 問題 :
① Page 143 第三、四句話/Introduction
「its efficiency allows us to perform other task more quickly.」,為什麼要說other task?前面並沒有寫什麼任務,那麼又是哪來的其他任務?
「The Fourier transform provides, among other things, a powerful alternative to linear spatial filtering.」,為什麼要說other things?前面並沒有寫什麼事,那麼又是哪來的其他事?
② Page 148 算完ω後算的那個F/DFT
根據這一頁的最上面,矩陣前面有個1/N,所以這裡是不是少寫了1/4。
Ans:這裡確實少了1/4。[已解決]
③ Page 152 z3下面的第一、二句話/convolution
不知道negative indices是指什麼,不知道為什麼會有這樣的等式關係,不知道這個等式關係想表達什麼。
④ Page 157 這一段倒數第三行/THE DFT AS A SPATIAL FILTER
處理edge問題的時候,「We assume that the image is tiled in all directions so that the mask always has image values to use.」,不知道這句話是什麼意思,為什麼這樣就沒有edge問題了。
⑤ Page 161 FIGURE7.8/CONJUGATE SYMMETRY
上下左右對稱,為什麼b、d沒有像A、B一樣左右互換而只有上下互換。
⑥ Page 161 第二句/CONJUGATE SYMMETRY
為什麼要讓u=-u,v=-v,不知道這樣與CONJUGATE SYMMETRY有什麼關係。
⑦ Page 164 上半部最後一句/Example
是剛好這個single edge的矩陣做DFT後得到的DC係數shift後剛好有鏡射的效果於是就提到了DFT的對稱?
⑧ Page 163 Example7.6.3/Example
不知道single-step edge是什麼(註:後面章節也有稱為single edge的)。這種左半為零右半為一的矩陣就稱為single edge?
______________________________
◈ 備註 :
前兩週有失以往的專心度導致很多地方沒看清楚,這週從頭開始閱讀,目
前閱讀完7.1~7.7,會再找時間盡快閱讀完剩下的7.8、7.9。上一週提出
的問題會在全部閱讀完後與統整至本週問題。
2007年12月19日 星期三
Week 14 - Chapter 7 THE FOURIER TRANSFORM
INTRODUCTION TO DIGITAL IMAGEPROCESSING
Chapter 7: THE FOURIER TRANSFORM
◈ 詳細閱讀 (持續更新中...)
______________________________
◈ 實作心得 :
(工事中...)
______________________________
◈ 問題 :
① Page 143 第二句話/Introduction
意義不明。
[已解決]
② Page 152 z3下面的第一、二句話/convolution
已知它是怎麼解釋negative indices,但不知道negative indices是
什麼,所以不知道為什麼它要這麼解釋,所以也不知道為什麼會相
等。以上的不知道更有可能是因為我不知道convolution是個什麼樣
的事情。
③ Page 153 程式碼/convolution、circular convolution
看了page152下半頁的例子,再看page153的程式結果,不知道做完
convolution處理後所取的係數為什麼是那七個
④ Page 155 倒數五、六行(參Page 146的7.2式)/比較直接做DFT與FFT
的效率
可能不太了解公式,所以不清楚這裡的2^2n與n2^n是如何計算出?
◎ 所有算式
意義不明。(可能需要自己研讀一下微積分與工程數學||b)
______________________________
◈ 備註 :
由於個人因素導致目前進度嚴重落後,已著手開始反省與逐步完成自己該
做的事。所以這個時間點先發表閱讀至page 155的問題並持續閱讀,本
篇也將持續更新。
2007年11月27日 星期二
Week 11 - 期中報告
▪ 課堂上沒有不小心分心的話,很認真聽。
▪ 指定閱讀的部分,每週花一定份量的時間完成。
▪ 實作部分,由於閱讀已花了不少時間與心力,所以很多時候選擇部分實
作。(嘗試過邊閱讀邊實作,但整體能不能如期完成都讓人憂慮,於是
後來就選擇先完成閱讀的部分)
① 哪方面表現不錯?
應該是指定閱讀的閱讀部分,自認很認真仔細地閱讀。
② 哪方面需要加強?
1.實作沒有像閱讀一樣從頭至尾完整實作(包含可自行延伸的測試)。
2.很多內容會有印象但無法全部記得很清楚完善,未來若實際應用或
再討論到會需要翻書再回憶。
◈ 老師應加強哪些課程內容 :
一時還沒有想法。
◈ 給自己的學習打成績 :
85
(如果閱讀與實作可以分開的話,閱讀我會給95,實作我會給自己70)
Week 11 - Chapter 6 IMAGE GEOMETRY
INTRODUCTION TO DIGITAL IMAGEPROCESSING
Chapter 6: IMAGE GEOMETRY
◈ 詳細閱讀
______________________________
◈ 實作心得
① Page 132/第二ˋ三行指令
"t=((255.5)^2<(i-512).^2+...;" "t=~t;" 因為是看完書隔天才實作的,這兩行指令的作用與可行性尚待確認。
______________________________
◈ 問題 :
① Page 120 x與x'的關係式
在做圖片的放大縮小時,如果x與x'的關係是必須自己歸納出的,不
知道這個關係式是怎麼得出的。
Ans:
忽然想起未必有對應的點,例如FIGURE6.2就只有頭尾有對應。
③ Page 134 第六行/Cartesian grid
這裡說無法確定旋轉後的新點還會落在該Cartesian grid裡,所以需
再旋轉回來看看是否在Cartesian grid裡,是的話,旋轉後的新圖才
會顯示該點。不知道這裡的Cartesian grid是如何定義的?所以也不知
道為什麼旋轉後會超出範圍?為什麼不能超出範圍?
2007年11月7日 星期三
Week 08 - Chapter 5 NEIGHBORHOOD PROCESSING
INTRODUCTION TO DIGITAL IMAGEPROCESSING
Chapter 5: NEIGHBORHOOD PROCESSING
◈ 詳細閱讀
______________________________
◈ 實作心得
①
▪ x = magic(n);
- 形成一個邊長為n的方形矩陣,裡面的值填入1, 2,..., n*n,需
滿足各列、各行、各對角線的值的總和都等於
(1+2+...+n*n)/n。
(試驗1,3,4,5都符合,2不符合)
(由於分心了一陣子,所以本章的程式尚未實作完)
______________________________
◈ 問題 :
① Page 87, 89/filter的定義
如page 87倒數第六行所述,filter是mask與函數的合體,那麼page 87最後兩行這裡相乘又加總的運算是屬於一個filter裡函數的部分?還是那是每個圖片與linear filter做filtering的運算嗎?再看page 89第一行是寫Spatial filtering的三步驟,第二步驟裡有提到filter elements相乘再加總的運算,如果filter element是mask+函數得出來的值。那麼根據標題與第二步驟是不是就可以確定這個相乘又加總的運算是linear filtering的步驟而不是filter裡函數的部分?再看page 92,如果說相乘又加總的運算是linear filtering的步驟而不是filter裡函數的部分,那麼這裡所說的averaging filter就可以驗證這句話,這裡的filter是1/9*mask,之後做filtering時再相乘又加總。
[還是覺得有一些小細節讓我質疑]
② Page 90/magic(n);
▪ x = magic(n);
- 形成一個邊長為n的方形矩陣,裡面的值填入1, 2,..., n*n,需滿足各列、各行、各對角線的值的總和都等於(1+2+...+n*n)/n。
以上是我自己試驗得出的這個函數的功能,試驗1,3,4,5都符合,但2卻不符合,是功能判斷錯誤還是2真的就是個例外。
③ Page 93 上一節的倒數兩行/zero padding的影響
"introducing unwanted artifacts"是之後所說的圖片邊緣會呈黑色嗎(參FIGURE5.4(d)?
④ Page 98 第一段/high-pass filter的係數總和是零
無法理解低頻的值相似與總和是零有什麼關聯。
Ans:
低頻的話,filtering後的值為零。假設原來的值為a、b、c、d、
e、f、g、h、i,mask的值皆為x,filter:ax+bx+...+ix =
x(a+b+...+i)必須為零,所以a+b+...+i為零。
⑤ Page 99 兩張圖/Laplacian filter、Laplacian of Gaussian filtering
這兩張圖是示範high-pass filtering,但我不知道這兩張圖各代表什麼。對Laplacian filter的功能尚未查資料。且後面的章節有提到Gaussian filter是low-pass filter,所以不知道Laplacian of Gaussian filtering又是什麼?
⑥ Page 102 第二點/Gaussian Filters的重要性
上面提到edge-detection是在high-pass filter的部分,進而思考到這裡會是說因為Gaussian filter是讓圖片模糊,所以可由Gaussian filter反向思考到與邊緣清晰有關的edge-detection演算法嗎?
⑦ Page 102 第四點/Gaussian Filters的重要性
這裡的convolution是像前面的spatial convolution一樣也是旋轉180度?所有的convolution都是?所以才會造成這裡所說的兩個Gaussian的convolution會是另一個Gaussian?
[希望解答]
註:因為不知道"希望課堂討論"是指純討論還是有包含只解答課堂討論的問題的意思,所以這裡先不寫"希望課堂討論",之後再作刪除或修改。
2007年10月31日 星期三
Week 07 - Chapter 4 POINT PROCESSING
INTRODUCTION TO DIGITAL IMAGEPROCESSING
Chapter 4: POINT PROCESSING 再閱讀
◈ 詳細閱讀
這是上禮拜閱讀時寫的紀錄,這禮拜再閱讀後修正一些敘述。(純粹是
怕過了幾個月後忘記這本書所有內容時給自己的快速回憶紀錄,在此借
以做為詳細閱讀的證據。)
______________________________
◈ 實作心得
① Page 67/指令b1=b+128;的錯誤
上星期恰巧有實作到這個指令的發現:MATLAB 7.4版已無課本上所說的錯誤。
② Page 69 最後一段/double的誤會
"If an image matrix m is of type double and thus its gray values are in the range 0.0 to 1.0."這句話是說如果有一個矩陣m的型態為double,因而它的灰階值是介於0.0至1.0之間。立刻想到的是要將一個uint8矩陣的形態轉為double必須執行double(m),在這裡又忽然想起page67的指令"b1=uint8(double(b)+128)"裡的double(b)並沒有真的將值轉為0.0~1.0間,只是將型態改為double而已。要真的轉為0.0~1.0之間應該要執行"im2double(m)"才是。於是花了幾分鐘在驗證這句話。結論是這句話是不是表達錯誤(?),我覺得"型態為double"與"值因此就介於0.0至1.0",這之間不該是因果關係。萬一這裡的"thus"不是翻譯為"因而",那一切就是我無聊地想太多了。
③ Page 71/axis tight指令
剛好有看到一個人提出了這個指令在做什麼的疑問。本週就花了一點時間弄清楚它做了什麼。"axis tight;"是改變縱坐標的單位刻度。(假設固定histogram的大小為100*100(cm),假設原本某特定圖片的histogram縱坐標每10(cm)代表100次。使用axis tight;後,histogram的大小依然固定為100*100(cm),但該特定圖片的縱坐標每10(cm)改為代表120次)。目前尚未花時間想它的目的。直覺大概可能是像我們之前畫histogram會想要讓histogram的最高點能在histogram框內諸如此類的目的。
④ 函數圖
花了一點時間妄想用plot()顯示FIGURE4.10等函數圖。需要找一下資料看MATLAB能否或如何畫出函數圖。
⑤ Page 76/MATLAB判斷式find()
原本想實作page70的solarization,因為必須大於128才改變值,因此需要一個判斷式先判斷是否為128。這個判斷我先用了if end判斷,後來又改用find()判斷,但結果就是奇怪。由於是天還沒黑做的測試,腦中已不敷記憶,待會會再完整測試一次。如果還是奇怪的結果,再附上奇怪的程式碼說明。
______________________________
◈ 問題 :
上星期提出的問題 ④再閱讀後已自行理解:
目的是讓所有灰階值的數量能平均地分布在256個灰階上(例如可能前五個灰階值的總出限次數要佔全部總出限次數的2%,前十個要佔4%...),做法是第i個灰階的數量直接搬到第[(n0+n1+...+ni)/n]*(L-1)個灰階上這樣的方式。
⑥ Page 74 下方的gamma運算式/gamma運算式
如果說是從[a b]調整至[c d],我不懂的地方是"x-a"這部分,不知道x代表什麼。(目前覺得可能可以經由自己實驗來求解。但還是暫時先提出這個問題。)
⑦ Page 76/histogram equalization的idea
這段文章是說histogram equalization的idea是"change the histogram to one",就是histogram裡的每個bar都是同樣高度。但之後又說了"In practice this is generally not possible.",上星期宛諭有提到這個我沒注意到的問題,所以再閱讀時又更仔細看一遍,不知道為什麼這裡會說實際上不可行。(目前覺得這可能又是可經由自己寫程式來求解。但還是又暫時先提出這個問題。)
⑧ Page 81 最後一段/離散與連續
上星期沒提到這一段是因為覺得需要先自行看一下機率與統計課本,再仔細閱讀後發現他是在說明離散ˋ連續的histogram。
第一句"在equalization後,沒有histogram是uniform的,是因為圖片離散的特性。",如果沒有翻譯錯的話,不知道uniform的histogram與圖片離散特性之間的關係。在這之前也不知道什麼是圖片離散的特性。
2007年10月23日 星期二
Week 06 - Chapter 4 POINT PROCESSING
INTRODUCTION TO DIGITAL IMAGEPROCESSING
Chapter 4: POINT PROCESSING
◈ 問題 :
① Page 69 第三小段/Note
"Note in particular the edges..."不確定這段文字所指的消失的右邊是不是我
觀察到的那部分。
[已解決]
② Page 72/最後三行outside this range...
"gray levels outside this range are either left alone or transformed
according to the linear functions at the ends of the graph
above."這段話是想說"超過這個範圍最左邊的就沿這這個範圍最左邊的
值,右邊同理(參page FIGURE4.10)"這樣的結果嗎?
[已解決]
③ Page 75/plot()
因為同時有原矩陣t與經過imadjust()調整過的th矩陣兩個參數,不知道這個
用plot()畫出的圖是兩者的比較還是?
[已解決]
④ Page 78/最上面的算式
如果是"(n0+n1+...+ni)/n"還可以理解為前i個灰階值出現的總次數平均分配
到所有灰階值,但不知道為什麼後面還要乘以L-1?(這裡的i是灰階值,ni是出
現次數,L是總灰階數。)
[已解決]
⑤ Page 79/最後三行
"Notice the far greater spread of the histogram. This
corresponds to the greater increase of contrast in the image."這
段話是說擴散最大的地方,也就是對比變化越大的地方。是這樣解讀
嗎?
[已解決]
2007年10月10日 星期三
Week 04 - Chapter 3 IMAGE DISPLAY
◈ 主題 :
INTRODUCTION TO DIGITAL IMAGEPROCESSING
Chapter 3: IMAGE DISPLAY
◈ 問題 :
① Page 58 /D矩陣(Dithering使用的矩陣)
還是不知道D矩陣如何產生。
② Page 60 第一點/notes for error diffusion
根據page59的敘述原本以為error diffusion是量化後修飾的處理。
但第一句提到在量化前散播error。不知道為什麼會是量化前?
③ Page 60 第二點/notes for error diffusion
這裡提到量化後的pixel將不會被error diffusion影響是因為error
diffusion是影響右方ˋ下方的pixel,而我們是從左方ˋ上方處理。
(以下是我針對"左方ˋ上方"所做的聯想,目前沒有想過細部內容,可
能是毫無關聯的想像)有可能是這裡的量化是像JPEG的量化一樣大的
值集中於左上方的pixel,所以才會只針對說處理是從左方ˋ上方?
(這裡的敘述也有問題⑤的感覺,error diffusion在量化前?)
Ans:
因為是從最左上角的點開始做error diffusion的處理,所以為了避免之後
又重複處理到左上角的點,所以error diffusion是向右下擴散error。
_______________________________
④ Page 60 第三點/notes for error diffusion
將圖片嵌入一個大的零矩陣,這段話是想說邊緣補零嗎?(可能像
JPEG邊緣不構成一個block的點也要適當補齊一樣)
Ans:
當要對整張圖最右下角的pixel做error diffusion處理時,error要擴散至
該點的右ˋ下的幾個pixel時會因為沒有pixel而有錯誤發生。解決的方法
可以是:
1.在程式碼中做限制,這些點不要做error diffusion。
2.事先將缺少的點的值設為0做error diffusion的運算。
_______________________________
⑤ Page 42 第一個灰色方框下一行/描述image()的顯示結果
不知道"in an odd mixture of colors"的效果是什麼。
⑥ Page 49 第一二行/MSB bit plane是圖片在level 127的threshold
目前尚未看第九章,所以還不知道這裡的threshold是什麼意思。
⑦ Page 51 最後一段第一行/pixelization
目前尚未查資料,所以不知道pixelization是什麼。
2007年10月3日 星期三
Week 03 - Chapter 2 Images and MATLAB
◈ 主題 :
INTRODUCTION TO DIGITAL IMAGEPROCESSING
Chapter 2: IMAGE AND MATLAB
◈ 問題 :
① Page 22/pixval on指令實作問題
雖然可正常執行該指令,但Command Window裡總有Warning顯示。
Ans:
figure,imshow('autumn.tif'),impixelinfo;
figure,imshow('autumn.tif'),imdistline;
_______________________________
② Page 31/VectorˋRaster
collection of lines or vectors是指一次收集一整列所有pixel的資訊
嗎?
collection of dots是指一次收集一個點(pixel)的資訊嗎?
還是說這裡的linesˋvectorˋdots是指圖片資訊的排列方式或是...?
Ans:
這裡的"lines"是指"線"。
_______________________________
③ Page 33/第一行
"BMP format is a fairly simple example of a binary image
format。"
是說BMP是binary image?每個pixel一個bit?
Ans:
這裡的binary是"數位"的意思。
_______________________________
④ Page 33/倒數第二行
是指BMP只在BitCount小於等於8時使用Color Table?
Color Table = Color map?調色盤?
BitCount是?
Ans:
使用Color Table的用意在於每個pixel的顏色是以Color Table上的
index來紀錄,不需要每個pixel都紀錄RGB三個值,節省空間。所
以如果Color Table裡的顏色很多,例如是整張圖所有顏色數的
1/2,那麼儲存這麼多顏色也就與直接存每個pixel的RGB值一樣
花費空間。於是需要對Color Table上的顏色數設限,這裡的限制
是8個bit(8bit可表示0~255,於是可表示出256色)。
_______________________________
⑤ Page 34/2.5.4的第二點
"2. GIF doesn't allow binary or grayscale images,except as can
be produced with RGB values."
GIF不支援binaryˋgrayscale,除了是從RGB值產生的。
如果真的是這樣翻譯的話,那麼"除了是從RGB值產生的"是什麼意思?
Ans:
binary還是可以不以一個bit為0為1來表示顏色,而改以存顏色的
RGB值。(原本當我們看到那一個bit為0時就知道是什麼色,為1
時就知道是什麼色。但還是可以不存0或1而改存RGB值,於是看
到該點所存的RGB值就知道是什麼色。)
grayscale還是可以以RGB三值表示顏色,只是三個值會一樣。
_______________________________
⑥ Page 35/alpha channels and gamma correction。
不太懂alpha channels是什麼?文中描述為"ways of associate
variable transparencies with an image",一張圖組合不同透明度
的方式?
也不太懂gamma correction是什麼?
Ans:
顯示器有先偏亮有些偏暗,使用gamma correction後便可調整至
正常狀態。
2007年9月26日 星期三
Week 02 - Toolbox User's Guide Chapter 1
MATLAB Image Processing Toolbox User's Guide
Chapter 1: Getting Started
◈ 問題 :
① Page 1-4/close all 指令實作問題
使用close all 指令實作後,workspace 裡的所有variables 未被清
除。figures 倒是確實清除了。(實作版本MATLAB 7.4)
② Page 1-6/Histogram Equalization 觀念釐清
以下是根據我搜尋到的前人A的資料與前人B的資料作進一步的確
認。首先, 對比很強烈是指:0~255都有值,且每個值的像素個數都
相近(?)
其次, Histogram Equalization 這個方法的實作:
⒜計數整張圖0~255每個顏色值的個數
⒝從0至255向上累計,算目前累計個數與總pixel數的百分比
⒞算出來的比例乘上2.55 (255/100)
如果以上Histogram Equalization 實作方法正確的話, 我感到很混亂
的是, 如果說將最後的乘上2.55想像成溫度換算(攝氏轉華氏), 這樣目
前還能想像。但是為什麼是255? 一個是該顏色值的累計個數占整張
圖個數的比例, 一個是顏色值總數, 無法想像兩者有什麼關聯, 無法想
像為什麼相乘可以達到上述對比很強烈的狀態(0~255都有值,且每
個值的像素個數都相近)。所以想請問是不是我誤會了什麼? 例如255
不是顏色總值, 或是以上Histogram Equalization 我遺漏了什麼步驟
, 應該自行多理解一下Histogram Equalization 的相關內容再提問。
③ Page 1-12/Step 2: Estimate the Value of Background Pixels
由於目前還沒看第十章, 所以對於morphological opening
operation 所造成的效果與估計背景亮度這個目的之間的關聯性感到
疑惑。
④ Page 1-14/Step 3: View the Background Approximation as a
Surface
不太會看這張圖。文字敘述中的The highest(/lowest) part of the
curve, 還是不太清楚是指哪一部分。
閱讀紀實