2008年1月10日 星期四
自我評分
說不上很認真很認真
但是該有的進度還是有
這學期學到很多
像是利用MATLAB在微積分上
真的很方便
也加深了我的印象
經過了一套公式計算0.0
像是每周固定的作業、互評那次、出缺席.....等等
自己給自己打~~82分
2008年1月3日 星期四
2007年12月20日 星期四
2007年11月28日 星期三
Week11-Chapter 6
Week11-期中報告
從第一次接觸MATLAB到現在,已經有11周了,雖然每次學習都帶著有點困惑,每一章都會有卡卡的地方,起出可能是英文翻譯比較吃力,但是後來也就慢慢習慣,習慣後,閱讀就比較上手,在加上配合課本的實作,就能更清楚課本在講什麼。另外,在有幾週是把一個章節看過兩次,第二次讀起來,就能夠發覺更細的問題所在。
我要加強地方:其實每次都會小偷懶到前兩天,才開始看課本@@,不是每天都看那種人。雖然進度有趕上,但是就是沒有很詳細從頭到尾去仔細閱讀,所以這是我要改善的地方。
不錯的地方:
這堂課,促使我們第一次看原文書那麼仔細,提升我們不少的英文能力。至於自己,每個禮拜作業準時繳交(這不是應該的嗎@@?)
老師要加強地方:
好像沒有@@
給自己打分數:
[80]
2007年11月8日 星期四
Week8 Chapter 5
其中在第三個參數填入same跟shape一樣,填入full會把整個matrix填滿,
但我不知道為什麼填入valid他會產生那樣的值,不太懂它的運算方法。
(Q2)5.4、5.5小節我的整理,
low-pass filter廣義來說是使影像輪廓較柔和而模糊 ,而High-pass filter主要用來使凸顯圖片細微的部分,使影像輪廓較尖銳而清晰。
(針對low-pass filter)
對一維的Gaussian filter來說,σ是標準誤差,σ愈大,濾波效果愈明顯。
對二維的Gaussian filter來說,σ是Gaussian function 的標準誤差。
Gaussian filter它沒有方向性。
Page102的第3點最後一行 This can lead to very fast implementation。
它是說它的計算效率較快?還是?
這禮拜我只看到5.5小節 ,後面會陸續補上來的。
2007年11月1日 星期四
Week 7 重讀Chapter 4
Point processing 是只針對單點作處理,而不考慮其他點和統計特性,原因是簡單化~
但是它可以透過一些function或是公式,來達到目的。
像是image negative,通常用於在黑暗的影像中加強白色或灰色的部分。
而這章重點是在4-3節的Histograms:
如圖histogram 整體偏左,所以圖形偏暗

所以,理想的圖片的Histogram應該分佈較為平均。
而Histogram Equalization就是要得到分佈較為平均的影像。
問題來了:
1.如果我把一張圖的像素,做Random排列(老實說,我不知道怎麼去Random它~XD),它的Histogram會改變嗎?照理講,會不會有些地方偏暗,有些地方偏亮呢?
另外 4.4的Lookup Tables
(1.) give an output value for each of a range of index values
(2.)One common LUT, called the colormap or palette
因為Matlab的矩陣是從1開始,所以執行不出來。
而在課本的Page.83.
>>t1=0.6667*[0:64];
>>t2=2*[65:160]-128;
>>t3=0..6632*[161:255]+85.8947;
>>T=uint8(floor([t1 t2 t3]));
產生了一個新Table,照課本解釋是讓使用者修改圖時,針對這個Table去改變,不過我不知道它為何公式是這樣算?
重讀之後的心得:
在上個禮拜,課堂上著重在4.2節,這次在看一次第四章之後,重心放在4.3節、4.4節,
再看一次之後,有了更深一步的了解。
Point Processing顧名思義就是......引用小溫的話:藉由改變整張圖片的點的值來達到改變圖片的目的!!http://hwshow-ipc.blogspot.com/2007/10/week6-ch4-point-processing_25.html
2007年10月24日 星期三
Week6 Point Processing
以課本th=imadjust(t,[],[],0.5)
0.5是亮度的係數(越高越暗)
這樣的話a,b,c,d都是空的,算出來是??
我有點不了解。
th=imadjust(t,[LOW_IN; HIGH_IN],[LOW_OUT; HIGH_OUT],GAMMA)
課堂討論:
對於Point Processing
Arithmetic Operations 無意是對image matrix作處理,利用一些運算子。
可以增加亮度或暗度,或是取補數 等等之類的~
2007年10月18日 星期四
Wee5 Chapter 3 Sec.6 Quantization and Dithering

而Floyd-Steinberg、Stucki和Jarvis-Judice-Ninke主要不同是誤差擴散的範圍與比例。
以課本59頁當例子:
- x 7
3 5 1
x表示目前的處理點。當該處理點找到最接近色時,便將該點顏色與最接近色顏色的誤差值,以7/16、3/16、5/16、1/16比例擴散到鄰近的點。
Floyd-Steinberg的抖色方法快速而且效果不錯。另外Stucki使用了更多的點參與誤差擴散,以得到更好的效果。不過當誤差擴散的範圍變大, 需進行大量的整數除法和乘法的運算,導致處理的速度會變慢,因此對於較大的影像而言,一般很少採用這個方法。
最後Jarvis-Judice-Ninke和Stucki沒太大不同,主要是在影像不同情況下,就能比較出他們的差異性和優缺點。 不過Floyd-Steinberg應該是相當常用的抖色方法吧!
2007年10月10日 星期三
Week4-Image Display
>> c=imread('cameraman.tif');
>> cd=double(c);
>> c0=mod(cd,2);
>> c1=mod(floor(cd)/2,2);
>> c2=mod(floor(cd)/4,2);
>> c3=mod(floor(cd)/8,2);
>> c4=mod(floor(cd)/16,2);
>> c5=mod(floor(cd)/32,2);
>> c6=mod(floor(cd)/64,2);
>> c7=mod(floor(cd)/128,2);
>> ct=c>127;
>> all(c7(:)==ct(:))
ans =
0
另外為什麼在ct=c>127,take cameraman matrix and create a new matrix (ct),它的c>127表達什麼意思?
(2.)課本Page 49
>>all(c7(:)==ct(:)) 不懂為何指令這樣寫,我用help查過all的指令用法,但是還是看不懂。
2007年10月3日 星期三
Week3-Images & MatLab
會Show出hexadecimal dump function如下
42 4D 6E 18 00 00 00 00 00 00 36 00 00 00 28 00 BMn.......6...(.
00 00 42 00 00 00 1F 00 00 00 01 00 18 00 00 00 ..B.............
00 00 38 18 00 00 C4 0E 00 00 C4 0E 00 00 00 00 ..8.............
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
除了寬度、高度(像素位單位)以外,還可以知道哪些?
如果要從裡面看,要怎麼判斷呢??
2.我將灰階和彩色各一圖片合併起來時,要imread時,出現下列錯誤:
>> a=imread('123.tif');
Warning: RGB image has 4 (not 3) samples per pixel.
為什麼呢?
2007年9月27日 星期四
WeeK2:Getting Started
在Command Window就會出現下列程式碼
Exception un thread "AWT-EventQueue-0"java.lang.ArrayIndexOitOfBoundsException:1
at sun.awt.window.WWindowPeer.updateGC(Unknown Source)
at sun.awt.window.WWindowPeer.displayChanged(Unknown Source)
at sun.awt.window.WWindowPeer$1.run(Unknown Source)
at sun.awt.event.InvocationEvent.dispatch(Unknown Source)
at sun.awt.EventQueue.dispatchEvent(Unknown Source)
at sun.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at sun.awt.EventDispatchThread.pumpEventForHierarchy(Unknown Source)
at sun.awt.EventDispatchThread.pumpEvents(Unknown Source)
at sun.awt.EventDispatchThread.pumpEvents(Unknown Source)
at sun.awt.EventDispatchThread.pumpEvents.run(Unknown Source)


如圖histogram 整體偏右,所以圖形偏亮