2008年10月23日 星期四

第三章

一開始介紹了三個指令,truesize, axis off, color map(gray(247))。
Truesize:讓一個像顯示一個矩陣元素
Axis off(on):關(開)座標軸的標示
color map(gray(247)):調整影像色譜,只可使用灰階色。
一樣按照課本輸入了程式:
>> c=imread('flower.jpg');
>> image(c)
>> image(c),truesize,axis off,colormap(gray(247))
試了512,1024,課本說會比較暗一點,但我怎都沒反應,也沒出現error。
最後我把圖的格式從JPG改成256色點陣圖(bmp),圖像有明顯變暗了,試了其他,像TIFF格式也是不行。
還是課本說的只可使用灰階色,是指uint8只可接受bmp格式範圍嗎?
如果是,那課本範例為什麼是用TIFF格式讀圖?還是有其他原因?





<=colormap(gray(247))







<=colormap(gray(512))

3-4 一堆指令完全看不懂在做什麼,從課本的圖C0~C7影像似乎是越來越清楚,也越來越深。我只知道(cd/n),n越大代表此圖像越深邃,越接近黑色。我自己寫了一遍, 完全按照課本程式打。但結果和課本不一樣,從C0~C7並沒有越來越清晰,而是模糊->清晰->模糊->清晰。

3-5 主要在講圖的畫素轉換
>> c=imread('flower.bmp');
>> c=imresize(x,1/n);
>>x1=imresize(c,n); >> imshow(x1);




<=2*2影像



<=8*8影像


N決定圖的清晰度,n越大則越模糊。

3-6 主要是在講量化,量化指的是影像的灰階數目,大部分都是用在256灰階上,一樣我也按照課本打了一遍。
>> i=imread('flower.bmp');
>> imshow(i)
>> f=floor(double(i)/64);
>> g=uint8(f*64);
>> imshow(g)
後來課本又用縮短法(將f=floor(double(i)/64)和g=uint8(f*64)合併成一行程式)
>> i=imread('flower.bmp');
>> g=uint8(floor(double(i)/64)*64);
>> imshow(g)
之後課本又講到減少灰階數目的更好方法,就是grayslice(x,4)
>> i=imread('flower.bmp');
>> imshow(grayslice(i,128),gray(128));


打完這2種方法之後,第一個方法確實和課本一樣,N大代表灰階數越少,則影像越暗。但我用grayslice(x,4)這個方法,課本說N大代表灰階數越大,應該比較亮,但我的結果是剛好顛倒。Why?
下面是我使用grayslice(x,4)方法結果:








(左)灰階數128 (右)灰階數2
再後面的內容真的就不懂了,似乎是把原圖某一部分取樣本做量化吧!!

因為看了課本的圖比較一下,某部分沒有雜訊。

沒有留言:

張貼留言