在修影像處理前,我有看過畢業的學長作有關影像處理的專題,
所以我對於這門課已經有初步的認識了。我會想修這門課有一部
分也是想說,現在數位相機越來越來普遍,每張照片都是珍貴的
回憶,想要好好保存,也可以好好發揮所學的。
上禮拜五第一次接觸Matlab,現在許多軟體都可以把很複雜的程式
,用幾行指令就可以了,帶來了許多方便。第一堂課有學到一些基本
的指令,如:imread、Imshow、imhist、figure、plot,很快的就能夠
清楚明瞭這些指令,現在還沒有Matlab軟體可以寫,不過我有從圖書
館借書,裡頭有許多數學,Matlab是很適合數學的數學軟體,
所以我也要好好的學數學。
2008年9月18日 星期四
MATLAB 初體驗
MATLAB對他很訝異!!
你會發現你之前在那寫C++,寫了很久很久才能做到你想要做的事情!!
但MATLAB已經將各個領域所需的基本功能寫好!!
你只要用FUNCTION的感覺呼叫他就可以了!!
但也是要知道哪些指令可以出那些結果!!
因為是只是看一下入門,所以不知道MATLAB的變化性可以多大!!
如果找不到想做的指令那就完啦!!
所以我想應該MATLAB會有其他搶救方式!!
所以暫時認為C++的可發揮性比MATLAB高!!
MATLAB比C++更迅速!!
你會發現你之前在那寫C++,寫了很久很久才能做到你想要做的事情!!
但MATLAB已經將各個領域所需的基本功能寫好!!
你只要用FUNCTION的感覺呼叫他就可以了!!
但也是要知道哪些指令可以出那些結果!!
因為是只是看一下入門,所以不知道MATLAB的變化性可以多大!!
如果找不到想做的指令那就完啦!!
所以我想應該MATLAB會有其他搶救方式!!
所以暫時認為C++的可發揮性比MATLAB高!!
MATLAB比C++更迅速!!
Matlab 初體驗?
Matlab像多了一些專門函數效率確變差的直譯式c++,其實我覺得Matlab比較像javascript,只是處理的方面不同,對於圖檔太大還不能開陣列來檢視,對圖的格式似乎還有限制,可以讀jpg竟然不能讀bmp的圖,讀bmp出現了幾個錯誤,不過對影像的處理方便很多到是真的,陣列重頭跑到尾都幫忙寫好了,也有ui設計的部分,雖然ui元件庫和處理影像有很多地方都還在初始的階段
First Matlab
上次上課的時候有跟人借書來看一下開程式玩了一下
然後利用學姊講到的程式碼中的find()寫了一下程式
瞭解了 矩陣:
[1][2][3]
[4][5][6]
[7][8][9]
它的輸入法是:
[1,2,3;4,5,6;7,8,9]
然後用find( 矩陣 == 3 ); 他會顯示位置是 7
相對的find( 矩陣 == 6 ); 他會顯示位置是 8
所以可以知道它的排序法是:
(1)(4)(7)
(2)(5)(8)
(3)(6)(9)
當然如果其中的 find 的值不若只一個的話 也會全部顯示出來
然後利用學姊講到的程式碼中的find()寫了一下程式
瞭解了 矩陣:
[1][2][3]
[4][5][6]
[7][8][9]
它的輸入法是:
[1,2,3;4,5,6;7,8,9]
然後用find( 矩陣 == 3 ); 他會顯示位置是 7
相對的find( 矩陣 == 6 ); 他會顯示位置是 8
所以可以知道它的排序法是:
(1)(4)(7)
(2)(5)(8)
(3)(6)(9)
當然如果其中的 find 的值不若只一個的話 也會全部顯示出來

用 x=imread('圖形')
imshow(x)
就可以開啟圖形了
還有簡單的加加減減
可以直接 x=1+1 x就有答案了
而且 x還不用宣告 程式整個簡短很多
不過相信應該會很需要寫註解吧...
老師上課也說到了許多matlab的特性
覺得可以認真寫程式 不用一直為了debug搞半天 這點很棒
而且提到研究所也常常在用這個寫程式
不過目前書還沒弄到手,等拿到之後要開始來動手練習了
感覺滿想學好matlab的
Matlab 初體驗
第一次用matlab的感覺阿
和c++跟bcb感覺最大的差異 在於每當你打完一行指令後
按下enten 他就自動編譯了 ,像是a=1+2+3+4+5 當按下enter後
他就會馬上顯示 ans a=15
感覺上 比bcb 更益於 使用者操作
說真的 用了matlab 後 第一個想法就是
以後不用 小算盤了 打開matlab 就能輕輕鬆鬆 快速的完成計算....
不過因為還沒弄到matlab的軟體 只有在第一次上課的時候
用了一些 基本的指令玩了一下,等弄到了一後 在開始深入的使用看看
看起來沒有150字 不過算了 ...
結論...matlab 真是好用 新奇 又好玩!!!
和c++跟bcb感覺最大的差異 在於每當你打完一行指令後
按下enten 他就自動編譯了 ,像是a=1+2+3+4+5 當按下enter後
他就會馬上顯示 ans a=15
感覺上 比bcb 更益於 使用者操作
說真的 用了matlab 後 第一個想法就是
以後不用 小算盤了 打開matlab 就能輕輕鬆鬆 快速的完成計算....
不過因為還沒弄到matlab的軟體 只有在第一次上課的時候
用了一些 基本的指令玩了一下,等弄到了一後 在開始深入的使用看看
看起來沒有150字 不過算了 ...
結論...matlab 真是好用 新奇 又好玩!!!
MATLAB初體驗
剛打開MATLAB
依照往常的習慣 看那裏可以打開CPP 或之類的
找了好久...
怎麼都沒有類似的選項
看到的介面不管怎麼按都按不出個所以然XDDD
就向隔壁的借了MATLAB參考書來看看
發覺MATLAB只需要簡單的一些指令
就能夠做出平時在C要用複雜的寫法才能做出來的東西
感覺一整個新奇
雖然MATLAB的指令很簡單
但是相對的就有必要再背指令了
雖然MATLAB的指令也沒有複雜到那裏去
以上...
依照往常的習慣 看那裏可以打開CPP 或之類的
找了好久...
怎麼都沒有類似的選項
看到的介面不管怎麼按都按不出個所以然XDDD
就向隔壁的借了MATLAB參考書來看看
發覺MATLAB只需要簡單的一些指令
就能夠做出平時在C要用複雜的寫法才能做出來的東西
感覺一整個新奇
雖然MATLAB的指令很簡單
但是相對的就有必要再背指令了
雖然MATLAB的指令也沒有複雜到那裏去
以上...
MATLAB 初體驗
上學期期末有說要用到上課要用到,就看了一下
不過聽第一堂課老師說的樣子.應該算是輔助用
只是一個好用的工具而已…
書還寫的還算淺顯易懂
有表格式列出程式的功能,以及示範在之後
在使用也感覺挺直接的
就把需要的指令打上去,不需要宣告而且matlab是直譯
有個歷史指令視窗(左下的)可以直接點選來用,這個挺方便的
可以直接連點2下就會執行之前的,也可以複製稍微修改
但是當打錯或是出問題的時候,看到一堆就會頭痛了
老師上課的時候,也有問了一題如何知道顏色深淺多寡的
如果用c去的話.就麻煩了許多,而用matlab輕鬆就可以出來了
matlab有用到許多的陣列,Matlab索引值是從1開始.c是0
如果做了一個三維繪圖,也有許多小指令可以去編修它
或是直接用視窗去修改他,例如更改顏色.顯示一些東西等等
如果忘記指令的話可以直接這樣條就好,
當然..也得知道如何從這裡調就是
有些部分整個感覺很微積分,而實際上也是如此(?)
印象最深的應該就是矩陣部分的運用
指令的部份很多,一些細部的也有
有些的差異就是一個指令,多附加一些功能
他就會在原有的後面再加上點英文縮寫 ,
老師有講到help指令,不過直接翻到書後面找到你要的指令的頁碼
然後看課本的解釋我覺得還方便些,因為英文看不太懂阿!!!
不過聽第一堂課老師說的樣子.應該算是輔助用
只是一個好用的工具而已…
書還寫的還算淺顯易懂
有表格式列出程式的功能,以及示範在之後
在使用也感覺挺直接的
就把需要的指令打上去,不需要宣告而且matlab是直譯
有個歷史指令視窗(左下的)可以直接點選來用,這個挺方便的
可以直接連點2下就會執行之前的,也可以複製稍微修改
但是當打錯或是出問題的時候,看到一堆就會頭痛了
老師上課的時候,也有問了一題如何知道顏色深淺多寡的
如果用c去的話.就麻煩了許多,而用matlab輕鬆就可以出來了
matlab有用到許多的陣列,Matlab索引值是從1開始.c是0
如果做了一個三維繪圖,也有許多小指令可以去編修它
或是直接用視窗去修改他,例如更改顏色.顯示一些東西等等
如果忘記指令的話可以直接這樣條就好,
當然..也得知道如何從這裡調就是
有些部分整個感覺很微積分,而實際上也是如此(?)
印象最深的應該就是矩陣部分的運用
指令的部份很多,一些細部的也有
有些的差異就是一個指令,多附加一些功能
他就會在原有的後面再加上點英文縮寫 ,
老師有講到help指令,不過直接翻到書後面找到你要的指令的頁碼
然後看課本的解釋我覺得還方便些,因為英文看不太懂阿!!!
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的小小初體驗。
在上影像處理的第一節,老師舉了個例子
是用一張圖片來問我們,一張圖片是怎麼組成的
通常在電腦裡一張圖片是由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的小小初體驗。
Matlab 初體驗
第一次接觸到Matlab的時候,覺得和我之前學過的程式語言最大的不同點,就是它是直譯式的語言。
它不像C++要把全部的程式碼打完之後,然後編譯才能執行。
Matlab只要打完一個指令,馬上就直接執行了。
像是打個a=1+2,按一下Enter馬上就出現a=3。
我剛開始還覺得這樣好像蠻厲害的,不過後來在書上看到直譯式語言的缺點。
那就是程式執行的速度,會比其它需要編譯的語言還要來的慢很多。
不過Matlab用呼叫C函數的方式來解決這個問題,可以在Matlab的程式中,
呼叫C函數來處理運算比較複雜的部份,這樣就可以有效的增加執行速度了。
在看Matlab這本書的目錄時,我有看到一篇的標題就是影像處理。 我還以為Matlab就是用來做影像處理的軟體,後來發現他不只是能用在影像處理上。 還可以畫數學函數,不管2維還是3維立體的函數圖它都能畫出來。 更厲害的是它還能夠用來處理一些微積分的問題,不過那部份好像也蠻不簡單的。 Matlab也可以像BCB那樣設計視窗介面的程式,我覺得這套軟體真的是太多功能了..........
我注意到的另一個地方,就是這程式語言他幾乎所有的運算都是用矩陣的型態來運算的。
就算是只打一個a=1,程式還是會把它當作是1x1的矩陣,我覺得這點蠻特別的。
我想到圖片的存檔方式又剛好是陣列的存檔方式,影像處理用Matlab好像很適合。
我覺得這個程式語言要用得好的話,就要很熟悉它有哪些函數可以用。
Matlab這本書裡面每一章節幾乎都是在說明函數的應用,有哪些用來畫圖的,有哪些是用來做矩陣處理的。
我發現在這本書的後面有附上很多的函數,還有說明那個函數的頁數。
這點還蠻方便的,當不太記得某個函數要怎麼使用的時候就可以從那邊來查了。
它不像C++要把全部的程式碼打完之後,然後編譯才能執行。
Matlab只要打完一個指令,馬上就直接執行了。
像是打個a=1+2,按一下Enter馬上就出現a=3。
我剛開始還覺得這樣好像蠻厲害的,不過後來在書上看到直譯式語言的缺點。
那就是程式執行的速度,會比其它需要編譯的語言還要來的慢很多。
不過Matlab用呼叫C函數的方式來解決這個問題,可以在Matlab的程式中,
呼叫C函數來處理運算比較複雜的部份,這樣就可以有效的增加執行速度了。
在看Matlab這本書的目錄時,我有看到一篇的標題就是影像處理。 我還以為Matlab就是用來做影像處理的軟體,後來發現他不只是能用在影像處理上。 還可以畫數學函數,不管2維還是3維立體的函數圖它都能畫出來。 更厲害的是它還能夠用來處理一些微積分的問題,不過那部份好像也蠻不簡單的。 Matlab也可以像BCB那樣設計視窗介面的程式,我覺得這套軟體真的是太多功能了..........
我注意到的另一個地方,就是這程式語言他幾乎所有的運算都是用矩陣的型態來運算的。
就算是只打一個a=1,程式還是會把它當作是1x1的矩陣,我覺得這點蠻特別的。
我想到圖片的存檔方式又剛好是陣列的存檔方式,影像處理用Matlab好像很適合。
我覺得這個程式語言要用得好的話,就要很熟悉它有哪些函數可以用。
Matlab這本書裡面每一章節幾乎都是在說明函數的應用,有哪些用來畫圖的,有哪些是用來做矩陣處理的。
我發現在這本書的後面有附上很多的函數,還有說明那個函數的頁數。
這點還蠻方便的,當不太記得某個函數要怎麼使用的時候就可以從那邊來查了。
2008年9月17日 星期三
MATLAB 初體驗~
MATLAB 7 這本書在學期結束前,
就通知有修課的同學,開學就要交一篇學習心得.
所以暑假的時候,就網購了一本.
雖然不可能比團購價便宜,不過已經比原價便宜多了.
書本一開始大多是一些介面使用說明,
有一些視窗的的清除指令,還蠻好用的.
像是:
clc可以清除指令視窗的指令.
clear可以清除工作區的變數內容.
一開始都是打一些式子隨便亂試,
因為有時候也常打錯,視窗內一下子就被佔滿了,
所以最常用到的,反而是這些清除指令.
雖然說matlab不需要像c++一樣,
把所有的執行動作都寫出來.
只要利用一些指令,就可以達到同樣的目的.
不過,指令還真多啊!
如果全背起來,應該會很辛苦.
就算背不起來,也可以翻書找.
不過還是要大概瀏覽過,
要不然沒印象就不會用.
因為還不是很習慣去用這些指令,
所以不只是常打錯,還打很慢.
而且它的例子盡是一些數學方程式,
有一些次方項什麼的,
因為跟平常打的方式有一點點的不同,
常常會不小心就打錯,而自己還沒發現.
像是: "/"和"./"及"^"和".^",
我現在其實還搞不太清楚使用時機.
因為有些例子有".",有些例子又沒有".".
可能到時候再找人問問看吧!~
就通知有修課的同學,開學就要交一篇學習心得.
所以暑假的時候,就網購了一本.
雖然不可能比團購價便宜,不過已經比原價便宜多了.
書本一開始大多是一些介面使用說明,
有一些視窗的的清除指令,還蠻好用的.
像是:
clc可以清除指令視窗的指令.
clear可以清除工作區的變數內容.
一開始都是打一些式子隨便亂試,
因為有時候也常打錯,視窗內一下子就被佔滿了,
所以最常用到的,反而是這些清除指令.
雖然說matlab不需要像c++一樣,
把所有的執行動作都寫出來.
只要利用一些指令,就可以達到同樣的目的.
不過,指令還真多啊!
如果全背起來,應該會很辛苦.
就算背不起來,也可以翻書找.
不過還是要大概瀏覽過,
要不然沒印象就不會用.
因為還不是很習慣去用這些指令,
所以不只是常打錯,還打很慢.
而且它的例子盡是一些數學方程式,
有一些次方項什麼的,
因為跟平常打的方式有一點點的不同,
常常會不小心就打錯,而自己還沒發現.
像是: "/"和"./"及"^"和".^",
我現在其實還搞不太清楚使用時機.
因為有些例子有".",有些例子又沒有".".
可能到時候再找人問問看吧!~
訂閱:
文章 (Atom)