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. 影像旋轉之概念介紹

2012年10月19日 星期五

Week 6: Photoshop Levels & Curve

1. Photoshop Levels



2. Photoshop Curve



3. Spatial Filtering

2012年10月12日 星期五

Week 5: Image 色彩統計資訊

1. 直方圖 (histogram)

From Image Processing Class



Sample Program - Histogram

Week 4: 範例程式講解

1. TBitmap::ScanLine

Byte *bPtrImageRow;
bPtrImageRow1 = (Byte *)Image1->Picture->Bitmap->ScanLine[j];
Image1->Refresh();


2. 範例程式講解

 a. 負片

 b. R、G、B 單色影像

 c. 灰階影像