顯示具有 95363026 陳泓道 標籤的文章。 顯示所有文章
顯示具有 95363026 陳泓道 標籤的文章。 顯示所有文章

2008年12月25日 星期四

期末回顧

一下子又到了期末
這是第二次修老師的課
但是和修多媒體比起來
這次算是用功多了
不敢說是百分之百的努力
但每個星期至少都有在讀老師規定的幾個章節
不過畢竟是原文書
就算看完了還是不懂
非得經過老師的講解
或是上網找資料
才稍微的了解
可是部落格上的分數就不怎麼好看了

期中平均:67.2分
期末平均:60分
至於自評的部分
我給自己8分~我需要分數阿~~
希望這學期能夠安然的度過>"<

2008年12月19日 星期五

第六章心得

6.1
Interpolation of Data(資料添寫或插補)
Interpolation(內插法):是利用相鄰四點的像素值,依照已知的非整數座標相鄰距離的遠近,根據比例求得取樣值。也就是接近哪個點就像那個點。距離近的取樣比例大,距離遠的取樣比例小。

Nearest-neighbor interpolation(鄰近點內插法):將附近已知的像素利用微分來推測出值。

Iinear interpolation(線性內插法):在二個已知數據點間畫一條直線,新的數據點就位於這條直線上,具體位置要根據其值與二個端點之一的接近程度確定。

6.2
Image Interpolation(影像添寫或插補)
Bilinear interpolation(雙線性內插法):以一維線性內插法求得點的位置,再以同樣的一維線性內插法求得點位置,這種考慮到二維的情形,用了兩次線性內插,就稱為雙線性內插。

從課本figure 6.9就可以看出鄰近點內插法和雙線性內插法的差別,鄰近點內插法會造成鋸齒狀的效果,雙線性內插法則是比較平緩。 
  
6.3
General InterpolationCubic
Interpolation(立方內插法):在三維的矩陣內用線性內插法來計算值線性,和內插法是一樣的原理。

Bicubic interpolation(雙立方體插值法):雙線性內插的延伸,從二維進階到三維來做。

課本一開始希望插補x'在x1和x2之間(x1≤x'≤x2),並假設x'-x1=λ。
然後定義一個interpolation function R(u)
且 f(x')=R(-λ)f(x1)+R(1-λ)f(x2)。 課本在此舉出:
R0(u):nearest-neighbor interpolation
R1(u):bilinear interpolation
R3(u):cubic interpolation
三種不同的R(u)函數當例子。

6.4
Enlargement by Spatial Filtering:藉由空間濾波器來放大影像。
linear filtering:線性濾波器,先是是對某矩陣做zero-interleave(零交錯),再進行過濾(filtering)。

6.5
Scaling Smaller
圖片抽樣:圖就是一個圓的抽樣點。
Image minimization:影像最小化。
Subsampling是把兩個點中間畫素移除的一種方法;但對高頻的部分效果不佳。

6.6
Rotation
利用矩陣旋轉圖形的公式可知旋轉後的點為何:
逆時針旋轉
[x']=[cosθ -sinθ][x]
[y'] [sinθ cosθ][y]
如果θ是直角,以下也可成立
[x]=[cosθ sinθ][x']
[y] [-sinθ cosθ][y']

在MATLAB中可使用imrotate(image,angle,'method');指令來旋轉影像
其中method表示nearest、bilinear或bicubic       
angle是指定的旋轉角度

ipud可以顛倒(使相反)行跟列
iplr讓影像上下相反
flipud(c'); - 旋轉90°  
fliplr(flipud(c)); - 旋轉180°        
fliplr(c'); - 旋轉 270°

6.7
Anamorphosis 失真圖像(歪像)
課本中有提到在16、17世紀時候的畫家很流行使用這種技術。
並以 德國畫家:小漢斯·荷爾拜因 在1533年所畫的《大使們》為例子。

在MATLAB中的指令為rgb2gray(),指定範圍:skull= a(566:743,157:586);

消除這種歪斜效果的指令:
skull2=imresize(imrotate(skull,-22,'bicubic'),[500,150],'bicubic');

2008年12月4日 星期四

第五章心得

5.1
Neighborhood Processing,鄰域處理,主要的概念便是將遮罩〈Mask〉覆蓋到指定影像上面,用像素相對的鄰域部分來修正像素,不是只針對某一點。
Filter〈濾波器〉是遮罩與函數的結合。
linear filter〈線性濾波器〉是指對遮罩下的灰階值進行線性函數的運算,其運算過程是將Mask中所有元素,與相對應的像素做相乘之後在相加。

Spatial filtering〈空間濾波〉有三運算步驟:
1.將Mask置於指定像素上
2.將所有濾波器元素的結果與相對應的像素做相乘
3.把上述所有的結果相加

5.2
大概在講圖像邊緣的處理
Ignore the edges 忽略邊界,只在mask裡作運算,但輸出的像素會小於原始圖。
Pad with zeros將超出範圍部分的值都輸入為零,結果出來的圖會與和原始圖一樣大。

5.3
要用Matlab實際操作。
filter2(filter,image,shape)
filter2(filter,image,'same')
filter2(filter,image,'valid')
filter2(filter,image,'valid')

filter:遮罩的範圍大小
image:原圖像檔的矩陣
same:邊緣補零
valid:只處理不含邊緣的(忽略邊界)

5.4
Frequencies:Low - and High - Pass Filters
Low -Pass Filters〈高通量濾波器〉:
指容許高頻信號通過, 但減弱(或減少)頻率低於截止頻率的信號通過。
High - Pass Filters〈低通量濾波器〉:
指容許低頻信號通過, 但減弱(或減少)頻率高於截止頻率的信號通過。

5.5
Gaussion Filters〈高斯濾波器〉

5.6
Edge Sharpening〈邊緣銳利化〉
Edge Enhancement:邊緣加強
Edge Crispening:邊緣清晰
Unsharp Masking:去銳利化遮罩

5.7
Nonlinear Filters〈非線性濾波器〉

2008年11月28日 星期五

期中回顧

A B C
0 0 11==>30
5 5 1 ==>83.33
11 5 0 ==>92.5
2 9 4 ==>63.8

平均=67.4

時間過得很快
一轉眼期中考已經考完
再過沒多久就要期末了
然而看看自己對這門課的學習成效
好像是每況愈下
當初的那份熱情到哪了呢?
說好的要努力
卻隨著時間慢慢忘記...
上課出席狀況也頗糟糕的
自從一次睡過頭後
缺席的次數就越來越頻繁
對於課程內容的吸收當然不好
功課也有幾次沒按時繳交
雖然每次的作業成績都差強人意
但至少自己有親自做
所以能持之以恆也是自己一直在意的...
認真的同學
從blog的發表情況就可以看出
到底有沒有下功夫
說到後來
最重要的還是"態度"
對任何事都一樣
再過沒幾週這學期就要結束了
好好努力想想自己要的是什麼吧!

2008年10月30日 星期四

CH1~CH3

不知不覺已經學了三個章節

讀原文書真不是一般的輕鬆

不懂的單字一大堆

就算查了意思又不一定適合套用在這兒...

不過讀了那麼多

真的比不上自己一次的親身力行

老師的導讀

加上不懂可以上部落格看看同學的學習歷程

這樣的學習效果真的是事半功倍耶

有時候還看到不少出現和自己一樣錯誤的

哈哈~原來大家都是一樣的

都是不斷的嚐試錯誤

再從錯誤中作調整

這樣印象深刻的答案

還真的很難再錯第二次



都已經期中了

對這門科目不再像第一次接觸她時

這麼陌生與排斥

倒是覺得越來越有興趣

如果可以讓興趣與學習的衝突減少

真的可以學的既輕鬆又快樂


哈哈~持續加油~也預祝大家期中考順利~

2008年10月24日 星期五

第三章心得

這個指令讓圖片變得更亮了
右邊的則是把變數除以128的結果
>>c=imread('123.jpg');
>>cd=double(c);
>>imshow(c),figure,imshow(cd)
>>imshow(cd/128)

利用mod()函式

讓影像看起來像是收不到訊號一樣

當除以的位元越小時(powers of 2)

成效越明顯

不過要一行一行顯示

有點麻煩~

有比較聰明的函式可以一次顯示它嗎

>>c=imread('123.jpg');
>>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);
>>figure,imshow(c1)
>>figure,imshow(c2)
>>figure,imshow(c3)
>>figure,imshow(c4)
>>figure,imshow(c5)
>>figure,imshow(c6)
>>figure,imshow(c7)



使用imresize()函式

讓圖片變得模糊,可以有馬賽克的效果

>>w=imresize(imresize(c,1/32),32);
>>figure,imshow(w)

把圖量化??不懂><

但還是照打了...

>>q=uint8(floor(double(c)/128)*128);
>>figure,imshow(q)


這個剛上一個不是差不多嗎= =

不知道它的功用是在幹嘛?
figure,r=imshow(grayslice(c,64),gray(64));

有少數幾個範例都出現錯誤

其中有一個是這樣子的

??? Error using ==> imuitools\private\imageDisplayParseInputs>validateCData at 253 If input is logical (binary), it must be two-dimensional.
Error in ==> imuitools\private\imageDisplayParseInputs at 201common_args.CData = validateCData(common_args.CData,image_type);
Error in ==> imshow at 168 [common_args,specific_args] = ...

不懂它是在講蝦米~

2008年10月16日 星期四

第二章心得

2.1
灰階影像
利用imread()函式讀擋,figure開啟一個視窗放置圖檔物件(包括圖像及各種的圖表), imshow()顯示圖像,pixval on則是打開圖片的像素數值。

2.2
彩色影像
利用三維矩陣來儲存R、G、B三原色的資料
(0,0,0)代表黑色 (1,0,0)代表紅色 (0,1,0)代表綠色 (0,0,1)代表藍色
(1,1,0)代表黃色 (0,1,1)代表綠色 (1,0,1)代表品紅色 (1,1,1)代表白色
size()顯示圖片的矩陣大小 impixel()傳回圖片RGB的數值

2.3
Indexed Color Images
老實說不知道這一節的重點在講什麼,只知道可以利用imfinfo(),得知非常詳細的圖片資訊。

2.4
資料型態與轉換
Data types(資料型態) in Matlab分為int8,uint8,int16,uint16,double。這也是最常見的。
Converting images(轉換圖檔) in Matlab分為ind2gray,gray2ind,rgb2gray,gray2rgb,rgb2ind,ind2rgb。
2.5
影像檔案和格式
除了在第一章有提到,圖片被分為四種不同的格式:
1.Binary
2.Grayscale
3.True color or red-green-blue
4.Indexed
而儲存影像的格式它介紹了JPEG,TIFF,GIF,BMP,PNG,HDF,PCX,XWD,ICO,CUR
並對幾個格式作簡單的描述,例如BMP,GIF,PNG,JPEG和TIFF。

DICOM (Digital Imaging and Communications in Medicine)醫療數位影像傳輸協定,是一組通用的標準協定。
LZW (Lempel-Ziv-Welch)是一種通用無損數據壓縮演算法。
DCT (Discrete Cosine Transform)離散餘弦變換,是與傅立葉變換相關的一種變換。

2008年9月19日 星期五

MATLAB初體驗

聽到老師說Matlab比C++簡單許多,它似乎跟數學也有很大的關係,頓時還不太敢相信,經過老師和學姊的講解後 ,是有對Matlab更具一點信心,因為它可以把C原本所要寫的一大堆程式,精簡成 幾行簡單的指令,對我這個程設還在重修中的人來說,確實是一大福音!不過這是不是也代表著必須要花更多心力在那些指令上!希望這將是一個好的開始,今後都能跟得上老師的進度,不再打混摸魚,並在學習中找到興趣,這樣才是長久之計阿。