HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2013
0714
こたろう画像バッファの矩形内の平均色のなるべく高速な求め方4未解決


こたろう

リンク

2013/7/14(Sun) 17:17:14|NO.55672

screenやbgscr上に描画した画像の中に置かれている、
任意のサイズの矩形範囲内に含まれる画素の色を平均化して、
モザイクの様に塗りつぶして加工する機能を作りたいと思っています。

色の平均値は、R、G、Bの成分の合計をそれぞれ足して画素数で割った数値です。
(それが適切かどうかはおいておいて)

なるべく高速に処理をしたいと思っているのですが、
pgetで1dotずつ取っているととても時間がかかって困っています。

何かよい方法は無いでしょうか。ご意見、サンプルなどあると大変有難いです。
よろしくおねがいいたします。



この記事に返信する


どこぞのだれか

リンク

2013/7/14(Sun) 18:17:04|NO.55673

gzoomでハーフトーンを使用して1x1のサイズにリサイズするとか

モザイクだけなら
  小さくリサイズ(ハーフトーン使用) → 拡大
でもいいかもしれません。



KA

リンク

2013/7/14(Sun) 18:29:13|NO.55674

1:選択部分をBMPで保存(保存しなくても一括でバイナリになればOK)
2:ヘッダを無視して画像データ部分を配列に読み込み
3:各成分を合計して平均を取る
4:平均された各成分値で四角形を作る
5:元画像に上書き

3で、ほとんどの時間を潰すがドット毎に処理するより速い
(かもしれない)



test

リンク

2013/7/14(Sun) 20:05:44|NO.55677

ちなみにKAさんの方法は、 bmpを介さずに画像データを得る方法があります。
http://hspdev-wiki.net/?%BE%AE%A5%EF%A5%B6%2FVRAM%A4%F2%C4%BE%C0%DC%C1%E0%BA%EE%A4%B7%A4%C6%A4%DF%A4%EB
を参照してみましょう。



YSR

リンク

2013/7/14(Sun) 20:53:30|NO.55679

とりあえずモザイクにしたいならNO.55673、精度を求めるならVRAMを叩けばいいだろうね
SSIMを計算させたい時にこの計算をする必要があって、前者で近似したらあまりにSSIMの出力精度が悪くて諦めた記憶が……



ONION software Copyright 1997-2023(c) All rights reserved.