b463. 輕輕鬆鬆學會用曲線調整色彩
標籤 : 影像處理
通過比率 : 8人/8人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2015-08-27 16:59

內容



高級的繪圖軟體,例如Adobe Photoshop,皆具備「以曲線調整色彩」的功能。網路上隨手就能找到許多教學文件,例如這篇和這篇。今天我們要來實作這個功能!


首先解釋一下曲線。其實曲線就是函數,用來轉變像素數值。R值有一個曲線、G值有一個曲線、B值有一個曲線。建立三條曲線,分頭處理RGB值。



使用者可以增設並挪動控制點,曲線將穿過所有控制點。曲線是N-1次多項式函數,N是控制點數量。



另外,使用者可以挪動頭尾的控制點,超過頭尾的部分是水平線。



像素數值必須符合RGB值範圍。多項式函數 p(x),最後調整成 f(x) = max(0, min(255, round(p(x))))。

輸入說明

第一行是R值的曲線的控制點。第二行是G值的曲線的控制點。第三行是B值的曲線的控制點。每一行開頭有一個整數 N (2 <= N <= 5),代表控制點數量。後面跟著 N 個控制點座標,一個座標由兩個整數 X Y (0 <= X, Y <= 255) 組成,總共 N*2 個整數,各以一個空白隔開。N 個座標的 X 值皆不同,X 值已由小到大排序。

然後是一張圖片:兩個整數 W H (1 <= W, H <= 256),是圖片的寬和高;接下來的 H 行,每行有 W*3 個整數,是每個像素的 RGB 值 (0 <= R, G, B <= 255)。

輸出說明

請輸出處理過的圖片。

 

範例輸入 #1
2 0 0 255 255
2 0 0 255 255
2 0 0 255 255
1 1
128 128 128
範例輸出 #1
1 1
128 128 128
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (33%): 1.0s , <1M
公開 測資點#1 (33%): 1.0s , <1M
公開 測資點#2 (34%): 1.0s , <1M
提示 :

1. 如果不熟悉運用函數調整RGB值,可以先試試看「b462: 圖片亮度調整原理深度剖析」。

2. 學術上,此問題稱作 Color Correction

3. 如果你需要實際操作一下,這裡有個免費線上影像編輯軟體 Pixlr Editor,建立新圖片之後,於上方選單列 -> 調整 -> 曲線,就可以開始操作了。

4. 作品一覽:

標籤:
影像處理
出處:
[管理者: DJWS (...) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」