css3 filter とpython(sepia編)

前説はこちら

今回はsepiaについて記載する

アプリ上では

hoge.style.webkitFilter = "sepia(100%)";

サーバー上では

value = (0.393,0.769,0.189,0,
0.349,0.686,0.168,0,
0.272,0.534,0.131,0)
output_image = Image.open(uploadfilepath).convert("RGB",value)

以上

valueの値はW3Cのサイト
http://www.w3.org/TR/filter-effects/
を参考に算出した

式としては
values=”(0.393 + 0.607 * [1 – amount]) (0.769 – 0.769 * [1 – amount]) (0.189 – 0.189 * [1 – amount]) 0 0
(0.349 – 0.349 * [1 – amount]) (0.686 + 0.314 * [1 – amount]) (0.168 – 0.168 * [1 – amount]) 0 0
(0.272 – 0.272 * [1 – amount]) (0.534 – 0.534 * [1 – amount]) (0.131 + 0.869 * [1 – amount]) 0 0
0 0 0 1 0″
である
amountに指定した%を当てはめて計算する(50%だったら0.5)
Pil上では4*3の行列でconvertするので全ては使用しないが、見た目は同じになった

次回は、saturate!

Comments are closed.

Post Navigation