2007年11月29日 星期四

WEEK11 期中回顧

自己本身所讀的是中文版,在英文學習上,跟其他人就會有差距.
在這堂課,課本上的程式,可以幫助我學習而且了解,自己在念這本書的時間,我認為所花的時間還不夠多,所以讀的沒有很深入,有時指定閱讀的範圍,沒辦法如期完成,不過這種的讀書方式我認為很好,能養成自我學習的能力,也能在練習程式中,找到樂趣.

WEEK11-期中報告

心得
期初的時候因為社團舉辦一些活動使得自己的進度落後很多,等到事情告一段落後感覺有點追不到大家的腳步,也沒買到課本,不過隨著閱讀的累積漸漸的越來越能掌握課本的內容,閱讀英文也不像之前那樣的困難,讀起書來比之前順暢很多,感覺自己有再進步,相較其他課程來說更主動的學習。

加強
應該要更主動的去閱讀,每天讀一些而不是等到前一兩天才去準備,才能掌握得更好。

建議
覺得老師可以適當的解釋一些影像處理的功能在實際生活中的應用,可以一定的提高學習的興趣。
給自己的分數
77

Week 11-CH6

1.計算線性內插法的步驟的計算方式有點看不懂它的算法。

WEEK11-CH6

我看到6.5而已
其他的都還可以,大概可以看得懂但在6.3節比較不知道F(X')=R(-λ)f(x1)+R(1-λ)f(x2)中的R這個式子是從哪裡推導出來
R(u)不太了解,一些u的條件是從哪裡出來的不太了解
反正6.3就是不太清楚
-------------------------------------------------------------------------------------------------

Week 11---CH6

  1. 不太能理解6.3節General intepolation所用的函式。

Week11_期中回顧

前半學期心得:
因為使用原文書,所以剛開始讀有點吃力,拿著中文書互相對照
,有時其他科目作業比較多時,這科讀的時間也就比較少了,而課本裡發現到的
小問題,也會先上網查詢或問同學。
表現不錯的地方:
學習的方法有改進一些..
當然要加強的地方也滿多的。
要加強的地方:
英文方面自己要加強,希望自己
學習能更主動和積極。
分數:大概75吧!

Week11 期中回顧

不知不覺學期又過了一半,
從開學沒有課本也沒有軟體的情況,
拖了一些時間之後才把這些問題給解決。
有了課本之後就開始看書中的內容,
因為看的是原文書的關係,進度有點緩慢,
書裡面的數學公式也是有看沒有懂,
就照課本上的程式碼自己打了一遍,
並且多試幾個值去觀察變化。

我覺得自己在期中前表現不是很好,
太晚把課本跟軟體的問題解決,
對於書本裡的內容一知半解,
有一次上課因為睡過頭的關係晚點到學校,
因此而拿到一個0分,
這些都是自己應該要改進的地方。

我給自己打的分數是59分,勉勵自己要再多加油才能及格。

Week 11 CH6

再做6.5那部份的時候,有點看不懂底下的程式碼。t=((255.5)^2<(i-512).^2+(j-512).^2)&((i-512).^2+(j-512).^2<(256.5)^2);
t=~t;
上述兩行程式碼的小圓點跟波浪符號("."跟"~")各代表什麼,且那"."在在括號外有什麼意義嗎?

期中報告

我是第一次修李老師的課,這也是我在MCU待到現在第一次用這樣的上課方式上課,一開始慌張一定會的,因為哪有人自己看老師沒上課,不過後來覺得蠻好玩的,因為自己看的時候一開始就很不懂啊!想說這是什麼鬼,但後來慢慢習慣後就覺得,把自己確實看過的東西吸收後再把不懂的提出來,說真的挺有用的,因為自己看的話印象就會很深刻,會想自己找答案,然後因為一定要交報告,所以就會強迫自己看,人是一定要有壓力才會前進的咩!
不過,我對自己的英文能力是沒什麼顧慮,但數學的理解力我真的很不行,所以書上寫到的數學,其實我看不懂,到現在還是不懂,這本書我的學習方式就是按照課本做,然後一直嘗試輸入不同數值觀看結果來學習,記得何祖鳳老師說過,"一直寫就對了,熟能生巧"所以就沒想太多的一直寫,才知道程式碼的功用。
至於在本課程自己的優點,我認為能按時交作業就是我的優點了,從以前到現在我根本就很少在交作業,那是什麼東西阿!抄一抄就好了ㄚ,但這堂課沒有.......壓力很大.....但卻能按時交作業....我覺得我長大了~~~給自己打成績的話,我覺得我給自己打70分,但有按時交作業所以偷偷加5分,結論就是總分75分。

期中報告

前半學期心得:
有照著老師的進度在讀書
感覺看起來比較沒什麼壓力
不會有為了考試而看書的情形
可以慢慢看

表現不錯的:
增加不會的問題就上網先查查看
比較不會依賴別人
想直接尋求人問答案

哪方面該加強的:
理解能力 有時候要反覆的看好幾次
才懂得她再說些什麼
課程內容該加強的:
有些章節還是有點模糊
其中考後比較有時間再回頭去看
自評:
80

week8

week8
1.為什麼濾波器在相乘與相加前要先旋轉180度阿,旋轉過後為什麼又不會影響結果

2.補零:他的意思是只要超過影像外的運算數值都為零。也說到輸出的影像周圍會多出一些不想要的現象,譬如:邊緣,那還有哪些現象呢?是課本沒講的

3.課本有說到,遮罩只對影像中能夠完全覆蓋的像素進行運算,若遮罩很大時,將會漏失很多資訊,遮罩不是只對覆蓋的像素做運算嗎?那遮罩很大時怎麼還會漏很多資訊勒?

week5 3.6

week5 3.6
1.為什麼課本要把D矩陣表示為標準矩陣呢?

2.要量化成四個輸出層次,那為什麼255指除以3呢?那跟前面所講的映射又為什麼會不同呢?

3.而D2跟D比較,他多的數字是任何數字都可以嗎?還是由上面的定義產生的?

Week 2: Getting Started

week Getting Started

1.在上面有個直方圖的比較,那請問他怎麼讓他在第二個直方圖上平均分配??

2.background=imopen(I,strel('disk,15'));
figure,imshow(background)是?

3.直方圖畫出來,那Y軸可以去改變嗎?

4.whos列出來的東西我有點不太懂他的意思

week11-CH6

1.
imresize(m,[8,8],'bilinear')和imresize(m,[8,8],'bicubic')分別是怎麼運算的阿?
bicubic的運算看起來比bilinear的運算來的複雜;但從圖來看,bilinear的圖似乎又比bicubic的圖來的圓滑。 P.131

2.
t1=((255.5)^2<(i-512).^2+(j-512).^2)&((i-512).^2+(j-512)<(256.5)^2);做這步的意義何在?判斷(i-512).^2+(j-512).^2有沒有介於的平方和256.5的平方內? P.132

week11-期中報告

學習情形:
覺得一開始自己還蠻認真的,單字都一個一個慢慢查,因為剛開學比較有時間看,漸漸的就有其他科開始壓迫,所以時間較少,最後就只能靠著中譯本來個中英對照了。上課有問題的話,就覺得我的問題都是小問題,所以就問問同學而已了。

表現不錯:
一開始的讀書方式吧,真的就單字慢慢查、慢慢看,當然還是會有看不懂的。

需要加強:
當然就是讀原文能力了,感覺就一直覺得很吃力,有時查完單字但拼不出整句完整的意思,所以就只能藉助中譯本,讓我更能了解書內容的意思,但如此一來就不能好好的訓練讀原文能力了。

加強課程內容:
我想應該是不用加強了,真正該加強的是我們吸收了多少。

成績:75吧

Week 11 CHAPTER6

1.在課本130頁中的zeroint function中

不知道出現的錯誤是什麼(其中的m,n我將它改成a,b)

2.137頁中的flipud(c')中的c為甚麼要加個 ' 我有測試過,不過若是沒有加他則會旋轉180度
本來想說應該是一半但是270度中的沒加時他卻是轉360度,所以確定了不是除半,但是
他是什麼意思呢?

3.在132頁中的t=((255.5)^2<(i-512).^2+(j-512).^2)&((i-512).^2+(j-512).^2<(256.5)^2);
裡面的(i-512).^2中間的.是做什麼用的?

week11_期中報告

本課程前半學期的學習情形:
1.沒有很認真的閱讀課本,通常每一章都讀個1/2~2/3
2.有的問題沒有弄懂
3.和之前的學習相較之下獲益較多,果然還是要用約束的方式才能督促自己.
 除了有提升對於原文書的閱讀能力之外,因為花費時間自己去嘗試理解,
 對於如何、何時使用指令去運用會更有印象,不會很快忘記.

哪方面表現不錯?
我覺得都不夠足以稱為不錯...

哪方面需要加強?
坐在書桌前看書的毅力

給自己的學習打成績
75分

Week11-期中回顧

學習情形:
通常我在讀書都是老師上什麼我就讀什麼,而這學期影像處理
是用自發性閱讀方式,所以會自己去看書,有點半強迫性,但是
卻感覺效果不錯,之前讀書沒有自己去發現問題,現在則是先看過後
再找出問題,效果真的不錯,至少每個禮拜多多少少都會讀到書。

需要加強:
還是在於英文方面,不過感覺是有進步啦,之前看到英文大概就傻掉了,
現在還是繼續加強原文閱讀能力,怕會曲解原義。

不錯的地方:
把之前不讀書的壞習慣多多少少改善許多.....

給自己打分數:
80分

Week11期中回顧

1.學習心得+2.需要改進
這學期的學習方式變了很多,雖然還是自己學習,但是變成了每週指定閱讀和學習,剛開始真的很不習慣,尤其是英文版的部分,很多的單字都是不懂要一個一個的查字典,然後又有點懶的查,所以很容易會含糊的理解過去,所以前半學期真的很混到一個不行,希望下學期能夠進步一些,期中考前已經慢慢能習慣MATLAB英文的展現方式,現在慢慢要讓自己對每個重點都能徹底的去了解,而不是像之前那樣對於不太了解的東西就跳過去,然後再慢慢能夠把一些比較不難的題目自己去思考和解決,這樣就很好了

3.不錯的地方
我覺得我上課的時候能夠專心的聽別人或是老師在講課,然後會把一些課本上的程式碼拿來執行過一遍,期中考前那幾個禮拜有比較認真的去看課本

4.課堂改進
課堂上改進倒是沒有,只是每個例子和程式碼能不能提出一些應用實例,像是第五章的Fliter我還真想不出有很好用的用處

5.分數
這還用說麼,我那麼混能有60分就偷笑了吧~~

Week 11---期中回顧

  • 前半學期心得:

依照老師指定進度跟進,起初講的觀念還蠻容易理解
用原文書看+實作測試還消化得了,但章節越到後面,
越複雜難懂,即便參照中文書有時也似懂非懂,所以
到目前為止還有些觀念要釐清。
  • 表現不錯的:
第一次認真讀原文書(書小讀得意願比較高吧!),還有
上網查找資料跟討論問題。
  • 哪方面該加強的:
英文閱讀能力。
  • 課程內容該加強的:
無。因為已經習慣這種方式,也不知道該加強哪些內容
是否對我有幫助。
  • 自評:
80分。

week11_CH6

本週進度
在這裡
這次有看完到6.7耶
很可惜最後的骷髏...

問題:
(1)6.3
  λ指的是距離,應該只會是正數,那R的範圍為什麼定義在[-1,1]?
(2)6.4
  nearest-neighbor和bilinear以及bicubic interpolation的
  spatial filter是固定的?
(3)6.5
  t=((255.5)^2<(i-512).^2+(j-512).^2)&((i-512).^2+(j-512).^2<(256.5) ^2);         這個指令在做什麼? (4)6.7


沒有圖片Q口Q

Week 11 CHAPTER 6

1.cr=imrotate(c,45)做完這個指令之後圖片旁邊會什麼會用黑色填滿??
2.cr=imrotate(c,60)與cr=imrotate(c,60'bicubic')有沒有'bicubic'的差別是??我看不出來

week11-期末回顧

學習心得:
這堂課剛開始要學MATLAB一開始還覺得說蠻難的,但一直慢慢的讀下去之後才發現,
它讓我越來越覺得很奇妙,運用了一些程式就可以去跟改一張圖許許多多的小細節和一
些不完美的小缺點,而也讓我發現有些地方跟PHOTOIMPACT很像都是去修改圖,因為
PHOTOIMPACT是去調整許許多多的數值總類才可把一張圖變樣子,而讓我驚訝的是,
MATLAB用程式去改圖出來的效果也可以跟PHOTOIMPACT調數值出來的效果很像,所以
這堂課我學到了更多種可以跟改圖樣的方式。

我要加強的地方:
有些
MATLAB的語法自己還是沒有很認真的去摸索清楚,所以這是我需要多多花心思在這
堂課的地方上,然後再仔仔細細的去了解清楚。

課程需要改進的地方:
目前還沒有想到需要改的地方,而上次老師給我們看了一篇培養能力VS灌輸知識,
雖說算是課內的小插曲,但我很喜歡這篇文章,這篇文章讓我知道了原來我們現在未來的主人翁所培養的能力和知識竟然與國外所培養出來能力是有點差距的,所以看完這篇真是讓我有很大的省思,我喜歡這課內中突然的小插曲的一篇文章。

給自己的分數:
75分



2007年11月28日 星期三

Week11-期中回顧

前半學期:
剛開始前幾週還是有點混...
讀書也都是前一天晚上才開始看...
也只有KEY裡面的程式碼
不過後來有慢慢的進入狀況了
但是英文還是頗大的問題...
只能求助中文本來對照著看


不錯的:大概就是真的找不到問題的時候就去回答人家問題吧..

該加強的:

英文能力!!!..
以及希望自己能夠再積極.專心.更有耐心點.

不僅這門課.包含其他的也是...
不然蠻多都是有興趣的或邏輯方面的事才會專注在上面...


上課加強:因該沒什麼需要加強的..
自己比較需要加強...


分數:基本分給自己60.課堂中的回答以及討論10分.讀書部分5分.整體表現5*(5/8)分
sum=
78.125

Week11 Ch6 Reading

這週最讓我感到興趣的就是6.7的骷顱吧 稍微查了依下關於那關於幅畫
古代的畫家 如何才能畫出這種現代人還必須用電腦才能做出的東西..

Q1:關於bicubic這部份還不是很了解.....


Q2:6.5裡面的範例...一直試不出來...看到他說TRICK就更想試試看了

Week11-期中報告

學習情形:
這學期的這門課,不一樣的上課方式自己研讀課本,
然後提出問題,課本又買原文的,對於英文不是很好
的我,研讀起來就得花多一點時間去查單字.
不過,如此也加強了我看原文書的的功力.

需要加強:
由於是原文書,所以有時候會偷懶跳過一些
這部分我覺得我該加強一點

不錯的地方:
加強了我看原文書的的功力.

老師對於上課內容能掌握,對同學的學習狀態也能掌握,很好!!

給自己打分數:
80分

Week 11 CHAPTER6

Interpolation of Data
1.nearest-neighbor interpolation
2.linear interpolation
我們可以從6.9圖發現使用 nearest neighbor scaling
會有blocky的現象邊緣的部分有鋸齒狀,bilinear interpolation
不會有鋸齒狀但是整個就是比較模糊
對於resize的應用還不是太了解!?
resize(A,k,'nearest');
flipud(c')旋轉好像都是逆旋轉是不是有別的方式旋轉

Week 11 CHAPTER 6

  1. [p.124]最後一段有提到NEAREST-NEIGHOR INTERPOLATION的效果沒BILINEAR INTERPOLATION來的好,我想問問究竟為什麼呢?
  2. [p.131]像imshow(filter2([1 1 0;1 1 0;0 0 0],hz)/255)裡面的[1 1 0;1 1 0;0 0 0]怎麼產生的呢?
  3. [p.137]關於旋轉90度flipud(c'),c'是指?

Week11-期中報告

學習心得:
因為我本身英文就不怎麼好,所我在看原文書的時一開始幾乎是每看幾個字就要查字典,但是後來越看越快,現在幾乎一兩句話才有一個單字甚至有些整篇看完可以直接看懂。
而且我本來就比較習慣操作的部分 ,所以我在matlab上操作部份習慣邊看書邊做,而且有時候那些說明文字不懂時,也會利用操作範例上來測試理解。
要加強地方:
每次我都是到了前一兩天的時候才看,所以導致上課時有些東西被問到就整個忘記了,應該要把時間分散一下每次看一點這樣才能看的細。

課程建議:
這一項應該不是老師要加強的地方吧,應該是課程上的建議。
我覺得若是可以能夠在上課前先看過一次,而經由老師上課時的講解後回來再看一次,而隔一周再做討論這樣應該可以更加的理解課本內的東西,因為有時候自己讀一次時會會有些盲點導致沒發現自己不懂的地方,不過這樣倒是會導致課堂的時間會不太夠。

給自己的分數:
[83]

Week11-Chapter 6

課本Page122~Page125 綜合6.1和6.2小節,在nearest和bilinear比較上,跟個課本做實作,

head4n=imresize(head,4,'nearest');imshow(head4n),figure,head4b=imresize(head,4,'bilinear');imshow(head4b)



圖為nearest neighbor





圖為bicubic
由圖推判得知用nearest內插法誤差大於用bilinear內插法,可是我不知道,bilinear取鄰近四點,裡面的運算是?

6.3小節提到了bicubic內插法,實作後,會覺得bicubic的圖比bilinear的圖更平順!我的感覺點是連續的,不會斷斷續續。
6.5小節Page133的Figure6.18 (b)就顯得比較平順和清楚不過在實作時,不懂這兩行怎麼運算
>> t=((255.5)^2<(i-512).^2+(j-512).^2)&((i-512).^2+(j-512).^2<(256.5)^2);
>> t=~t

Week11-期中報告

學習心得:
從第一次接觸MATLAB到現在,已經有11周了,雖然每次學習都帶著有點困惑,每一章都會有卡卡的地方,起出可能是英文翻譯比較吃力,但是後來也就慢慢習慣,習慣後,閱讀就比較上手,在加上配合課本的實作,就能更清楚課本在講什麼。另外,在有幾週是把一個章節看過兩次,第二次讀起來,就能夠發覺更細的問題所在。

我要加強地方:其實每次都會小偷懶到前兩天,才開始看課本@@,不是每天都看那種人。雖然進度有趕上,但是就是沒有很詳細從頭到尾去仔細閱讀,所以這是我要改善的地方。

不錯的地方:
這堂課,促使我們第一次看原文書那麼仔細,提升我們不少的英文能力。至於自己,每個禮拜作業準時繳交(這不是應該的嗎@@?)

老師要加強地方:
好像沒有@@

給自己打分數:
[80]

week11

p126
R0(u)={0 if u<= -0.5
1 if -0.5<=0.5
0 if u>0.5}

我知道u介於-1到1之間 ,但是卻不了解爲什麼還要再去仔細的定一當u=0.5和-0.5 這個u=0.5的值 是固定的嗎還是我們也可以用介於-1到1之間的任呵值去定義它.


p127
在 6.1 6.2 我知道 nearest-neighbor interpolation 和 bilinear interpolation 是利用平面的內插法去求出擴展的點的值,但是cubic interpolation 得算式就無法了解未什麼他要去將 λ<0.5>= 0.5分開來討論. R3(u)={}這個算式也不懂他從何而來的.

p130
在實作中 我先用magic(4)產生4*4 的矩陣,接下要執行zeroint(m)時,發生錯誤,好像是說我們產生的矩陣事double所以無法將它補插型態為int的0

p132
t=((255.5)Λ2<(i-512))............這個式子,我大概猜測它是將陣列中的每以個pixel做一些運算,蛋卻不知道是做怎樣的運算,為何要做這樣的運算


閱讀之後感想:
在這一章事在對 image 平面上擴張,旋轉,壓縮和扭曲去個別討論,知道三種不同的補插法  1.nerest-neighbor : 這種方法會讓圖片產生不自然的現象圖片的每以個pixel會產生一個block一個block拼起來的感覺

2.biliner interpolation :這種補插法圖片縣市比較自然

3.cubic interpolation :這個方法是我在這張中最不了解的方法只知道它顯示出來的圖片也很自然


   

Week 11 課程期中回顧

學習情形:
這堂課的上課方式跟以前有稍微的不同
回家自己研讀課本,在研讀中有些不適應
所以去圖書館借了中文版,互相對照加快了
學習,但是有時候還是過度依賴中文版,
老師規定的範圍只有幾次有看完大部分都
讀到3分之2,在看的時候邊看邊操作MATLAB
加深印象,而且不會一直看原文書而感到無聊。
有哪些方面做的不錯:
很少科目可以看到原文的書籍,透過影像課讓我
有比較習慣看原文書比較不會排斥。
需改進的地方:
有時候會偷懶,還有很認真的完成老師指定的範圍
,有時候雖然看完了但是還是不知道這章節的精神。
課程內容:
很好,老師會看我們閱讀的成果來安排進度。
給自己打分數:
80分

week11_期中報告

學習情形:
這學期的課程著重於閱讀與實作並從中去發覺問題,我在閱讀一開時時無法在時間內完成閱讀,之後漸漸的抓到閱讀的技巧,開始可以在時間內閱讀完畢,實作方面我都是把課本上的程式碼敲進去並看他的結果,最弱的莫過於去找出問題 ,並且去表達出自己的問題.

有哪些方面做的不錯:
應該是在方面,一開始的時候都看不完 ,最後漸漸的可以把它看完,在閱讀速度方面有進步.
需改進的地方:
那就是實作去發現問題,我幾乎都是造課本上的程式碼敲進去然後去看他 的結果, 卻沒有去發現或去找出問題.

課程內容:
不需修改,這種方式很好可以訓練閱讀實作和找問題並且去解決自己問題或別人問題的能力.

給自己打成績:
75

Week 11 - 期中報告

[課程前半學期的學習情形]
前半學期,有的時候很混,有的時候很認真。
無法維持在一定的水平線上面
看課程進度的時候,有時也似乎抓不到章節的重點
只有在老師上課補充的時候才會了解到

[回顧自己哪方面表現不錯]
老師再說洛書的時候吧...沒想到我自己真的跑去找
這方面有點令自己吃驚,但也才發覺到肯自主性的學習以及上進的心
才是進步的原動力阿!!

[哪方面需要加強]
在實做的時候,可能會東卡西卡的
導致無法繼續做程式的執行
可能剛學過的東西也會忘掉...

[課程內容加強]
恩...這應該是沒有吧!!
其實老師的上課方式已經在第一次接觸的時候已經漸漸習慣了。
所以需要加強的地方應該是沒有,有改變的話反而我會不習慣。

[學習打成績]
69分吧...-1分到70是表示說還有一點階段需要補進,沒上70也表示說努力空間還很大

Week 11 課程期中回顧

  • 說到這門課到目前為止的學習狀況,雖然老師所指定閱讀的部份,我都是前晚才翻開課本來臨時抱佛腳一下,不過我拜中英文課本交叉閱讀之下讀的還算OK,每週的進度也還跟的上。
  • 目前讀到第六章,我覺得這本書很適合向我們這些初學者用來學習,我每週幾乎都按照課本內容裡的一些程式碼讓我STEP BY STEP跟著他一起做,不知道是這本書寫的好還是我便認真了,總之,像MATLAB這種程式語言還是要自己下去做才能領會棝中奧妙阿。可是,MATLAB總是夾雜一些艱深的數學式子,雖然很想弄懂他,不過有時候還是會很習慣的視而不見。
  • 關於老師課堂上教的東西,我想都切中主題,大家應該都對這些很陌生,多聽一些是有意義的。
  • 最後,我給我到目前為止的學習分數打80分。

Week 11 Chapter 6

[中,P146]
問題1:我在實做零交錯的時候它出現以下的訊息

我想問 function out zeroint(a) 這一段指令我可以把它想成是,做一個函式這樣子嗎?
而且他說的Error我實在看不懂耶...
第二個Error我可以把它解讀為是媒有宣告成功
function out zeroint(a) 這一個function所以zeroint才無法成立嗎?

[中,P153]
問題2:旋轉影像的問題
課本上描述說:旋轉角度若是90度的整數倍時,影像旋轉只需要轉置矩陣,並將行與列的順序相反即可。
使用 flipoul <- 180="" 270="" 90="" c="" fliplr="" flipud="" span="" style="color: red;">並沒有說到flipoul,難道已經變成是flipud了嗎?還有在()內的c'他是代表說旋轉過後的影像c嗎?

2007年11月27日 星期二

Week 11 - 期中報告

[學習情形]
每週都有按照老師規定的進度好好的閱讀與實做
除了3.6(如果沒記錯)那次沒有跟上外

[自認不錯]
有試著使用blog做閱讀紀錄,
方便將來回顧時使用。

[尚待加強]
上課學過的東西,或許當下聽懂了,
然而有部分機率在不久後將之遺忘。

[課程內容]
本身對於課程內容與上課方式並沒有任何疑問

[自我評分]
80

雖然有使用blog做紀錄,然而紀錄卻不是那麼的詳細
有時因為偷懶而缺記的,還得重新翻書才會有印象

提問題,總覺得有一些是可以自行解決的...
提問題之後,獲得解答也未必即時更新blog
有時問題提過後,部份沒獲得解答的問題就此閒置

就努力實作與閱讀方面,覺得應該有超過80分的門檻
但是因為後續偷懶方面的小瑕疵,自認該扣分...

Week 11 Chapter 6

Image Geometry
關於閱讀筆記 詳細版本



[心得區]
關於圖片的旋轉,過去曾經思考該如何使用BCB撰寫,
因此當課本提到旋轉公式時,有點粗略的就讀過去。
我還是覺得在旋轉的過程中,或多或少會有失真,
因為使用三角函式旋轉,會產生一些小數點
在座標定位上,如果某兩個點(旋轉後)同時轉到(x',y')[同一個點]對應的區域
那麼取捨上該如何處理...之類的?
//是不是該歸類為問題區...(?)



[課本內文問題區]
1. Page 120, Figure 6.3
  Nearest-neighbor interpolation,以空圈標記了最近的點
  然而位於邊緣的 X1 ,與 X4 僅僅標記了X'2與X'7
  X'1與X'8並未被標,是因為重疊的關係?

  在這張圖,從 X'→X 似乎沒有太大的問題
     然而從 X→X' 是否如字面意義挑最近的點
  例如 X'3 較 X'4更接近 X2...X→X'時,X2是否取X'3的值

2. Page 137
  90度:c90 = flipud(c);
 180度:c180 = filplr(flipud(c));
 270度:c270 = fliplr(c);

 因為課本上使用imrotate的旋轉,是逆時鐘旋轉...
 然而這邊提到特殊與法的時候,有提到度數
 我以為c90的結果應該與imrotate(c,90)相同
 然而實際上並不是,而是往下折(x,y')

 c180 也不等於 imrotate(c,180)而是(x',y') 
 c270 是(x',y)

 註:(x,y')是指 x 相對位置不變,y的位置作映射
   (x',y') x y 作映射
   (x',y)是指 y 相對位置不變,x的位置作映射

 這樣算是我解讀上有所問題嗎?

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'的關係是必須自己歸納出的,不
   知道這個關係式是怎麼得出的。

 ② Page 132 6.5第一段最後一行/subsampling
   "It corresponds to the nearest option of the imresize function."
   如果subsampling是刪除一些pixel來縮小圖片,不知道跟nearest-
   neighbor有什麼關係。看了上學期自己寫的程式,好像就是直接刪
   掉沒有對應到的點來縮小圖片,不知道在縮小時有什麼需要用到
   nearest-neighbor或bicubic的地方?
   Ans:
     忽然想起未必有對應的點,例如FIGURE6.2就只有頭尾有對應。

 ③ Page 134 第六行/Cartesian grid
   這裡說無法確定旋轉後的新點還會落在該Cartesian grid裡,所以需
   再旋轉回來看看是否在Cartesian grid裡,是的話,旋轉後的新圖才
   會顯示該點。不知道這裡的Cartesian grid是如何定義的?所以也不知
   道為什麼旋轉後會超出範圍?為什麼不能超出範圍?
 

2007年11月14日 星期三

Week9 Ch5-4

今天做了5.4的低通與高通濾波器,同樣的使用了灰階圖片來製作,首先來看一下原圖,如下:
一開始執行高通濾波的Laplacian,如下:
然後再做log濾波
雖然差異性在畫面上看起來不大,但仔細看還是有點差別,書本上也提到,像素灰階值在0~255之間是最好的。再來就是進行矩陣cf2作函數matgray的調整,最後出現了double的矩陣型態。
再來除以一個常數
但其中,
cf2g=(cf2-mincf2)/(maxcf2-mncf2);==>課本打的似乎有錯誤。
產生了以下結果。
??? Undefined function or variable 'mncf2'.
所以把它改成,
cf2g=(cf2-mincf2)/(maxcf2-mincf2);
就好囉!
基本上沒什麼大問題,只是最後的圖,變成了馬賽克圖,且還蠻明顯的,可能是加強了邊緣的偵測吧!

2007年11月8日 星期四

Week8 Ch5

1.課本上說到空間旋積和空間濾波很類似但唯一的差異是,
濾波器在相乘與相加之前必須旋轉180度,請問什麼是影像
像素旋轉,不懂這句話的意思?

2.x=uint8(10*magic(5))
magic在這行指令代表什麼意思,為什麼要加上magic?

Ch5 Reading

Q1.

不太能了解 [p.92] Ignore the edge 和 [p.93] Pad with zero.

所闡述的意義。

Week8 Ch5

p.91 有照著程式碼key,結果也沒有問題,不過對於mean2(x(1:3,1:3)) ()裡面的數字不太了解有什麼涵義?

p.92 中間部分,課本是不是印刷錯誤? a-2b+c-2d+4e-2"d"+g-2h+i d是不是應該改成f ?
p.95 我想把cameraman這張圖改成別張圖的時候,在執行程式時發生錯誤:

??? Undefined function or method 'conv2' for input arguments of type 'double' and attributes 'full 3d real'.
Error in ==> filter2 at 73 y = conv2(hcol, hrow, x, shape);

想請問一下這段訊息的意思是?

在執行p.105 p.108 p110 這三頁的程式碼時,結果顯示是一個小點:



覺得好像是自己做錯了?

還是???




心得:這次的閱讀並沒有做很多張圖出來比較,因為想把圖片改成別張時就出現95頁的那個錯誤,看了其他同學的文章之後才發現課本上面的圖片都是Matlab內建的...= =

不過在實作的過程中也按照課本做了幾張圖出來:

( 這張圖感覺很漂亮@@)

下次花更多的時間準備,我想應該會更好!!

WEEK8-ch5

本章節是在處理一個點在鄰近的pixel value
spatial filtering的3個步驟
1.將遮罩放在current pixel上
2.將filter的元素和附近的的像素相乘
3.把乘起來的東西加起來
對於影像的邊緣超出影像的地方有2種方法
Ignore the edges和Pad with zeros
但是對於那2種方法還是不太清楚!?
Ignore the edges的方法會不會對圖片產生什麼問題!?
P98.99
low-and Hight-pass filters
p98程式所產生的圖片和原始圖差異在哪看不太出來
(a)laplacian filter (b)laplacian of gaussian
對於他使用的方法也不太懂

WEEK8 CH5

5.1:
將遮罩覆蓋到指定影像
1.將遮罩置於current pixel上面.
2.將濾波器的所有元素與鄰域相對應的像素相乘.
3.乘法的所有結果相加.

5.2
影像的遮罩太大
1.(Ignore the edges):遮罩只對影像中能夠完全覆蓋的像素進行運算.
2.(Pad with zeros):假設影像外會運算到的數值為0.

問題是2.將濾波器的所有元素與鄰域相對應的像素相乘. 不是很懂=[]=..

Week 8 CH5

Week8 CH5
5.1
spatial filtering的3個步驟
1.將遮罩放在current pixel上
2.濾波值與鄰近值相乘
3.把這些值加起來
P.90 示意圖跟指令不符合
mean2(x(1:3,1:3))應該是矩陣的左上角9個,所以課本有錯
filter實做


問題 : 第2張圖裡面的數值許多是負的,為什麼能顯示出來,把圖用photoshop看
,沒有負值???

WEEK8 CH5 Neighborhood Processing

第五章進入面的世界談到透過改變某特定區域裡面所有像素的值


來達到改善圖片品質或找出隱藏內容的目的。


處理的方式是透過濾波器(filter)


參考書本和網路上找到的資料


spatial filter根據效果主要分成兩種


smoothing 功能為將影像模糊化或減少雜訊


sharpering 功能為銳利化並增加對比




原圖



Lowpass filter


Laplacian filter



Laplacian of Gaussian filter

問題:
Laplacian filter和Laplacian of Gaussian filter的差異很明顯,後者在影像的整體輪廓表現得更清晰可是我不明白這兩個濾波器的具體目的?這樣做有何好處?

Week 08 Chapter 5-NEIGHBORHOOD PROCESSING




問題:


Q1:

x=uint8(10*magic(5))是如何產生出一個5*5的矩陣且裡面的值如何產生的?
Q2:
在實做5-1~5-3的filter時,用課本的x=uint8(10*magic(5))這個圖去做都可以,但是
換了彩色的圖做時卻出現error??? Undefined function or method 'conv2' for input arguments of type 'double' ands attributes 'full 3d real'.
Error in ==> filter2 at 73 y = conv2(hcol, hrow, x, shape);
好像filter只能對灰階圖處理,那如果想做彩色圖有辦法嗎?
Q3:
課本有講到一個空間旋積(convolution)不太懂這是什麼,課本講說會先把圖像轉
180度在處理的樣子之後又說不會影響結果和普通執行filter會是一樣的,不懂是為什
麼會這樣?

week8-CH5

第5章內容:
5.1:
將遮罩(通常為奇數的方形或其他形狀)覆蓋到指定影像上的概念.
空間濾波的運算三步驟:
1.將遮罩至於指定像素上.
2.將濾波器的所有元素與鄰域相對應的像素相乘.
3.乘法的所有結果相加.
5.2.1:
影像的邊緣遮罩超出影像的地方解決方法:
1.忽略邊緣(Ignore the edges):遮罩只對影像中能夠完全覆蓋的像素進行運算.
2.補零(Pad with zeros):假設影像外會運算到的數值為0.
5.3:
函數filter2可以執行線性濾波運算
filter2(filter,image,'same') 產生的是和原始矩陣image同樣大小的矩陣,邊緣補0.
filter2(filter,image,'valid') 只對遮罩能夠完全覆蓋的像素進行運算,結果小於原始影像.
filter2(filter,image,'full') 會得到比原始影像大的結果.捕0之外,相交部份執行濾波運算.
average會模糊影像,邊緣會變的不清晰,越大的average,影像越模糊.
問題:
Q1:使用Ignore the edges的方法,若mask很大,會漏失很多的資訊?漏失的是邊緣的像素?
Q2:使用Pad with zeros的方法,得到的影像和原始一樣大,但輸出會有我們不想要的現象?是因為補0的關係?
Q3:對於filter2的'full'運算方式,不太了解.

week8-CH5

ch-5主要講的是filter
Q1. 在5.2 P.93中filter2(filter, image, 'same') is the default;it produces a matrix of a size equal to original image matrix. it uses zero padding.這個same的運算我還是不太懂它到底是怎麼運算 的,位什麼一經過這個filter可以讓3X3矩陣變成5X5的矩陣?

Q2. 5.4 P.98中程式碼fspecial('laplacian')和fspecial('log'),laplacian和log有做介紹麼?我在書本上 找不到這兩個的相關資料,還有這兩個應該都是屬於high-pass filtering的吧?

Q3. 5.5 P.103第一段程式碼應該是g1、g2、g3、g4吧?這樣才跟下面那段程式碼能接得起來
and imshow(filter2(gX, c)/256)為什麼要除256在之前也有除過蠻多數字的(ex:70, 60等等)
這是什麼意義?

Q4. 5.5的意思是不是在說用gaussian可以做到average的作用,而且在gaussian中還多了一個參 數可以來做更加模糊化或者是不模糊化?那兩者之間有什麼樣子的差別呢那兩者之間有什麼 樣子的差別呢?是不是有什麼必存在的原因,不然怎麼會有兩個相似的東西擺在一起

先到5.5,等有什麼問題在來做一下補充

CH5---neighborhood processing

1.If the mask is very large, a significant amount of information may be lost by this method.

為什麼 mask 愈大愈會漏失資訊 ? P.92


2.
不懂箭頭怎麼做的 ? 還有其意義 ?

Week8 Ch5 Reading

本章節主要在說明處理一個點與其鄰近區域的影像
為前一章節的延伸 從一個點延伸到一個面
基本方法就是用它所介紹的 遮罩覆蓋在影像上 稱為filter(濾波器)
先產生一個陣列 以一個點為中心
同時將鄰近與陣列大小相同的點做相乘相加運算
將所有的點都重複這動作 就完成了空間濾波
處理過的影像好像都比原圖模糊
不知道這效果在現實上能做什麼??
後面的去銳利化 是將圖的邊線明顯 或者是將圖某些地方加深
最後5.8提到使用者自定範圍來單獨的處理區塊 不再是整張處理

Q1:本章節show圖片前幾乎都要除一個數字 大多數都是255
但是有些地方卻是60(p101)或70(p105)
255的目的是要將圖轉為0.1~1之間
但60跟70是??

Q1.5:P93的補零也是先補完零在做上面的Ingnore the edges??



//這禮拜有點跳著讀...(5.5跳過....etc.)總之就是沒讀完..

Week8-CHAPTER 5

1.[p.91]
如左圖,用magic(5)產生出來的矩陣,再用mean2(x(1:3,1:3))選出3x3的範圍,不過課本裡框出來的跟我想的不大一樣,應該將黑框改為紅框才比較符合1-3行,2-4列。
2.[p.98]使用fspecial('laplacian')或fspecial('log')產生出來的矩陣是如何得到的呢?
3.[p.100]max()和min()這兩個function使用的方法?看過help不是很懂。

week8_CH5

※閱讀紀錄與實作
這裡
開始學習別人做紀錄,不過還沒讀完...

※問題

1.課文中多次提到不同的filter,有linear filter、spatial filtering、
 averageing filter.雖然我在看的時候都把它們當作相同的意思,
 不知道是否其實不同?

2.P93 Pad with zeros
 這段最後一行寫著"the effect of introducting unwanted artifacts around 
 the image."似乎是這個方法會造成例如在影像邊緣的什麼問題...?

 --->感謝小蜜蜂的回應,驗證中

week8-Chapter5-Neighbor Processing

重新開始:Chapter5-Neighbor Processing-理論篇(未完成...)
重新開始:Chapter5-Neighbor Processing-實作篇(趕工中....)
--------------------------

問題區:

1.page 87 有提到通常處理的都是奇數邊長的pixel,那如果是偶數的要如何做處理?


由於這星期感冒,所以...拖個進度....,短時間內補齊!!

Week8 Chapter5

在5-1~5-2中,清楚的了解到將遮罩與函數的結合形成filter,並練習使用linear filter,
到此顯示的都跟課本一樣,都出現一樣的結果。直到….
在5-3的濾波函數中,filter2(filter,image,shape)的線性濾波運算,基本上是沒什麼問題的,但在做average之時出現了一點小問題:
>> f1=fspecial('average');
>> cf1=filter2(f1,c);
??? Undefined function or method 'conv2' for input arguments of type 'double' and attributes 'full 3d real'.
Error in ==> filter2 at 73 y = conv2(hcol, hrow, x, shape);

基本上,到這裡都屬於我個人腦殘,做了三天都出現一樣結果,原來是我目幹選錯檔案編號,
根本不能用彩色做,後來在詢問過博欽後,終於出現了最想看見的結果了!喔耶~~

不過5-1跟5-2絲毫不受檔案色彩所影響,出現的ans都一樣。

Week8 Chapter5

◎讀後心得:
-----------------------------------------------------------
5.1

spatial filtering需要三個步驟:
1. Position the mask over the current pixel.
把mask放在current pixel上。
2. Form all products of filter elements with the corresponding elements of the neighborhood.
filter element與neighborhood上相對位置的值的乘積做運算。
3. Add all the products.
加上所有的值。

5.2
Ignore the edges因為所有輸出邊的像素會比原圖來的小,所以會造成影像失真。
而Pad with zeros因假定所有外部影像皆設為0,所以他會和原圖一樣大,但會造
成影像有多餘的東西。

5.3
這章實做了 filtering
我輸入了以下指令:

c=imread('1.jpg');

g1=fspecial('gaussian',[5,5]);

imshow(filter2(g1,c)/256)

卻出現下列錯誤訊息

??? Function 'conv2' is not defined for values of class 'double'
and attributes 'full 3d real'.

書上解釋說filter2是針對二維的濾波器

所以必須先對讀出的圖轉成灰階

後來轉成灰階就可以執行了....


----------------------------------------------------------------
這禮拜大致進度到這邊,因為在忙其他科目的小考所沒並沒有太多時間來實作
這章的東西,從5.4節開始就看到有些模糊,希望能有再多一點時間來深入閱讀,
進度緩慢....不常看原文書的下場,目前碰到的問題都可以解決,所以這禮拜沒
貼上問題。

Week8 Chapter5

1.[中,P102] 空間玄機與空間濾波相同,差異在於選轉180度。
i,j是陣列元素的位置
原本:兩個連加S=(-1:1) T=(-2:2) m(s,t)p(i+s,j+t);

濾波:兩個連加S=(-1:1) T=(-2:2) m(-s,-t)p(i+s,j+t); 其中的負號是代表旋轉180度嗎?

兩個連加S=(-1:1) T=(-2:2) m(s,t)p(i-s+j-t); p(i-s+j-t),這樣就沒有p(i,j)了,是變成係數嗎?


2.[中,P114] maxcf2=max(cf2(:)); 設求得=593
mincf2=min(cf2(:)); 設求得=-541
cf2g=(cf2-minch2) / (maxcf2-mincf2); 這應該只是一個比例而已
那在show圖片的時候,是否要成上這一個係數來做影像調整呢 ?


3.[中,P120]
f=[0,0,0 ; 0,1,0 ; 0,0,0] - 1/k[1/9,1/9,1/9 ; 1/9,1/9,1/9 ; 1/9,1/9,1/9]

變成

f=k[0,0,0 ; 0,1,0 ; 0,0,0] - [1/9,1/9,1/9 ; 1/9,1/9,1/9 ; 1/9,1/9,1/9]
單位濾波 濾波器

因為 : 原始影像 - 調整比例後的模糊邊線 = 去銳利化後的影像
那 : 出來的 f 直是模糊的成分嗎 ?

Week8 Chapter 5

(Q1.) p.94 5.3小節的 Y = FILTER2(B,X,'shape')
其中在第三個參數填入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月7日 星期三

week8

實作:
1.filter2(a,x,'same')


利用此指令我了解到,x[1,1]中的 50 經過 filter2(a,x,'same') 此函數是將x[0,0],x[0,1], x[0,2],x[1,0],x[1,1],x[1,2],x[2,0],x[2,1],x[2,2] 相加除以九獲得 111.1111


而x[0,0] 是將 x[0,0],x[0,1],x[1,0],x[1,1] 相加除以九 獲得

2.filter2 (a,x,'valid')

由此結果猜測 valid 這個參數 適用來顯示出 x 陣列中完整加到九個值之後再除以九的值

3.filter2 (a,x,'full')

由結果發現它的陣列變大,且將補0的地方都考慮進去必再作一次filter2 (a,x,'same') 所的到結果

4.fspecial指令
圖一 原圖
圖二 f1=fspecial('average');
圖三 f2=fspecial('average',9);
圖四 f3=fspecial('average'25);


我再將 f2=fspecial('average',9);中 的 f2陣列 叫出來並用小算盤發現 9 這個參數 是產生 81個 值為 1/81 的陣列

實作問題:
1. p94 filter2 (a,x2,'valid')

問題: 這個結果是不是就跟 改成 filter2(a,x2,'same') 一樣就是不足得地方補0 再除以九

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?
 [希望解答]
 
註:因為不知道"希望課堂討論"是指純討論還是有包含只解答課堂討論的問題的意思,所以這裡先不寫"希望課堂討論",之後再作刪除或修改。
 

week8 ch5

p90這頁的圖中框的位置好像有錯誤,我的猜想應該是和之前的4-4的那個程式碼一樣,他認為是以0為開始導至於(1:3) (2:4)的他框在中間本來的應該是要往左一格.

p97 high-pass filter是比high-frequency components還或是比low-frequency components還低但是該怎麼分辨比他高或是低呢?

Week8 Chapter5

※Chapter 5 Neighborhood Processing
※由於上週已經閱讀完畢,本週針對於略嫌不足的地方加強
 故不考慮新增blog文件,但我的blog細節有增加
※目前只考慮放置問題於此,詳細的細節請看 前往
※↑ @2007/11/14更新

Questions:
1. Page 93,94
  關於filter2的"same","valid","full",
  課本有些簡單的範例,例如在x的四周補0後使用"valid"的效果
  與直接使用"same"的效果相同
  知道每個單字出現的範圍大小,但實際計算方式仍不太了解
  →已知課本範例結果"valid"3×3,"same"5×5,"full"7×7

2. Page 96,97 5.3.1
  關於「Separable Filters」
  示範把陣列分離成1×N與N×1
  並提到Separability can result in great time savings.
  關於這邊,語句上的翻譯是節省時間
  而關於節省,到底是節省怎樣的時間?
  抑或是節省記憶體的空間呢?(是否有此項功能)

3. Page 99 Figure 5.5 的解說
  In each case, the sum of all filter element is zero.
  意指,構成上述圖片的fliter元素相加總合為0
  在網路上搜尋了關於Laplacian的事蹟,
  或許這問題不是很重要,但仍然好奇該矩陣是如何構成?

4. Page 108 (應該放到課本找錯區嗎= =?)
  f=[-1 -1 -1;-1 11 -1; -1 -1 -1]/9;
  xf=filter2(x,f);
  imswho(xf/80)
  根據上述指令操作,只有出現一個小點(約3×3大小)
  但當我將xf=filter2(f,x); //x與f的位置對調
  就可以show出圖片大小的圖

5. Page 111(應該放在課本找錯區??)
  假設有一張圖片存在x裡面
  原本→cmax=nlfilter(c,[3,3],'max(x(:))');會不能用
  修改→cmax=nlfilter(x,[3,3],'max(x(:))');才能用
  →cmin亦同
  但當我將一張圖片大小與x相同的圖片塞到c裡
  就可以用課本上的指令,那麼該算是筆誤還是?
  如此一來,是否意指cmax=nlfilter(x,[3,3],'max(x(:))');前後變數該相同?

2007年11月1日 星期四

Week7 CH4

心得:
在看完本章後,了解對圖做處理能有3種:轉換和臨域處理和點運算
操作過一些指令後了解到使圖片變亮變暗以及能製成底片之類的效果
也能利用4.2數學運算改變像素的值
4.3直方圖:能了解圖片像素分布和出現次數的圖

Q1:不懂imadjust和gamma的關西..既然imadjust已經能處理圖片了,那加上gamma
有什麼用..
Q2:imadjust(im,[a,b],[c,d])中的a,b,c,d是怎設定的?

Week7-CH4

本章節大綱:
4.1 影像處理運算可分三個等級:
(1)轉換:轉換是將像素值改變為其他種相等的形式.
(2)鄰域處理:只要知道指定像素周圍像素的灰階值,就可以改變指定像素的灰階值.
(3)點運算:在不知指定像素周圍的情況下改變該像素的灰階值.
4.2 利用點運算對影像中的像素灰階值進行數學運算,使圖片變亮變暗,曝光效果.
4.3 直方圖:
比較暗的影像,灰階層次聚集在數值低的區域.
比較亮的影像,灰階層次聚集在數值高的區域.
對比平衡的影像,灰階層次會平均分散.

問題:

關於imadjust函數:
imadjust(im,[a,b],[c,d])這個指令會依照圖4.10的函數調整影像對比
這張imadjust擴展函數的圖,不太能理解.
還有,課本中所說的小於a的像素值會自動轉成c,大於b的像素質會自動轉成d,是什麼意思呢?

Week7 CH4

心得:
看完及實做所有範例後,除了下面兩個問題不解之外,大概

了解了本章灰階影像的處理和運用。

Q1:

If we were to treat the image as a continuous function f(x,y) and the

histogramas the area between different contours , then we can treat the

histogram as a probability density function.

[P.81]---不太能理解這句。


Q2:

下面指令用空白隔開.25、.5、.75等等參數的意思是??---[p.76]


WEEK7

1.後來發現圖片是uint8型態的,但是不需要轉換double型態還是可以進行運算,到底是為什麼? 打上b=b+128是可行的,沒有出現 ,還是因為圖檔的不同???


2.仔細看之後發現

110那條線(4的那點)應該畫在5不是嗎??? 還是我解讀錯誤了...p.73



解決的問題有

3. th=imadjust(t,[],[],0.5); 0.5是要做什麼的? p.74
仔細看了之後,0.5應該是gamma值吧


心得:
這次又仔細看了之後,發現有很多上周都沒看到的地方,例如gamma值那就沒有看很清楚.
還友直方圖那,經過老師上次的講解+後來又自己再讀一次,才比較了解這些圖怎麼畫的...



因為之前只修改在WEEK6而已

Week7 Ch4 Rereading

心得:這次將一些指令碼的仔細的看過一遍 發現到有些問題其實都在課本文章裡..
之前有時候是指看指令碼...例如imadjust的功用(有點小地方還是不懂)...
不過大概做的運算應該是了解了 是將pixel值做運算 把它轉換到某個自訂的範圍之間...
然後指令碼大概的用過一遍 如製成負片(底片)之類的效果 以及imadjust調整範圍之類的


Q:關於histpwl這個指令碼..
看了一下他的function 是將陣列拿去做運算 (im(pix)-a(i))*(b(i+1)-b(i))/(a(i+1)-a(i))+b(i);
也就是 上面的piecewise linear-stretching
但是跟前的imadjust好像有點不太一樣,還是因為陣列裡有超過兩個以上的參數??
function中的流程也看不太懂...
(p76)

那前面imadjust中又有說
到imadjust(im,[a,b][c,d])中小於a會轉為C,大於b會轉為d
而imadjust(im,[][1,0])是指說小於0會轉為1,大於1會轉為0??
還有下面的變形函數y=((x-a)/(b-a))^g*(d-c)+c(中譯本裡面是平方?!)不太能夠解讀,裡面的x是指?
(p74)

week7-CH4再讀

這次在讀一次CH4
CH4主要是用一個函式把圖丟進去,就可以把圖片做點處理
做過點處理的圖片可以變亮或是變暗,imdjust可以抓到圖片的gamma值 並且可以對作gamma值得改變,其實就像是上面的函式一樣,把圖做gamma運算時可以改變圖片的明亮度
imcomplement把一張圖value的0變1,1變0,也就是把圖片作成了相片的底片化
plot中可以把兩個陣列(或是兩張相同的圖片)做成一個函式圖 ,做成的函式圖是用兩個函式
histeq則是像之前所說的可以把一張圖做成histogram圖,可以看出這張圖片的每個像素的色彩質

week7



















原始圖


這次再重新讀一次第四章,瞭解了第四章運用了很多的方法有
加減乘除和補色與影像直方圖的方式都可以讓圖形的影像變暗
和變亮,也實際去用了運用了直方圖擴展法來顯示圖的明暗度。
而我這張圖是用了+128和-128的圖去修改他的明暗度,
讓我發現了假如是用+128和-128是直接去改全部圖片的明暗,
而不是去改某小部分所要的明暗度,而假如是去用直方圖的寫法的話
就可以去更改我所要一張圖哪些小地方要亮要暗。
這樣也可以做得很好看。

WEEK7_再讀CH4

閱讀心得:
第四張的標題就是點處理,很明顯的可以知道,他針對由某些點的改變來達到所要達到的目的,而經過某些的計算可以是的圖片看起來比原圖黑或是比原圖亮。


在下指令修改照片時,我們也可以透過imadjust去取的gamma值,讓我們可以由他的分布去了解此張照片是否要亮點或是暗點。


而課本也利用補色(imcomplement),來達到相片附片的效果,也就是說當我們下X=imcomplement(c),會讓圖C看起來有底片的感覺。


但我覺得還是有一點在實作上感覺怪怪的,課本上有提到需要注意到資料的型態,但我發現就算是型態沒符合所要的,一樣是可以執行,型態好像在執行上沒有太大的影響或需要去注意他,是MATLAB幫你處理過了呢?還是?




而利用imcomplement可以讓照片有負片的效果,那如果要改變回來呢?需要輸入什麼來執行?



..........................................................................................(執行的圖片未貼)
待續

WEEK7 CHP4-Histograms

1.本章節是指點的處理
2.按照p.74最下方的程式碼
th=imadjust(t,[],[],0,5);
imshow(t.figure.imshow(th);
輸入的話會使p75figure4.12的原圖黑色部分顯得更有層次感,感覺顏色多了很多。

Arithmetic Operations
直接翻譯應該是指數值的運算
透過一些簡單的function y=f(x)用一些常數的加減乘除來改變圖的gray value
一張圖又被分成0~255個range加128就會使127或比127大的點變成255,減128則反之
這樣的調整可以改變圖片的"亮暗"
藉由改變整張圖片的點的值來達到改善圖片的品質或是偵測出圖片隱藏的內容,
p.67的座標圖橫軸代表了函數的input縱軸代表outpiut透過這個座標軸
可以表現出整張圖片的所有點的情況,也不會因為不同圖片的大小而受到影響,
4.3Histogram
影像直方圖,能夠呈現整張圖片的像素值分佈情形
較暗的圖片,histogram呈現出來的分怖會偏高反之則偏低


  • Histogram Stretching(影像直方圖延展)
利用一線性函數將本來gray level分佈太過集中的圖片分散開來
使一張過黑而難以辨識的圖片輪廓變得清晰
f(x)=[(14-2)/(9-5)]*(x-5)+2
input   x = 5 , 6 , 7 ,8 ,9
output f(x) = 2 , 5 , 8 ,11,14
我想應該還有其他的函數能夠達到這樣的效果


  • Histogram Equalization(影像直方圖等化)

課本馬上提供另外一個方法,因為streatch的方法要求使用者必須要input資料

在某些情況下會造成不便,這個方法能使像素的分佈差異大幅減少效果跟Stretch很像可是效果更好,可提供較佳的影像品質。

不過我不是很明白這個方法的原理?

WEEK7 CH4-again

統整CH4的內容綱要:
4.1 Introduction影像處理的運作可被分為三類
1. Transforms.轉換整張圖的pixel灰階值以另一種相等的形式表示。  
2. Neighborhood processing.改變一個給定pixel的灰階值,需要知道該pixel小周圍的pixel灰階值。  
3. Point operations.改變一個給定pixel的灰階值,但不需要知道該pixel周圍的資訊。適用image preprocessing。
 
4.2 Arithmetic Operations
利用運算符號來改變灰階的值.
The complement of a grayscale image(photographic negative<反向>):   
⒜ 一個double型態的圖片矩陣m,值介於0.0~1.0,可藉由1-m得到它的negative<反向>。   
⒝ binary image,可藉由~m得到它的negative。
⒞ 一個uint8型態的圖片矩陣b,可藉由255-b得到它的negative。

4.3 Histograms   
dark image的"灰階值histogram"集中於低的值。   
uniformly bright image的"灰階值histogram"集中於高的值。   
well-contrast image的"灰階值histogram"會分散在各值。

4.3.1 Histogram Stretching(Contrast Stretching)
改變使用者input圖的灰階值histogram.

4.3.2 Histogram Equalization
histogram equalization提供一個完全自動化程序。

4.4 Lookup Tables   
point operation可有效地使用lookup table來表示。


可是我還是不懂4.3.1中th=histpwl(t,[0 .25 .5 .75 1],[0 .75 .25 .5 1]) 的意思

Week7 再讀Ch4

再讀一次第四章,透過實作與閱讀找到之前的問題答案。

p.68 程式碼 b2 = imsubtract ( b , 128 ) ,意思是說利用imsubtract函式把b這張圖的每個像素都減去128,讓調整過後的圖(b2)看起來比原圖(b)黑,像是課本的Figure 4.3的比較一樣,可以看出明顯的不同。

p.75 Figure 4.12 因為課本用影印的關係,所以看不太來兩張圖的差別,不過經由實作之後可以清楚的感覺到,右邊的圖整體比左邊的圖來的亮,程式碼 th = imadjust(t , [ ] , [ ] , 0.5 ),可以改變0.5這個數字去看看差別,以1為基準,當數字越接近0時,整張圖片看起來會更加的明亮,而當數字大於1時,圖片就會變暗,透過實作可以清楚的看出差別。

week6-Chapter4 again

由於心得太過龐大所以放置在我的blogger

問題擺這裡

1. page 69 在執行1-m和~m之後我的圖片只呈現了一片黑,無法顯示課本所說的底片狀態
==執行後=>
2.當我使用下圖來執行 imshow(b),figure,imhist(b),axis tight 這段程式碼時,會顯示出下列的錯誤,不了解錯誤在那.
錯誤:
??? Function IMHIST expected its first input, I or X, to be two-dimensional.

Error in ==> imhist>parse_inputs at 192
iptcheckinput(a, {'double','uint8','logical','uint16','int16','single'}, ...

Error in ==> imhist at 57
[a, n, isScaled, top, map] = parse_inputs(varargin{:});


3.同樣也是上面那張圖片的問題,當我執行imadjust後執行plot(b,bh,'.'),axis tight,會顯示以下錯誤,好像是說我的圖片不是2維矩陣,所以不可以執行,但是不知道怎麼判斷一張圖片是2維還是3維.

錯誤:
??? Error using ==> plot
Data may not have more than 2 dimensions

4.page 80 and 81

是關於imdivide與histeq這2個指令的功用,imdivide像是在壓縮圖片的Histogram,所以我嘗試執行an=imdivide(a,0.5),雖然圖片變明亮但是顯示的Histogram卻跟我想的不一樣,當執行histeq這個指令時得到的圖片與an=imdivide(a,0.5)得到的圖片相同,但是Histogram卻差很多,所以對這2個指令的功能很疑惑.
an=imdivide(a,4):Histogram:

ah=histeq(a):Histogram:

WEEK7_再讀CH4

閱讀心得:
發覺到在轉換的過程中,要極度的重視,資料再轉換的時候,型態的變換會直接的影響到值,如果此時改變的型態,在改變型態之前是超出改變之後的範圍的話,那道時印出來的圖片會呈現的很奇怪。
利用一指定像素周圍的灰階值,可以間接性的改變指定像素的灰階值。

這分別是+128 , -128之後的圖片





背景圖片有一堆數字是在我輸入
b1=b+128她並沒有如課本那樣出現錯誤訊息...
只是列出一大堆的數字,搞不懂為何會這樣子?






然而在做直方圖的時候也出現一個瓶頸



當我打完imshow(p) , figure , imhist(p),axis tight時,他就出現了

??? Function IMHIST expected its first input, I or X, to be two-dimensional.

Error in ==> imhist>parse_inputs at 192
iptcheckinput(a, {'double','uint8','logical','uint16','int16','single'}, ...

Error in ==> imhist at 57
[a, n, isScaled, top, map] = parse_inputs(varargin{:});

↑↑↑上面的問題 我有確認過圖片的屬性,它上面型態是uint8 應該是有符合前面那一行,跟後面那一行就不懂了...?

上面就是兩個我提出的問題

week7 ch4

CH4的內容又重頭再給它看一次,並重新操作一次,然後用別的圖試試看,沒想到狀況出現了,一開始的加減128成功顯示,只是我的圖片很噁心….






就這樣…..

我進一步繼續下去,直到…….

直方圖,我還真的不太懂,他跑出

>> imshow(p),figure,imhist(p),axis tight

??? Function IMHIST expected its first input, I or X, to be two-dimensional.

Error in ==> imhist>parse_inputs at 192

iptcheckinput(a, {'double','uint8','logical','uint16','int16','single'}, ...

Error in ==> imhist at 57

[a, n, isScaled, top, map] = parse_inputs(varargin{:});

還有一個空的Figure視窗,什麼都沒有了。

不懂他的意思,卡關囉!還有待解決,上禮拜的圖跟程式忘了保留,沒辦法比對了,只好在重頭開始。

WEEK7_再讀CH4




















1.在嘗試Gamma值的時候 感覺不太出來,他所要代表的意思!?
只覺得一個原圖和一張imadjust的處理只覺得圖片變亮 = =
(在嘗試PLOT的程式時INPUT的時候格是要是'uint8')

2.我在執行imdivide的時候沒有問題但是要執行imhist的時候就會出現ERRO
?? Function IMHIST expected its first input, I or X, to be two-dimensional.......
對於直方圖等化看圖可以知道圖片的變化P.81但是還不太能知道為什麼等化完圖片有所變化

3.是否可以用 LUT的方法做出片段擴展的函數!?


這一張教了很多指令,所以自己操作起來還不錯
操作過一次比看課本的圖更有印象,透過我們下的指令
來改變圖片的點,產生我們所需要的效果。
HISTOGRAMS對於影像方面是很重要的,任何一張圖片都可以透過HISTOGRAM
來了解這張圖片,對於LUT還不是很懂希望經過討論以後可以更加的了解。