中文介紹網頁: 科技新知:把照片變成印章的數位相機
2010年11月23日 星期二
2010年11月12日 星期五
2010年11月8日 星期一
Week 8: 量化程式之實作與討論 (作業一)
作業一:
繳交期限: Week 8 (2010/11/05)
將一張彩色影像轉成灰階影像後, 再對灰階影像進行色彩量化處理, 分別用 128 色, 64 色, 32 色, 16 色, 8 色, 4 色, 2 色(黑白影像) 顯示。
原圖: 彩色影像

灰階影像: 256 色階

灰階影像: 128 色階

灰階影像: 64 色階

灰階影像: 32 色階

灰階影像: 16 色階

灰階影像: 8 色階

灰階影像: 4 色階

黑白影像(binary image)

延伸討論:
1. 由於同學要求: "希望老師可以指導如何使用內建的物件直接達成PixelFormat:= pf2bit 的方法" , 因此, 我特地將如何直接將一張 PixelFormat = pf24bit 的彩色影像, 直接轉換成一張新的 PixelFormat = pf1bit 的黑白影像的範例程式提供給同學參考。
範例程式: DIP2010-SP-BinaryImage.c

同學們可以使用滑鼠右鍵, 看影像檔案的基本資訊, 如下圖示,

就會看到這張黑白影像 BinaryModeBird.bmp 的檔案大小是 9.77 KB (10,006 bytes),

而原先的黑白檔案 BinaryBird.bmp, 其實只有顯示出黑白二色, 儲存格式還是 PixelFormat = pf8bit 的灰階影像, 檔案大小是 78.74 KB (80,630 bytes), 如下圖所示。

繳交期限: Week 8 (2010/11/05)
將一張彩色影像轉成灰階影像後, 再對灰階影像進行色彩量化處理, 分別用 128 色, 64 色, 32 色, 16 色, 8 色, 4 色, 2 色(黑白影像) 顯示。
原圖: 彩色影像
灰階影像: 256 色階
灰階影像: 128 色階
灰階影像: 64 色階
灰階影像: 32 色階
灰階影像: 16 色階
灰階影像: 8 色階
灰階影像: 4 色階
黑白影像(binary image)
延伸討論:
1. 由於同學要求: "希望老師可以指導如何使用內建的物件直接達成PixelFormat:= pf2bit 的方法" , 因此, 我特地將如何直接將一張 PixelFormat = pf24bit 的彩色影像, 直接轉換成一張新的 PixelFormat = pf1bit 的黑白影像的範例程式提供給同學參考。
範例程式: DIP2010-SP-BinaryImage.c
同學們可以使用滑鼠右鍵, 看影像檔案的基本資訊, 如下圖示,
就會看到這張黑白影像 BinaryModeBird.bmp 的檔案大小是 9.77 KB (10,006 bytes),
而原先的黑白檔案 BinaryBird.bmp, 其實只有顯示出黑白二色, 儲存格式還是 PixelFormat = pf8bit 的灰階影像, 檔案大小是 78.74 KB (80,630 bytes), 如下圖所示。
Week 7: 數位影像基礎
1. § 2.4 影像的取樣和量化
數位化(digitalization) = 取樣(sampling) + 量化(quantization)
2. § 2.4.4 影像內插 (interpolation):
a. 重新取樣 (resampling)
b. 最近鄰插補 (nearest neighbor interpolation)
c. 雙線性插補 (bilinear interpolation)
d. 雙立方插補 (bilinear interpolation)
3. § 2.5 像素間的基本關係
a. 像素的近鄰:
4-近鄰 (4-neighbors),
8-近鄰 (8-neighbors),
b. 鄰接性(adjacency)
4-鄰接性 (4-adjacency)
8-鄰接性 (8-adjacency)
m-鄰接性 (m-adjacency): 混合鄰接性(mixed adjacency)
c. 連通性
d. 區域
e. 邊界
f. 距離量測
數位化(digitalization) = 取樣(sampling) + 量化(quantization)
2. § 2.4.4 影像內插 (interpolation):
a. 重新取樣 (resampling)
b. 最近鄰插補 (nearest neighbor interpolation)
c. 雙線性插補 (bilinear interpolation)
d. 雙立方插補 (bilinear interpolation)
3. § 2.5 像素間的基本關係
a. 像素的近鄰:
4-近鄰 (4-neighbors),
8-近鄰 (8-neighbors),
b. 鄰接性(adjacency)
4-鄰接性 (4-adjacency)
8-鄰接性 (8-adjacency)
m-鄰接性 (m-adjacency): 混合鄰接性(mixed adjacency)
c. 連通性
d. 區域
e. 邊界
f. 距離量測
2010年10月22日 星期五
Week 6: 灰階影像
1. TBitmap::PixelFormat


2. Sample Program



3. 作業一: 將一張彩色影像轉成灰階影像後, 再對灰階影像進行色彩量化處理, 分別用 128 色, 64 色, 32 色, 16 色, 8 色, 4 色, 2 色(黑白影像) 顯示。
繳交期限: Week 8 (2010/11/05)
2. Sample Program
3. 作業一: 將一張彩色影像轉成灰階影像後, 再對灰階影像進行色彩量化處理, 分別用 128 色, 64 色, 32 色, 16 色, 8 色, 4 色, 2 色(黑白影像) 顯示。
繳交期限: Week 8 (2010/11/05)
2010年10月15日 星期五
Week 5: 再深入探討影像元件
0. 個別訪談學習進度:
為了更精確掌握同學的學習進度, 進行個別訪談學習進度。
1. 如何動態新增一個影像元件?
2. Error Message: Scanline index out of range
imNew->Picture->Bitmap->Height
imNew->Picture->TBitmap->Width
3. TBitmap::PixelFormat
4. Sample Program

為了更精確掌握同學的學習進度, 進行個別訪談學習進度。
1. 如何動態新增一個影像元件?
2. Error Message: Scanline index out of range
imNew->Picture->Bitmap->Height
imNew->Picture->TBitmap->Width
3. TBitmap::PixelFormat
4. Sample Program
2010年10月8日 星期五
Week 4: TBitmap::ScanLine
1. ProgressBar
2. TBitmap::ScanLine
在 C++ Builder 的影像元件 TImage 中, 包含了一個 TPicture 的元件, TPicture 又包含了一個 TBitmap 的元件, TBitmap::ScanLine 這個 Property 則是存放了每一行影像色彩存放在電腦記憶體中的起始位置, 因此, 有了這個記憶體位置, 就可以對影像內容進行存取(修改/讀取)。
更新記憶體後的影像元件的外觀顯示, 有可能和記憶體中不相符, 我們可以用 Refresh() 這個 method 來將影像的外觀重新顯示。
Image1->Refresh();
3. 動態宣告二維陣列
4. 範例程式
2. TBitmap::ScanLine
在 C++ Builder 的影像元件 TImage 中, 包含了一個 TPicture 的元件, TPicture 又包含了一個 TBitmap 的元件, TBitmap::ScanLine 這個 Property 則是存放了每一行影像色彩存放在電腦記憶體中的起始位置, 因此, 有了這個記憶體位置, 就可以對影像內容進行存取(修改/讀取)。
更新記憶體後的影像元件的外觀顯示, 有可能和記憶體中不相符, 我們可以用 Refresh() 這個 method 來將影像的外觀重新顯示。
Image1->Refresh();
3. 動態宣告二維陣列
4. 範例程式
訂閱:
文章 (Atom)