期中:49分
W11--- 30
W12--- 85
W13--- 73.33
期末平均:63分
總分10分~
我給自己10分~
或許大家都覺得這樣臉皮好厚~
(會不會有人在心裡大罵不要臉押=口=)
可是~
我覺得這一整個學期下來收穫很多~
尤其是跟大二的互動媒體概論一起修~
感覺更明顯~
因為這IPC在講的是概念~
而DMC卻是很基礎很基礎的實作~
由這兩堂課~
更是讓我深深的體會~
BCB跟MATLAB的差異~
明明就只是簡單的偵測滑鼠面前所在的座標位子....
MATLAB 只要加一句 pixval on就好了~
可是BCB卻是複雜的手續~
從image的屬性裡做調整~
還要作屬性的更改~
才能顯示滑鼠的座標位子~
但是兩門課一起修....
真的是有重疊的部分~!!
當BCB期末專案小卡的時候~
就剛好可以參考IPC現在在做的東西~
試著用BCB寫出來~
寫出來的感覺很棒~^^
不過如果...
互動的分數可以借一點到影像處理來...
會更好~囧興
2008年12月19日 星期五
CH6
前言
主要是在解釋Image Geometry(圖像幾何學)的意思....
簡單來說~
所謂的Image Geometry就是圖片的變形~
課本上舉的例子是affine transformations(仿射轉換)...
二維實數系對應到二維實數系的線性轉換....
在我的理解下~
我覺得應該是比較偏向鏡射的感覺~
不知道有沒有理解錯誤...
6.1
Interpolation(添寫、插補) of Data
主要目的~
當圖片放大時~
點多出來的點~
要如何處理....
Figure6.1在解釋nearest-neighbor interpolation(近臨內插法)~
就是在原本的點中間~
再插上相近的點....
有點像在兩個有色的點中間~
在補上幾個顏色"相同"的點~
用意在於讓圖可以放的更大....
但會出現馬賽克的效過(ex:圖6.9的a)~
而Figure6.1....
將原本為4個點增加成8個點~
而長度不變...
設原間距為1
則總長為3
而增點後的間距為3/7
故原X跟X'的關係式為:
X'=1/3(7x-4)
X =1/7(3x'+4)
linear interpolation(線性插值法)
做法如圖6.4...
先將原本的點顏色填上去連線後~
再把後來補上去的點...
放在連出來的線上~
意義就是....
補上去的點的值~
會用漸進色的方式被補上去~
好處當然就是不會變成一個相同顏色的色塊....
而造成類似馬賽克的效果~
用linear interpolation畫質會比nearest-neighbor interpolation來的清晰很多~
6.2
bilinear(雙線性) interpolation
用兩個變數來做interpolation...
使image有縮放的效果....
後半段有程式....
稍微做了一下...
>> c=imread('cameraman.tif');
>> head=c(33:96,90:153); //取左上座標(33,96)到右下座標(90,153)中間的範圍
>> imshow(head)
>> head4n=imresize(head,4,'nearest');imshow(head4n)//把head放大4倍並用nearest-neighbor interpolation(近鄰補插法)做處裡
>> head4b=imresize(head,4,'bilinear');imshow(head4b)//把head放大4倍並用bilinear(雙線性) interpolation 做處裡
左邊head4n(nearest-neighbor interpolation);中間原圖(head);右邊head4b(bilinear interpolation )

圖縮小之後比較看不出來左右的差異~
歡迎點進去看!!
這次的主要程式...
imresize(被處裡的原圖檔名,放大倍數,'要用哪種補插法')
整個就是很好理解~
6.3
Cubic(立方) interpolation:在三維的空間內使用內插法來計算值~
Bicubic interpolation:圖做出來的感覺明顯的馬賽克效果被去掉了,但較為模糊...

↑Bicubic interpolation處裡的效果
顏色較bilinear來的黯沉...
6.4
Zero-interleaving
在矩陣插上0~
讓整張影像變大~
但是會插上黑點...
造成有點 陣點的效果....
6.5
我閱讀的速度還是好慢~"~
只唸到6.3~QQ
不過第6章似乎有比第5章好理解~
主要是在解釋Image Geometry(圖像幾何學)的意思....
簡單來說~
所謂的Image Geometry就是圖片的變形~
課本上舉的例子是affine transformations(仿射轉換)...
二維實數系對應到二維實數系的線性轉換....
在我的理解下~
我覺得應該是比較偏向鏡射的感覺~
不知道有沒有理解錯誤...
6.1
Interpolation(添寫、插補) of Data
主要目的~
當圖片放大時~
點多出來的點~
要如何處理....
Figure6.1在解釋nearest-neighbor interpolation(近臨內插法)~
就是在原本的點中間~
再插上相近的點....
有點像在兩個有色的點中間~
在補上幾個顏色"相同"的點~
用意在於讓圖可以放的更大....
但會出現馬賽克的效過(ex:圖6.9的a)~
而Figure6.1....
將原本為4個點增加成8個點~
而長度不變...
設原間距為1
則總長為3
而增點後的間距為3/7
故原X跟X'的關係式為:
X'=1/3(7x-4)
X =1/7(3x'+4)
linear interpolation(線性插值法)
做法如圖6.4...
先將原本的點顏色填上去連線後~
再把後來補上去的點...
放在連出來的線上~
意義就是....
補上去的點的值~
會用漸進色的方式被補上去~
好處當然就是不會變成一個相同顏色的色塊....
而造成類似馬賽克的效果~
用linear interpolation畫質會比nearest-neighbor interpolation來的清晰很多~
6.2
bilinear(雙線性) interpolation
用兩個變數來做interpolation...
使image有縮放的效果....
後半段有程式....
稍微做了一下...
>> c=imread('cameraman.tif');
>> head=c(33:96,90:153); //取左上座標(33,96)到右下座標(90,153)中間的範圍
>> imshow(head)
>> head4n=imresize(head,4,'nearest');imshow(head4n)//把head放大4倍並用nearest-neighbor interpolation(近鄰補插法)做處裡
>> head4b=imresize(head,4,'bilinear');imshow(head4b)//把head放大4倍並用bilinear(雙線性) interpolation 做處裡
左邊head4n(nearest-neighbor interpolation);中間原圖(head);右邊head4b(bilinear interpolation )
圖縮小之後比較看不出來左右的差異~
歡迎點進去看!!
這次的主要程式...
imresize(被處裡的原圖檔名,放大倍數,'要用哪種補插法')
整個就是很好理解~
6.3
Cubic(立方) interpolation:在三維的空間內使用內插法來計算值~
Bicubic interpolation:圖做出來的感覺明顯的馬賽克效果被去掉了,但較為模糊...
↑Bicubic interpolation處裡的效果
顏色較bilinear來的黯沉...
6.4
Zero-interleaving
在矩陣插上0~
讓整張影像變大~
但是會插上黑點...
造成有點 陣點的效果....
6.5
我閱讀的速度還是好慢~"~
只唸到6.3~QQ
不過第6章似乎有比第5章好理解~
2008年12月4日 星期四
CH5
Neighborhood Processing
第四章講解的是針對"點"的處裡~
而第五章則是真把範圍擴大到連鄰近的點~
都一起處裡的區塊處裡!!
以某一點為圓心...
像外擴張的同心圓處裡
5.1
濾波(fliter)結合了mask & function~
當那個方程式為線性方程式時~
則濾波稱為linear fliter (線性濾波)....
Spatial filtering(空間濾波器 ) 三步驟:
1.將mask放在current pixel上
2.所有filter的乘積值符合neighborhood
3.所有的值相加
旋積(Convolution)定理
>> x=uint8(10*magic(5))
magic(5)在5*5的矩陣裡填入1~25不重複的數~
然後*10排列~
故得到下面的矩陣~
x =
170 240 10 80 150
230 50 70 140 160
40 60 130 200 220
100 120 190 210 30
110 180 250 20 90
>> mean2(x(1:3,1:3))
mean2取平均值~
怎取?
x(1:3,1:3)
表 取矩陣X的...
從第一~三列跟第一~三欄的值
相加平均後得到的答案就是...
ans =
111.1111
5.2
主要是在敘述~
當Mask超過圖片範圍時會產生陰影~(WHY?)
要處裡要陰影而所採取的兩個方法....
忽略邊緣(Ignore the edges) & 補零 (Pad with zeros)...
Ignore the edges缺點是....
重新計算過後的圖~
會比原本的圖來的小~
主要的原因是因為...
他捨去的周圍的遮罩沒有完全遮住的部份~
故...處裡之後的圖片當然會變小~!!
而Pad with zeros彌補了這項缺點(跟原圖一樣大)~
但是邊緣的部份會出現邊線~
因為遮罩遮住而沒有值的部份...
他會自動補上0...
而0是黑色...
所以在圖片的四周~
會出現黑框!!
5.3
filter2(filter,image,'same')←Pad with zeros的手法
filter2(filter,image,'valid')←Ignore the edges的手法
那filter2(filter,image,'full') 為什麼會比原圖還要大!?
他的值是怎樣增加的!?
fspecial:
fspecial('average',[5,7]) →代表filter的大小是5*7
如果...
filter的大小是一個正方形的話~
不是寫fspecial('average',[11,11])....
而是寫fspecial('average',11)....WHY(?)
只是語法的問題嗎!?
只打fspecial('average')的話~
filter的大小是3*3 ← 預設大小嗎!?
除以255的原因是因為~
filter大小為2*30

第四章講解的是針對"點"的處裡~
而第五章則是真把範圍擴大到連鄰近的點~
都一起處裡的區塊處裡!!
以某一點為圓心...
像外擴張的同心圓處裡
5.1
濾波(fliter)結合了mask & function~
當那個方程式為線性方程式時~
則濾波稱為linear fliter (線性濾波)....
Spatial filtering(空間濾波器 ) 三步驟:
1.將mask放在current pixel上
2.所有filter的乘積值符合neighborhood
3.所有的值相加
旋積(Convolution)定理
>> x=uint8(10*magic(5))
magic(5)在5*5的矩陣裡填入1~25不重複的數~
然後*10排列~
故得到下面的矩陣~
x =
170 240 10 80 150
230 50 70 140 160
40 60 130 200 220
100 120 190 210 30
110 180 250 20 90
>> mean2(x(1:3,1:3))
mean2取平均值~
怎取?
x(1:3,1:3)
表 取矩陣X的...
從第一~三列跟第一~三欄的值
相加平均後得到的答案就是...
ans =
111.1111
5.2
主要是在敘述~
當Mask超過圖片範圍時會產生陰影~(WHY?)
要處裡要陰影而所採取的兩個方法....
忽略邊緣(Ignore the edges) & 補零 (Pad with zeros)...
Ignore the edges缺點是....
重新計算過後的圖~
會比原本的圖來的小~
主要的原因是因為...
他捨去的周圍的遮罩沒有完全遮住的部份~
故...處裡之後的圖片當然會變小~!!
而Pad with zeros彌補了這項缺點(跟原圖一樣大)~
但是邊緣的部份會出現邊線~
因為遮罩遮住而沒有值的部份...
他會自動補上0...
而0是黑色...
所以在圖片的四周~
會出現黑框!!
5.3
filter2(filter,image,'same')←Pad with zeros的手法
filter2(filter,image,'valid')←Ignore the edges的手法
那filter2(filter,image,'full') 為什麼會比原圖還要大!?
他的值是怎樣增加的!?
fspecial:
fspecial('average',[5,7]) →代表filter的大小是5*7
如果...
filter的大小是一個正方形的話~
不是寫fspecial('average',[11,11])....
而是寫fspecial('average',11)....WHY(?)
只是語法的問題嗎!?
只打fspecial('average')的話~
filter的大小是3*3 ← 預設大小嗎!?
>> c=imread('cameraman.tif'); //讀入圖片
>> f1=fspecial('average'); //設定遮罩大小
>> cf1=filter2(f1,c); // 選擇邊緣處裡的方法
>> figure,imshow(c),figure,imshow(cf1/255) //show原圖跟處裡過後的圖
除以255的原因是因為~
cf1的陣列為浮點數故除以255~
(其實還是不懂為什麼 ~"~)
原圖
可是這都為正方形的filter...
想試試看長方形的filter...
處裡起來會怎樣~
filter大小為2*30
結論是~
正方形的filter是均勻的模糊~
長方形的filter糢糊的感覺~比較偏向動態模糊!!
5.4
frequencies: 測量因距離改變的灰階值。
High-frequency components(高頻率) :短距離裡色差有很大(通常是邊緣部份)
Low -frequency components(低頻率) :影像中色差變化不大(通常非邊緣部份)
High-pass Filter(高通量濾波) :留下高頻率部分
Low-pass Filter(低通量濾波) :留下低頻率部分
這個部份讓我想到....
之前DMC有請一位教授來演講~
他就有提到...
將圖片高頻跟低頻的部份~
各自先慮出來~
在分別壓縮...
可以使圖片的壓縮品質達到更好...
而且壓縮的倍率也可以提高很多!!
這應該就是High-pass Filter跟Low-pass Filter的功能吧!?
5.5
這一部分老師上課有略微提到~
高斯濾波器的特色就是....
自己的色彩抓的比較重~
而周圍的色彩抓的比較淡~
所以處裡出來的效果....
就會是周圍漸漸模糊~
而中心的色彩會較不模糊~!!
2008年11月27日 星期四
2008年11月14日 星期五
作業
4.1 Introduction
Transforms、Neighborhood processing、Point operations
1. Transforms: P.65課本下面也有圖解釋
2. Neighborhood processing(鄰域處理)
3. Point operations:類似鄰域處理,但影像的灰階值運算似乎是獨立的
4.2
imadd(x,y)對圖像作加法運算
imsubtract(x,y)對圖做減法運算
imdivide(x,y)對圖做除法運算
immultiply(x,y)對圖做乘法運算
2008年10月31日 星期五
2008年10月24日 星期五
2008年10月17日 星期五
2008年10月2日 星期四
week 3
為什麼要做影像的處裡?
這在P1的最後兩行有了解答。
1. Improve its pictorial information for human interpretation
(利用工具 去詮釋畫的意境讓人們了解)
2.Render it more suitable for autonomous machine perception
(讓電腦更容易去判別圖片)

右圖就用了P2所說的 Image sharpening處裡...
這就是所謂的給人看的~
因為感覺上整個清晰很多了!!
也比較看的懂了~


那為何這組的右圖會比左圖還無法用肉眼判別是什麼呢!?
因為它這樣處裡過後是為了讓電腦更容易去判別...
太過細緻反而會造成電腦的負擔!!
問題唷!?
說真的很大...
那就是我的閱讀速度還太慢了~
這是我自己的問題.....
希望過幾週之後閱讀的速度會變快!!
這在P1的最後兩行有了解答。
1. Improve its pictorial information for human interpretation
(利用工具 去詮釋畫的意境讓人們了解)
2.Render it more suitable for autonomous machine perception
(讓電腦更容易去判別圖片)

右圖就用了P2所說的 Image sharpening處裡...
這就是所謂的給人看的~
因為感覺上整個清晰很多了!!
也比較看的懂了~


那為何這組的右圖會比左圖還無法用肉眼判別是什麼呢!?
因為它這樣處裡過後是為了讓電腦更容易去判別...
太過細緻反而會造成電腦的負擔!!
問題唷!?
說真的很大...
那就是我的閱讀速度還太慢了~
這是我自己的問題.....
希望過幾週之後閱讀的速度會變快!!
訂閱:
文章 (Atom)