2015年12月31日 星期四
2015年10月29日 星期四
2015年10月22日 星期四
2015年10月20日 星期二
2014年10月19日 星期日
Homework 2: 直方圖與直方圖均化處理
原始 bmp 影像
![]() |
| From Image Processing Class |
Photoshop 影像色彩直方圖 (histogram) 的顯示方式。
![]() |
| From Image Processing Class |
2014年9月17日 星期三
2014F 課程說明
2014F 影像處理課程說明:
1. 期中考 30 %。
期中考範圍: 第一週至第八週課堂上所討論的主題都是考試範圍。
2. 程式作業 70%。
程式作業包含原始碼 40% 與報告 60%。
報告以部落格 ( http://hwshow-ipc.blogspot.tw/ ) 形式繳交,原始碼使用 cpp 副檔名及 unicode 格式存檔,並上傳至 dropbox 網站, 再將分享連結附於部落格報告之中。每個作業原始碼佔報告分數 40% 比須完全符於程式撰寫規範, 若不符合規範, 又沒有在期限內修改完成, 原始碼成績以零分計。
若原始碼符合規範,報告成績成績分原則上分成 A、B、C 三級,分數分別為 90、75、60,再進行加減 5 分微調。基本上,A 級報告就是言之有物、認真討論作業內容的報告,B 級作業則是中規中矩但只完成部分項目的報告、C 級報告則一看就是敷衍了事的報告,可能討論不出任何內容或盡是抄襲網路文章的報告。
[ 程式碼撰寫規範 ]
1. 變數名稱必須包含資料型態與代表意義,並統一放置於檔案最前方,以方便尋找。請勿多個變數宣告在同一行, 並於每一行變數宣告後, 附加說明變數用途。例如:
int iImageWidth; // 影像寬度。
int iImageHeight; // 影像高度。
上述的變數名稱 iImageWidth,小寫的 i 表示資料型態 int;Image 是影像的意思,第一個字母 I 必須大寫, 用以和前面小寫資料型態區別;Width 是寬度的意思,第一個字母 W 也要大寫, 用來和前面 Image 最後的小寫字母 e 區別。因此,當我們在程式中看到 iImageWidth 時,不但對其型態一目了然,也很容易掌握其含意為影像寬度。
2. 縮排時, 大括號 {}請內縮並上下對齊。
請參閱範例程式。
1. 期中考 30 %。
期中考範圍: 第一週至第八週課堂上所討論的主題都是考試範圍。
2. 程式作業 70%。
程式作業包含原始碼 40% 與報告 60%。
報告以部落格 ( http://hwshow-ipc.blogspot.tw/ ) 形式繳交,原始碼使用 cpp 副檔名及 unicode 格式存檔,並上傳至 dropbox 網站, 再將分享連結附於部落格報告之中。每個作業原始碼佔報告分數 40% 比須完全符於程式撰寫規範, 若不符合規範, 又沒有在期限內修改完成, 原始碼成績以零分計。
若原始碼符合規範,報告成績成績分原則上分成 A、B、C 三級,分數分別為 90、75、60,再進行加減 5 分微調。基本上,A 級報告就是言之有物、認真討論作業內容的報告,B 級作業則是中規中矩但只完成部分項目的報告、C 級報告則一看就是敷衍了事的報告,可能討論不出任何內容或盡是抄襲網路文章的報告。
[ 程式碼撰寫規範 ]
1. 變數名稱必須包含資料型態與代表意義,並統一放置於檔案最前方,以方便尋找。請勿多個變數宣告在同一行, 並於每一行變數宣告後, 附加說明變數用途。例如:
int iImageWidth; // 影像寬度。
int iImageHeight; // 影像高度。
上述的變數名稱 iImageWidth,小寫的 i 表示資料型態 int;Image 是影像的意思,第一個字母 I 必須大寫, 用以和前面小寫資料型態區別;Width 是寬度的意思,第一個字母 W 也要大寫, 用來和前面 Image 最後的小寫字母 e 區別。因此,當我們在程式中看到 iImageWidth 時,不但對其型態一目了然,也很容易掌握其含意為影像寬度。
2. 縮排時, 大括號 {}請內縮並上下對齊。
請參閱範例程式。
2013年10月24日 星期四
4K movie / Beauty retouch
1. 4K Movie
2. still vs. motion
3. retouch
4. ROI: Region of Interest
5. color: luminance and chrominance
6. color correction
7. warp
8. digital image = sampling (spatial) + quantization (color)
2012年12月14日 星期五
Week 14: JPEG 壓縮標準 (1)
1. 維基百科: JPEG中文條目, JPEG英文條目
2. 規格書 CCITT Rec. T.81 (1992 E) "INFORMATION TECHNOLOGY – DIGITAL COMPRESSION AND CODING OF CONTINUOUS-TONE STILL IMAGES – REQUIREMENTS AND GUIDELINES"
3. 範例影像 Rex.jpg

4. Rex.jpg 檔案內容 (16 進位表示) : Rex.PDF
5. PSPad
2. 規格書 CCITT Rec. T.81 (1992 E) "INFORMATION TECHNOLOGY – DIGITAL COMPRESSION AND CODING OF CONTINUOUS-TONE STILL IMAGES – REQUIREMENTS AND GUIDELINES"
3. 範例影像 Rex.jpg
4. Rex.jpg 檔案內容 (16 進位表示) : Rex.PDF
5. PSPad
2012年11月23日 星期五
Week 11: 色彩模型 (2)
今天講解的程式碼有:
1. Mixture Model
2. 以 2D 平面影像顯示 3D 色彩模型, 包含 RGB 與 YUV 色彩模型

展示的程式效果(未詳細講解程式碼, 下週講解程式碼)
1. 彩色轉灰階 Y , 再轉成半色調 halftone 黑白影像 (用Photoshop示範)
2. 將彩色影像轉成單色調影像
講解的理論有:
1. 顏色的專業術語: 亮度, 濃度(飽和度), 色調 , 即 HSI 色彩模型
2. 使用 C++ Builder 的 ColorDialog 來講解顏色展示與選擇
3. 亮度 Y 與色差 YV, 即 YUV 色彩模型
延伸閱讀:
1. 使用整數資料形態運算完成 RGB 與 YUV 色彩模型之轉換:
MSDN: Converting Between YUV and RGB
2. 印象派:
Claude Monet's famous painting Impression: Sunrise
1. Mixture Model
2. 以 2D 平面影像顯示 3D 色彩模型, 包含 RGB 與 YUV 色彩模型
展示的程式效果(未詳細講解程式碼, 下週講解程式碼)
1. 彩色轉灰階 Y , 再轉成半色調 halftone 黑白影像 (用Photoshop示範)
2. 將彩色影像轉成單色調影像
講解的理論有:
1. 顏色的專業術語: 亮度, 濃度(飽和度), 色調 , 即 HSI 色彩模型
2. 使用 C++ Builder 的 ColorDialog 來講解顏色展示與選擇
3. 亮度 Y 與色差 YV, 即 YUV 色彩模型
延伸閱讀:
1. 使用整數資料形態運算完成 RGB 與 YUV 色彩模型之轉換:
MSDN: Converting Between YUV and RGB
2. 印象派:
Claude Monet's famous painting Impression: Sunrise
2012年11月19日 星期一
Week 10: 色彩模型 (1)
1. 期中考檢討
2. RGB 色彩模型 ( RGB color model )
程式實作:
a. 三原色的混色

b. RGB 色彩方塊 (RGB Color Cube)
利用 256*256 大小之影像, 固定三個色彩之其中一個色彩, 然後利用迴圈,將所有顏色變化組合顯示於影像之中。



2. HSI 色彩模型
2. RGB 色彩模型 ( RGB color model )
程式實作:
a. 三原色的混色
b. RGB 色彩方塊 (RGB Color Cube)
利用 256*256 大小之影像, 固定三個色彩之其中一個色彩, 然後利用迴圈,將所有顏色變化組合顯示於影像之中。
2. HSI 色彩模型
2012年11月1日 星期四
Week 8: 空間濾波器實作
1. 平滑空間濾波器
a. 平滑線性濾波器

b. 排序統計(非線性)濾波器

範例程式: Salt-and-Pepper Noise

實驗結果:

Waterlily 原圖 (512*512) format: bmp

使用範例程式 Salt-and-Pepper Noise 加入 6% 胡椒鹽雜訊!

使用 3*3 中值濾波器處理被加了 6% 胡椒鹽雜訊影像的結果。

使用範例程式 Salt-and-Pepper Noise 加入 10% 胡椒鹽雜訊!

使用 3*3 中值濾波器處理被加了 10% 胡椒鹽雜訊影像的結果。
2. 銳化空間濾波器



Homework 2: 空間濾波器實作
本次作業分成以下 3 部分:
a. 實作以下三類空間濾波器: 平滑化, 銳化, 中值濾波器。
b. 對不同圖片進行實驗。
c. 實驗結果討論
d. 心得
本作業繳交期限: 2012/11/15
a. 平滑線性濾波器
b. 排序統計(非線性)濾波器
範例程式: Salt-and-Pepper Noise
實驗結果:

Waterlily 原圖 (512*512) format: bmp

使用範例程式 Salt-and-Pepper Noise 加入 6% 胡椒鹽雜訊!

使用 3*3 中值濾波器處理被加了 6% 胡椒鹽雜訊影像的結果。

使用範例程式 Salt-and-Pepper Noise 加入 10% 胡椒鹽雜訊!

使用 3*3 中值濾波器處理被加了 10% 胡椒鹽雜訊影像的結果。
2. 銳化空間濾波器
Homework 2: 空間濾波器實作
本次作業分成以下 3 部分:
a. 實作以下三類空間濾波器: 平滑化, 銳化, 中值濾波器。
b. 對不同圖片進行實驗。
c. 實驗結果討論
d. 心得
本作業繳交期限: 2012/11/15
2012年10月26日 星期五
Week 7: Photoshop Levels & Curve 實作
1. Photoshop CS5 Levels

a. C++ Builder 程式實作
首先, 使用 4 個 TEdit 元件來分別輸入 Input Levels 與 Output Levels 的最大值與最小值。然後在將 Input Levels 與 Output Levels 的對應函數圖形顯示出來。

b. 範例程式
2. Photoshop CS5 Curve

二次曲線 - 拋物線的方程式為 Y = a X^2 + b X + c
因為通過 (0, 0)
所以 c = 0
因為通過(255, 255)
所以 255 = 255*255 a + 255 b
等號兩邊同時除以 255 , 得到 1 = 255 a + b
所以 b = 1 - 255 a
方程式變成 Y = a X^2 + ( 1-255a) X
使用者輸入的點若是落在(x, y), 那麼, 就可以求出 a 的係數了!
a = (y-x)/(x^2-255x)
接著就可以用程式算出 b 係數!
b = 1 - 255 a
方程式就大功告成了!
a. C++ Builder 程式實作





b. 範例程式
3. 影像放大與縮小之概念介紹
4. 影像旋轉之概念介紹

a. C++ Builder 程式實作
首先, 使用 4 個 TEdit 元件來分別輸入 Input Levels 與 Output Levels 的最大值與最小值。然後在將 Input Levels 與 Output Levels 的對應函數圖形顯示出來。

b. 範例程式
2. Photoshop CS5 Curve

二次曲線 - 拋物線的方程式為 Y = a X^2 + b X + c
因為通過 (0, 0)
所以 c = 0
因為通過(255, 255)
所以 255 = 255*255 a + 255 b
等號兩邊同時除以 255 , 得到 1 = 255 a + b
所以 b = 1 - 255 a
方程式變成 Y = a X^2 + ( 1-255a) X
使用者輸入的點若是落在(x, y), 那麼, 就可以求出 a 的係數了!
a = (y-x)/(x^2-255x)
接著就可以用程式算出 b 係數!
b = 1 - 255 a
方程式就大功告成了!
a. C++ Builder 程式實作





b. 範例程式
3. 影像放大與縮小之概念介紹
4. 影像旋轉之概念介紹
2012年10月19日 星期五
2012年10月12日 星期五
Week 4: 範例程式講解
1. TBitmap::ScanLine
Byte *bPtrImageRow;
bPtrImageRow1 = (Byte *)Image1->Picture->Bitmap->ScanLine[j];
Image1->Refresh();
2. 範例程式講解
a. 負片
b. R、G、B 單色影像
c. 灰階影像
Byte *bPtrImageRow;
bPtrImageRow1 = (Byte *)Image1->Picture->Bitmap->ScanLine[j];
Image1->Refresh();
2. 範例程式講解
a. 負片
b. R、G、B 單色影像
c. 灰階影像
訂閱:
文章 (Atom)

