2008年9月18日 星期四

Matlab 初體驗

Matlab的初次體驗
在上影像處理的第一節,老師舉了個例子
是用一張圖片來問我們,一張圖片是怎麼組成的
通常在電腦裡一張圖片是由RGB三原色所組成的
而RGB會依照顏色深淺由0至255做改變,像0就是黑色,255是白色
一張圖片就像一個2X2的陣列,位在陣列[1,1]的位置他的數值也許是28,
[3,2]位置是128等等
甚至現場還舉了柚子月餅來啟發我們的想法,中間還口誤說成月餅口味的柚子。。
然後就問我們,如果我想知道一張圖片他的數值分別有多少的話,該怎麼做呢
我當下就想了一想,嗯~ 二維陣列 也許兩個for loop 大致上就可以計算出來
也許我這樣想,或許還會有小疏忽的存在
以C++的方式來說
int H[1000][1000];
int H1[256] = 0;
int i = j = 0;
for(i;i<1000;i++ )
{
for(j = 0;j<1000;j++)
H1[H[i][j]]++;
}
for(i = 0;i<256;i++)
cout<<"數值"<< i <<"一共有"<< H1[i] <<"個/n";
以上是假如我用C++來寫的話,我會是那樣寫

第二節後,老師開始請學姐來示範Matlab的妙處
後來老師看不過去,跳出來說明
以上那些程式,用Matlab來寫的話
只需寫一個指令即可!!(大驚)
當老師切螢幕後(第一次沒切成,以為有切,嘖嘖)
就馬上顯示出Matlab的神奇所在
果然只需一個指令,就能把上面我所想的動作,都完成了
然後老師也接著打了一些指令給我們看,
讓我嘆想,一股相逢恨晚感覺湧了上來,當下或許我看到了Matlab的好
或許我還未見到Matlab的缺點之類
感嘆我當初沒去買書,或許就是個不智的選擇
下課後,我自己又再試打著老師剛剛打的指令,於是乎
上網抓個圖片來試試,打好指令按下去,怪怪的,怎麼跟老師所顯示的不一樣
於是求救李X娟同學,問問李慧X同學是我的指令打錯之類的嗎?
(為了保護同學隱私 故用 X 來表示.....)
為什麼我看不到我存的圖片,換手後,她說work是在這一面,
你剛剛看的那一面是只有路徑那一面,當下我真的蠢了,難怪我會覺得不一樣
看來我對Matlab瞭解還是太渺小
以上是我對Matlab的小小初體驗。

沒有留言:

張貼留言