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

沒有留言:

張貼留言