scintilla 始める前に version 6

2019/07/05 17:26 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
レベル補正
- ヒストグラムを広げるやつ
平坦化って処理はよく見るけど、Photoshoのようにマウスでグリグリやるのは見ない
どうしてだろう?

- 単純にテーブルを作ってピクセル毎に変換するだけなら簡単なような気もする
100-200の間にしかデータが無いようならこれを0-255に広げるテーブルを作るだけだ
このとき、100-->0  101-->3 みたいに広げるのか?
元のデータが100種類の明るさしか無いから255に広げたら間はあくよな
間が空かないように広げるのは無理だな( ̄― ̄?)

- 広げるのは平均的に広げるのが簡単だとは思うけどそれで良いのか?
Photoshoは中間にもポイントを作って三点になってる
端点をぐりっとしたら中点もそれに比例するように動くが、中点だけをいいじることも出来る
最低二区分にして平均化して広げれば良いか
区分をいたずらに増やしても効果はあんまりかもしれない
- で、どうやって広げれば良いんだろう??
10-20 を 0-20 に広げるんなら
x : 10 11 12 13 14 15 16 17 18 19 20
y :00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
とすると、Yがマイナスの一次関数だな
f(x) = 2x - 20
ですね
ここは緩やかな曲線にしてやっても良いかもしれないけど・・・
あとはこれでテーブルを作るだけか
テーブルの個数は10個で良いんだが、インデクスと合わんから256作った方が良いかな
- これを一般化すると、中点無しとして
右端の点pが255,左端qが0になる二点を通る直線だ
 (q,0) (p,255) この二点を通る直線の傾きとyを求める
傾きは 255/(p-q)、yは -q*傾きですよね
**f(x) = 255/(p-q) X - q( 255/(p-q) )**
中点があっても理屈は同じだよね
何も調整しない状態は q=0 p=255 だから、f(x)=x で合ってる!!
- レベル補正はヒストグラムさえ描画できれば簡単そうだな( ´∀`)

- pillowで取得したヒストグラムを描画して、左右に赤の直線を立てて、ドラッグで移動できるようにする
移動でp,qが変化するから、そのたびに上の計算をしてLUT作って画像を補正すれば良いよね
- LUTを渡してイメージを表示するルーチンは同じで良いかな




      
  • ヒストグラムを広げるやつ
    平坦化って処理はよく見るけど、Photoshoのようにマウスでグリグリやるのは見ない
    どうしてだろう?

  • 単純にテーブルを作ってピクセル毎に変換するだけなら簡単なような気もする
    100-200の間にしかデータが無いようならこれを0-255に広げるテーブルを作るだけだ
    このとき、100-->0 101-->3 みたいに広げるのか?
    元のデータが100種類の明るさしか無いから255に広げたら間はあくよな
    間が空かないように広げるのは無理だな( ̄― ̄?)

  • 広げるのは平均的に広げるのが簡単だとは思うけどそれで良いのか?
    Photoshoは中間にもポイントを作って三点になってる
    端点をぐりっとしたら中点もそれに比例するように動くが、中点だけをいいじることも出来る
    最低二区分にして平均化して広げれば良いか
    区分をいたずらに増やしても効果はあんまりかもしれない

  • で、どうやって広げれば良いんだろう??
    10-20 を 0-20 に広げるんなら
    x : 10 11 12 13 14 15 16 17 18 19 20
    y :00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20
    とすると、Yがマイナスの一次関数だな
    f(x) = 2x - 20
    ですね
    ここは緩やかな曲線にしてやっても良いかもしれないけど・・・
    あとはこれでテーブルを作るだけか
    テーブルの個数は10個で良いんだが、インデクスと合わんから256作った方が良いかな

  • これを一般化すると、中点無しとして
    右端の点pが255,左端qが0になる二点を通る直線だ
    (q,0) (p,255) この二点を通る直線の傾きとyを求める
    傾きは 255/(p-q)、yは -q*傾きですよね
    f(x) = 255/(p-q) X - q( 255/(p-q) )
    中点があっても理屈は同じだよね
    何も調整しない状態は q=0 p=255 だから、f(x)=x で合ってる!!

  • レベル補正はヒストグラムさえ描画できれば簡単そうだな( ´∀`)

  • pillowで取得したヒストグラムを描画して、左右に赤の直線を立てて、ドラッグで移動できるようにする
    移動でp,qが変化するから、そのたびに上の計算をしてLUT作って画像を補正すれば良いよね

  • LUTを渡してイメージを表示するルーチンは同じで良いかな