"とらまた動物記" 改め "とらログ"です。記事にない写真・動画はリンクからどうぞ。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- : スポンサー広告 :
Pagetop

サーモグラフィー風色変換

スクリプトWikiに投稿してみたけどいっぱい修正点指摘してもらったから戒めに原版貼っておこう。

反省点

  • リアルタイムプレビューすること考えたら浮動小数点除算はするべきじゃなかったね。
  • グラデーションのフィルタ使う発想はなかった。
  • 実はアルファ値取得してるけど使ってない件。
  • フレームバッファからオブジェクト矩形範囲への書き込みには拡大率が変更されている場合に無駄がある。

素朴な疑問:変換テーブルってAviutlの仕様的にフレーム毎に計算されちゃったりしないの?


--track0:色相基準,0,100,0
--track1:変化幅,0,360,255
--check0:フレームバッファ,0

zoom = obj.getvalue("zoom") * obj.zoom / 100

if obj.check0 then
-- フレームバッファから読み取り適用
obj.pixeloption("get", "frm")
y_head = obj.y+obj.screen_h/2-obj.h/2
x_head = obj.x+obj.screen_w/2-obj.w/2
if zoom >= 1 then
for y = 0, obj.h do
for x = 0, obj.w do
color, alpha = obj.getpixel(x_head+x, y_head+y, "col")
colorH, colorS, colorV = HSV(color)
color = HSV((colorV+obj.track0)%100/100*obj.track1, 100, 100)
obj.putpixel(x / zoom, y / zoom, color, 1)
end
end
else
y_foot = obj.h / zoom
x_foot = obj.w / zoom
for y = 0, y_foot do
for x = 0, x_foot do
color, alpha = obj.getpixel(x_head+x*zoom, y_head+y*zoom, "col")
colorH, colorS, colorV = HSV(color)
color = HSV((colorV+obj.track0)%100/100*obj.track1, 100, 100)
obj.putpixel(x, y, color, 1)
end
end
end
else
-- 現在のオブジェクトのみに適用
y_foot = obj.h / zoom
x_foot = obj.w / zoom
for y = 0, y_foot do
for x = 0, x_foot do
color, alpha = obj.getpixel(x, y, "col")
colorH, colorS, colorV = HSV(color)
color = HSV((colorV+obj.track0)%100/100*obj.track1, 100, 100)
obj.putpixel(x, y, color, 1)
end
end
end

2012-02-14 : コンピュータ : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

プロフィール

とらまた

Author:とらまた
写真:フォト蔵
動画:ニコニコ動画

月別アーカイブ


検索フォーム

写真


100件まで表示されます。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。