※Chapter 4 閱讀與實作心得與提問
4.1 Introduction
關於影像處理的運算,大約可以分成三種類型
1.Transforms.(轉換)
Figure 4.1 show了圖片處理的四個步驟:
Image→Transformed image→Processed transformed image
→Processed original image
2.Neighborhood processing(鄰近範圍的處理)
改變一張灰階圖片的Level,需要參照其他Pixel的Level。
3.Point operations.(點的運算)
特定的Pixel改變時,不影響其他的Pixels。
4.2 Arithmetic Operations(算術運算)
令整張圖片當作一個f(x)函數,使用數學上的運算處理。
Figure 4.2,左圖是將所有的Pixels都增加128..
如此一來,value高於128的會在相加後超過255。 (右圖則是減去128)
此外,稍稍的提到了immultiply(乘)與imdivide(除) function
COMPLEMENTS
課本上提到了bc=imcomplement(b);
bc是b這張圖片(矩陣)的補數
show出來的圖片會有solarization(曝曬作用)的效果 //<-Question!!
4.3 Histograms
一個灰階的圖片,統計gray level後可以將每個level所擁有的值繪致成一張長條圖(Histogram)。而關於這個長條圖(Histogram)擁有以下幾點特點:
˙在顏色深一點的圖片,gray level大多分布聚集在較低的level中
˙在顏色亮一點的圖片,gray level大多分布聚集在較高的level中
˙在對比良好的圖片中,gray level會平均分布在全部level中
4.3.1 Page74~75
關於plot(t,th,'.'),axis tight
我試著打出plot(t,t,'.'), plot(th,th,'.'), plot(th,t,'.')
當變數相等時,由點構成 y=x 的線
→plot(x,y) 由x值範圍當x軸,y值範圍當y軸
而關於imadjust(t,[],[],0.5); //0.5即gamma value
我試過imadjust(t,[0~1 0~1],[])
雖然有看出圖片的不同,但想不出該如何解釋現象//Question!!
4.3.2 Histogram Equalization(均化作用)
說到Histogram的均化,大概可以分成兩種:
1.讓每個bar都有一樣的高度
2.讓每個gray level出現的頻率相同
課本的均化作用似乎偏向於2...
「使Histogram平均分布在255個level中」
Page.78 定義一個n=360,把它分成15層→15/360= 1/24
Figure 4.17原本的level在均化後以Figure4.18呈現
但是...Histogram的bar竟然少一條!! //Question!!!
4.4 Lookup Tables(查表法)
Page.83的Commands是在實現 Figure 4.23
t1=0.6667*[0:64];
t2=2*[65:160]-128;
t3=0..6632*[161:255]+85.8947;
T=uint8(floor([t1 t2 t3]));
解讀如下:
T是user所建立的一個table
當gray image的pixel value是從
0~64時,對照 t1的算式→new value
65~160,對照t2的算式→new value
161~255,對照t3的算式→new value
※問題區(將上述問題特別整理出來)
1.COMPLEMENTS
使用imcomplement指令,會產生元圖片的補數
而補數show成一張image時會有曝曬作用的效果
(以上我根據課本內容所做出來的解讀)
→照片的負片是否與這個作用有關?(關於舊式底片的問題)
→所謂的曝曬作用,是指圖片嚴重曝光嗎?
2.imadjust 我試過imadjust(t,[0~1 0~1],[])
雖然有看出圖片的不同,但想不出該如何解釋現象
3.Histogram Equalization
Page.78 定義一個n=360,把它分成15層→15/360= 1/24
Figure 4.17原本的level在均化後以Figure4.18呈現
但是...Histogram的bar竟然少一條!!
我反覆推算,還是想不出那條bar到底落到哪區
以上是我重新閱讀與思索第四章後的心得筆記問題
有部分與上週產生的問題重複,有部分已經解決....
2007年10月31日 星期三
2007年10月19日 星期五
Week5 Homework5
[Notes]
※4.1 Introduction
Image-processing operations may be divided into three classes based on the information required to perform the transformation.
1.Transforms.
2.Neighborhood processing.
3.Point operation.
※4.2 Arithmetic Operations
※4.3 Histograms
→imshow(p),figure,imhist(p),axis tight
├4.3.1 Histogram Stretching
│ gamma value(?)
└4.3.2 Histogram Equalization
qualization
※4.4 Lookup Tables
Questions:
1.LUT(?)
※4.1 Introduction
Image-processing operations may be divided into three classes based on the information required to perform the transformation.
1.Transforms.
2.Neighborhood processing.
3.Point operation.
※4.2 Arithmetic Operations
※4.3 Histograms
→imshow(p),figure,imhist(p),axis tight
├4.3.1 Histogram Stretching
│ gamma value(?)
└4.3.2 Histogram Equalization
qualization
※4.4 Lookup Tables
Questions:
1.LUT(?)
2007年10月17日 星期三
Week4 Homework4
閱讀3.6 Quantization and Dithering
[Notes]
uint8(floor(double(x)/2)*2)...etc
imshow(grayslice(x,128),gray(128)) <=分成幾層灰階的色階 Dither 的中文解釋(?) Questions: 1.Dithering Dither: a.[to be unable to make a decision about doing something] verb b.[be in a dither about sth to be very nervous, excited or confused about something] noun 不知道在IPC中,Dither該如何翻譯 2.承上 Page.56~57 關於矩陣D=[ 0 128; 192 64 ]那方面,我的解讀是將圖片切割成N個以2*2為一個blog做單位,逐一與D比較,會因為資料數據而簡單將區塊劃分為「Dark gray」、「Midgray」、「Light gray」如同Figure 3.13的顯示。而我發現Figure 3.14並不是完全的純黑白數據而已,於是翻看Page.57程式碼部分,由於x2=x>r ,imshow(x2) 所產生的Figure 3.14仍有色差,這點很不能理解。
3.承一,希望更詳細理解Dithering的意義,有點不能理解Page.61圖片參雜著雜訊點的意義。
[Notes]
uint8(floor(double(x)/2)*2)...etc
imshow(grayslice(x,128),gray(128)) <=分成幾層灰階的色階 Dither 的中文解釋(?) Questions: 1.Dithering Dither: a.[to be unable to make a decision about doing something] verb b.[be in a dither about sth to be very nervous, excited or confused about something] noun 不知道在IPC中,Dither該如何翻譯 2.承上 Page.56~57 關於矩陣D=[ 0 128; 192 64 ]那方面,我的解讀是將圖片切割成N個以2*2為一個blog做單位,逐一與D比較,會因為資料數據而簡單將區塊劃分為「Dark gray」、「Midgray」、「Light gray」如同Figure 3.13的顯示。而我發現Figure 3.14並不是完全的純黑白數據而已,於是翻看Page.57程式碼部分,由於x2=x>r ,imshow(x2) 所產生的Figure 3.14仍有色差,這點很不能理解。
3.承一,希望更詳細理解Dithering的意義,有點不能理解Page.61圖片參雜著雜訊點的意義。
2007年10月6日 星期六
Week3 Homework3
簡單的翻閱過一遍...
Notes:
(※章節重點)
3.1 Introduction
This is a consequence of two properties of an images: its spatial resolution and its quantization.
影像是由兩種特性所造成的結果:空間分析與量化
3.2 Basics of Image Display
The same image may be very different when viewed on al dull CRT monitor compared with a bright LCD monitor.
一樣的圖片會因為硬體的差異而產生不同的view
c=imread(‘picture’)’
image(c);
//這種show法,會讓圖片配合螢幕而產生變形
※為了讓圖片正確的Show出來,下面有幾個指令..
1.truesize
2.axis off
3.colormap(gray(247)
3.3 The imshow Function
c=imread(‘picture’);
cd=double(c);
imshow(c). figure, imshow(cd)
//如果c是灰階圖,cd會變成白圖…如果不是…
imshow(cd/255) //不變
imshow(cd/512) //變暗
imshow(cd/128) //變亮
3.4 Bit Planes
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);
//取得每個bit的0,1值,轉換成C++如下:
//簡單敘述,直接複製應該會有bug....=.=
for(i=0;i<ImageHeight ;i++)
for(j=0;j<ImageWidth ;j++)
{
//c0的部分
if(Image[i][j]%2==0)
c0[i][j]=white;
else
c0[i][j]=black;
//c1的部分
if( (Image[i][j]>>1) %2==0 )
c1[i][j]=white;
else
c1[i][j]=black;
//c2的部分
if( (Image[i][j]>>2) %2==0 )
c2[i][j]=white;
else
c2[i][j]=black;
//c3的部分
if( (Image[i][j]>>3) %2==0 )
c3[i][j]=white;
else
c3[i][j]=black;
//....之後的etc...
}
3.5 Spatial Resolution
imresize(x,1/2);
imresize(imresize(x,1/4),4);
//每四個pixels取其中一個代表全部
imresize(imresize(x,1/8),8);
//每八個pixels取其中一個代表全部
imresize(imresize(x,1/16),16);
imresize(imresize(x,1/32),32);
3.6 Quzntization and Dithering
※還沒閱讀完畢
◎Questions
1. 位於3.2 Page.42
※為了讓圖片正確的Show出來,下面有幾個指令..
1.truesize
2.axis off
3.colormap(gray(247)
根據課本的說法以及我的解讀,光用image(c)會讓圖片配合硬體顯示;使用1的指令,可以讓圖片忽略硬體的要素,也就是不管在怎樣的螢幕都會show出一樣的東西;使用3的指令,可以讓灰階色彩按比例分佈於(247)層中;那麼,axis off的指令....所代表的意義是?
2. 位於3.3 Page.44
※The imshow Function
c=imread(‘picture’);
cd=double(c);
imshow(c). figure, imshow(cd)
在我看來,如果c是灰階圖,cd會變成白圖…如果不是(也就是彩色圖片)… 會有一些比較明顯的線條,但是我目前還不清楚那些線條會出現的共通點為何,因為有黑有紅。
3. 位於3.3 Page.45
※承上
imshow(cd/255) //不變
imshow(cd/512) //變暗
imshow(cd/128) //變亮
他作除數的動作,是在表達些什麼呢?灰階圖片的分層數量嗎?
譬如(cd/255) 將灰階分成255層,(cd/128)將灰階分成128層?
還是單純的把cd的值除以255以及除以128那麼簡單而已?
Notes:
(※章節重點)
3.1 Introduction
This is a consequence of two properties of an images: its spatial resolution and its quantization.
影像是由兩種特性所造成的結果:空間分析與量化
3.2 Basics of Image Display
The same image may be very different when viewed on al dull CRT monitor compared with a bright LCD monitor.
一樣的圖片會因為硬體的差異而產生不同的view
c=imread(‘picture’)’
image(c);
//這種show法,會讓圖片配合螢幕而產生變形
※為了讓圖片正確的Show出來,下面有幾個指令..
1.truesize
2.axis off
3.colormap(gray(247)
3.3 The imshow Function
c=imread(‘picture’);
cd=double(c);
imshow(c). figure, imshow(cd)
//如果c是灰階圖,cd會變成白圖…如果不是…
imshow(cd/255) //不變
imshow(cd/512) //變暗
imshow(cd/128) //變亮
3.4 Bit Planes
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);
//取得每個bit的0,1值,轉換成C++如下:
//簡單敘述,直接複製應該會有bug....=.=
for(i=0;i<
for(j=0;j<
{
//c0的部分
if(Image[i][j]%2==0)
c0[i][j]=white;
else
c0[i][j]=black;
//c1的部分
if( (Image[i][j]>>1) %2==0 )
c1[i][j]=white;
else
c1[i][j]=black;
//c2的部分
if( (Image[i][j]>>2) %2==0 )
c2[i][j]=white;
else
c2[i][j]=black;
//c3的部分
if( (Image[i][j]>>3) %2==0 )
c3[i][j]=white;
else
c3[i][j]=black;
//....之後的etc...
}
3.5 Spatial Resolution
imresize(x,1/2);
imresize(imresize(x,1/4),4);
//每四個pixels取其中一個代表全部
imresize(imresize(x,1/8),8);
//每八個pixels取其中一個代表全部
imresize(imresize(x,1/16),16);
imresize(imresize(x,1/32),32);
3.6 Quzntization and Dithering
※還沒閱讀完畢
◎Questions
1. 位於3.2 Page.42
※為了讓圖片正確的Show出來,下面有幾個指令..
1.truesize
2.axis off
3.colormap(gray(247)
根據課本的說法以及我的解讀,光用image(c)會讓圖片配合硬體顯示;使用1的指令,可以讓圖片忽略硬體的要素,也就是不管在怎樣的螢幕都會show出一樣的東西;使用3的指令,可以讓灰階色彩按比例分佈於(247)層中;那麼,axis off的指令....所代表的意義是?
2. 位於3.3 Page.44
※The imshow Function
c=imread(‘picture’);
cd=double(c);
imshow(c). figure, imshow(cd)
在我看來,如果c是灰階圖,cd會變成白圖…如果不是(也就是彩色圖片)… 會有一些比較明顯的線條,但是我目前還不清楚那些線條會出現的共通點為何,因為有黑有紅。
3. 位於3.3 Page.45
※承上
imshow(cd/255) //不變
imshow(cd/512) //變暗
imshow(cd/128) //變亮
他作除數的動作,是在表達些什麼呢?灰階圖片的分層數量嗎?
譬如(cd/255) 將灰階分成255層,(cd/128)將灰階分成128層?
還是單純的把cd的值除以255以及除以128那麼簡單而已?
2007年10月4日 星期四
Week2 Homework2
Notes:
2.1 Grayscale Images
w=imread('');
//讀取一張圖片
Figure, imshow(a),pixval on
//show圖片 可由游標看到該Pixel的座標與顏色值
2.2 RGB Images
impixel(a,200,100)
//看到a,座標(200,100)的pixel值
把每張圖片的座標與RGBvalue等要素綜合起來
可以看到經由一個陣列來儲存所有的value
所有的value都是那張圖片的一個小要素
2.3 Indexed Color Images
└2.3.1 Information about Your Image
imfinfo('picture')
//這邊我Key in了自己的圖片 show出來的圖片訊息與課本不太相似
ans=
Filename: 'D:\picture\msn\雷.jpg'
FileModDate: '19-Sep-2007 23:32:51'
FileSize: 104242
Format: 'jpg'
FormatVersion: ''
Width: 300
Height: 300
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: ''
NumberOfSamples: 3
CodingMethod: 'Huffman'
CodingProcess: 'Sequential'
Comment: {}
//是否有辦法透過指令修改show的information?
2.4 Data Types and Conversions
whos a b
//show a b的資訊
//其他type還有 int8, int16, uint8, uint16
2.5 Image Files and Formats
簡單介紹了常用的、以前出現過的圖片格式
Ex:JPEG,TIFF,GIF,BMP,PNG,HDF,PCX,XWD,ICO,CUR
使用dumphex Function可以把圖片資訊用16進位格式show出
>>dumphex('picture',4)
//表示把picture的data 前四行用16進位show出來
※2.5章還需要詳加閱讀...
心得:
原本想慢慢的每天看一點來做紀錄,結果不知不覺中上課的日子又要來臨了 囧,稍微整理了一下每天做的小筆記,卻覺得很貧弱。嗯,以上都不是重點....Chapter2簡單的介紹了圖片的格式、一些比較常被用到的指令,似乎已經可以用這些指令來做一些簡單的處理了,卻又覺得哪裡不太足夠;或許每學習一個新的程式語言都會有這樣的過渡期吧!(但其實目前學過的程式語言也沒有熟悉到哪裡去啊 囧)
問題:
1.
TIFF:Tagged Image File Format
HDF:Hierarchical Data Format
PCX:Design for MS-DOS-based and Microsoft products.
ICO:display icons in Microsoft Windows.
CUR:mouse cursor in Microsoft systems.
上面的圖片格式,課本有做簡單的介紹,不知道是否能親眼見到一下。
2.
PGM
我在網路上稍微搜尋了一下跟PGM有關的資料,部份資料如下:
A PGM image represents a grayscale graphic image. There are many psueudo-PGM formats in use where everything is as specified herein except for the meaning of individual pixel values. For most purposes, a PGM image can just be thought of an array of arbitrary integers, and all the programs in the world that think they're processing a grayscale image can easily be tricked into processing something else.
他說明了PGM是一個跟灰階圖片有關的影像,之後就.....????
3.問題在上面
2.3.1那邊....
2.1 Grayscale Images
w=imread('');
//讀取一張圖片
Figure, imshow(a),pixval on
//show圖片 可由游標看到該Pixel的座標與顏色值
2.2 RGB Images
impixel(a,200,100)
//看到a,座標(200,100)的pixel值
把每張圖片的座標與RGBvalue等要素綜合起來
可以看到經由一個陣列來儲存所有的value
所有的value都是那張圖片的一個小要素
2.3 Indexed Color Images
└2.3.1 Information about Your Image
imfinfo('picture')
//這邊我Key in了自己的圖片 show出來的圖片訊息與課本不太相似
ans=
Filename: 'D:\picture\msn\雷.jpg'
FileModDate: '19-Sep-2007 23:32:51'
FileSize: 104242
Format: 'jpg'
FormatVersion: ''
Width: 300
Height: 300
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: ''
NumberOfSamples: 3
CodingMethod: 'Huffman'
CodingProcess: 'Sequential'
Comment: {}
//是否有辦法透過指令修改show的information?
2.4 Data Types and Conversions
whos a b
//show a b的資訊
//其他type還有 int8, int16, uint8, uint16
2.5 Image Files and Formats
簡單介紹了常用的、以前出現過的圖片格式
Ex:JPEG,TIFF,GIF,BMP,PNG,HDF,PCX,XWD,ICO,CUR
使用dumphex Function可以把圖片資訊用16進位格式show出
>>dumphex('picture',4)
//表示把picture的data 前四行用16進位show出來
※2.5章還需要詳加閱讀...
心得:
原本想慢慢的每天看一點來做紀錄,結果不知不覺中上課的日子又要來臨了 囧,稍微整理了一下每天做的小筆記,卻覺得很貧弱。嗯,以上都不是重點....Chapter2簡單的介紹了圖片的格式、一些比較常被用到的指令,似乎已經可以用這些指令來做一些簡單的處理了,卻又覺得哪裡不太足夠;或許每學習一個新的程式語言都會有這樣的過渡期吧!(但其實目前學過的程式語言也沒有熟悉到哪裡去啊 囧)
問題:
1.
TIFF:Tagged Image File Format
HDF:Hierarchical Data Format
PCX:Design for MS-DOS-based and Microsoft products.
ICO:display icons in Microsoft Windows.
CUR:mouse cursor in Microsoft systems.
上面的圖片格式,課本有做簡單的介紹,不知道是否能親眼見到一下。
2.
PGM
我在網路上稍微搜尋了一下跟PGM有關的資料,部份資料如下:
A PGM image represents a grayscale graphic image. There are many psueudo-PGM formats in use where everything is as specified herein except for the meaning of individual pixel values. For most purposes, a PGM image can just be thought of an array of arbitrary integers, and all the programs in the world that think they're processing a grayscale image can easily be tricked into processing something else.
他說明了PGM是一個跟灰階圖片有關的影像,之後就.....????
3.問題在上面
2.3.1那邊....
訂閱:
文章 (Atom)