タグ

programmingとアンチエイリアスに関するmieki256のブックマーク (19)

  • Antialiasing in Processing - Processing 2.x and 3.x Forum

  • 画像のリサイズを実装する(バイリニア編) | 株式会社ヘキサドライブ | HEXADRIVE | ゲーム制作を中心としたコンテンツクリエイト会社

    タコやりたいなと思いつつ触れてない間に同僚が全部クリアしていて、 うわぁと思っているプログラマの某(なにがし)です。 【画像のリサイズを実装する(ニアレストネイバー編)】 ↑前回、画像のリサイズをニアレストネイバー法で実装してみました。 手法が単純すぎて精度はイマイチでしたので、もっと良い方法を試していきます。 ニアレストネイバー法は、着目点に一番近い位置にある色を使用するだけでした。 次のステップアップとしては、周辺1ピクセルを見て補間してみるのがよいでしょう。 そこでバイリニア法です。 2点をまっすぐ線形につなぐようにして補間する方法を、 線形補間(Linear Interpolation)と言います。縮めてLerpとも言います。 バイリニア(Bilinear)とは、縦と横の2(Bi)方向に対して線形(Linear)補間をすることを指します。 通常の線形補間は1方向の話なので簡単です。

  • 【画像処理】バイリニア補間法の原理・計算式

    画像を拡大・縮小・回転したときなどに利用する補間法の1つである「バイリニア補間法」の原理や計算方法についてまとめました。 【はじめに】バイリニア補間法(Bi-linear interpolation)とは バイリニア補間法(Bi-linear interpolation)は、周囲の4つの画素を用いた補間法です。 最近傍法よりも計算処理は重いですが、画質の劣化を抑えることが出来ます。 【計算方法】バイリニア補間法 拡大画像の座標における画素値を求める手順は以下の通りです。 ①拡大画像の座標を拡大率で割り、を求めます。 ②元画像におけるの周囲4画素の画素値を取得します。 ③周囲4画素それぞれととの距離を求めます。 ④距離によって重み付け(0~1)を行います。(距離が小さいほど重みは大きい) ⑤周囲4画素の画素値の加重平均を拡大画像の座標における画素値とします。 (1)

    【画像処理】バイリニア補間法の原理・計算式
  • 拡大縮小処理時の計算方法について - ファーレントゥーガまとめwiki

    【拡大縮小処理時の計算方法について】 簡単な説明を加えてみました。 最後に独断と偏見に基づく、計算方法別得手不得手を載せておきましたのでそちらも併せて。 最近傍法(Nearest Neighbor/ニアレストネイバー) 一番シンプルな計算方法です。たぶん最速。 補完処理をしない(処理後のピクセルが処理前にはどこにあったか、を計算してそれを引っ張ってくるだけ)ため、 どれだけサイズを変更しようとも色数が増えないという特徴があります(PreFilter Functionを使わない場合に限る) 要は拡大時は最寄りのピクセルを利用し、縮小時は適当に間引いていくということです。 整数倍の拡縮を行う場合はそれなりに綺麗な結果が得られる反面、それ以外ではジャギがジャギジャギしてとても悲惨なことになります。 変な色のピクセルを生成したりしないため、モノクロなどの単一な色身の画像・ドット絵・アイコンなどの処

    拡大縮小処理時の計算方法について - ファーレントゥーガまとめwiki
  • Java画像処理をはじめよう。初めての縮小(・∀・) - プログラムdeタマゴ

    今までこのブログでも何回か拡大縮小の話が出てきたことがありますが、もう一度やっておきましょう。 今回は縮小についてです。 最も簡単な縮小処理 間引き法(最近傍法) 画像を小さくするとピクセルも一緒に小さくなってくれたら嬉しいのですが、そんなわけにはいきません………。 画像を小さくするとピクセル数が減るので表現できる情報が少なくなってしまいます。したがって、いったいどの情報を残して、どの情報を削除するのか、が一番重要なことになります。 最初に説明するのは間引き法という物です。これは単純に、容量オーバーしているピクセル分まるっと削除するやり方です。 例えば、3×3ピクセルの画像を2×2ピクセルの画像に縮小する場合、各方向1ピクセル多いので下の図の様に削除して2×2の画像を得ます。 あ(ー△ー;) 今、この方法馬鹿にしたでしょ。「ふふん、こんなの使えねーよ」って言ったでしょ(-_-) あまいな〜

    Java画像処理をはじめよう。初めての縮小(・∀・) - プログラムdeタマゴ
  • Bilinear(バイリニア法) ~1.基本編~

    約一年ぶりに画像の補間手法について語ります。 前回はニアレストネイバー(最近傍)法について語りましたが、今回は一歩進んでバイリニア(線形または1次補間)法のプログラムを紹介します。 まぁ、今更って感じですが。 概要 ニアレストネイバーでは画像を拡大・縮小したときのジャギーやモアレが目立ちます。そこで画像を滑らかにする効果を持つ補間方法の一つとしてバイリニアがあります。 他にもよく用いられる補間方法としてBicubic(バイキュービック)法やLanczos(ランチョス)法が有名ですが、特にバイリニアは処理に掛かる計算量が比較的少なく、軽量の補間フィルタとしてポピュラーな存在となっています。 バイリニアはニアレストネイバーと違い、元画像のピクセルの色をそのまま採用するのではなく、隣接するピクセルの色データを混ぜ合わせて新しいピクセルの色を決定します。 詳しくはWikipediaあたりを参照して

    Bilinear(バイリニア法) ~1.基本編~
  • 面積平均法(平均画素法、AreaAverage)

    面積平均法の概要 面積平均法(平均画素法やAreaAvarageとも) はほぼ縮小専用の手法で、高速ながら比較的画質が良いのが特徴です。 その原理は非常に単純で、例えば3/5のサイズに縮小するのであれば出力1ピクセルあたり元画像から5/3ピクセル分のRGB成分を取得して平均を出すというものです。 わかりやすい解説は下記サイトに載っていますので割愛します。 処理の途中に縦横のピクセル数について元画像と縮小後の最小公倍数をとったサイズの中間画像を作成する必要がありますが、実際に作成するとえらい処理量とメモリ消費が発生して末転倒となります。 しかし中間画像というのは元画像の単純な引き伸ばしであり、色を混ぜ合わせて新たな色を作り出すわけではありません。単にRGBの配合割合を取得するためだけに使います。なので、実データが無くても必要な値は簡単な計算で求めることができます。 このように出力よりも高解

    面積平均法(平均画素法、AreaAverage)
  • Diary 2000-12

    1997年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 1998年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 1999年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 2000年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 2001年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 2002年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 2003年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 2004年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 2005年 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月

  • 「Archive」Antialiasingについて自分なりにメモってみた - NEUROMANTIC

    以前にAntialiasingについていくつかをメモしたことがありましたけど、纏めずにそのまま上げたいと思います。(間違えてたり、荒れているかもしれませんが後で整理しますよ) 内容 SSAA(FSAA)とは https://en.wikipedia.org/wiki/Supersampling http://lite.parkoz.com/zboard/view.php?id=int_vganews&no=11404 http://lite.parkoz.com/zboard/view.php?id=int_vganews&no=11673 Super Sampling Anti-Aliasingは、1pxのピクセルを描画するとき、サンプリングするテクセルの数を増やして、それを補間し、最終的にピクセルを描画するようにする技法である。 もしx4 SSAAだとすると、1ピクセルを描画するのに4

    「Archive」Antialiasingについて自分なりにメモってみた - NEUROMANTIC
  • 七つの海: NVIDIA Inspector 覚書(おぼえがき) グラフィックス編 - Antialiasing セクション

    先日のビット値に圧倒された人たちも、今日のお題が「ゲーム体験を激変させるほど」の項目として一番要な「アンチエイリアシングの掛かり方」を調整する項目ですので、ぜひ押さえてくださいね。 私のプロファイルからもしも手直しをされる場合、一番やりやすく、そして効果が顕著に認められるところとなります。それていて「特に重要なのは2~3カ所」くらいなので、残りは「この設定のままでいいんだ」と覚えられたらよいでしょう。 ただし、それも「『Antialiasing compatibility』が適切な値となっているか?」が前提条件です。かすりもしない値では、どれを選ぼうと効果が認められないことでしょう。それくらいにビット値を見極めることは重要な前準備となります。改めて、かみしめてくださいね。 稿を読み進める前にアンチエイリアシング(Anti-Aliasing:略してAA)の概要を知っておくと、スムーズになる

  • グラフィック・パターンの扱い (5) サンプル補間

    行列は、行と列を()で囲んで表現しますが、このドキュメント内では以下のように表現するようにします。 | 3, 2, 1 | | 4, 9, 7 | | 6, 8, 5 | 各行を'|'で囲ったベクトルで表現する形になります(上の例は 3 x 3の行列を表しています)。 また、行ベクトルは通常どおり(3,2,1)のように表現しますが、列ベクトルは縦長になるため、転置行列の記号Tを使って(3,2,1)Tと表現する場合があります。 あらかじめ、御了承ください。 1) 任意の比率での拡大・縮小処理 パターンを任意の比率で縮小するような場合は、パターン上のピクセルを選んで単純にプロットするのではなく、周りのピクセルの色を合成させてプロットすることで画質を向上させることができます。簡単な例をあげると、あるパターンを縦横半分に縮小するのであれば、パターンの左上から 2 x 2 の範囲のピクセルを取って

  • グラフィック・パターンの扱い (6) スーパーサンプリング

    前章では、補間処理を利用した拡大・縮小処理の高画質化を行ってきましたが、補間処理とは異なる方法を使ったエイリアシングの抑制(アンチエイリアシング; Anti-aliasing)として、この章では「スーパーサンプリング(Supersampling)」を紹介したいと思います。 補間処理は、ピクセルの値を利用して連続関数を再現し、ピクセル間の値を求めることによって任意の位置の色コードを決めていました。どの処理についても共通していることとして、ピクセルと同じ位置の値は変化しないということがあります。そのため、例えば画像を縦横ちょうど半分のサイズに縮小するような場合、最近傍法を含むどの補間処理を利用しても結果は同じであり、画像の中の 1/4 の情報は切り捨てられてしまいます。 前の章の最初に紹介した「任意の比率での拡大・縮小処理」において、縮小処理では周囲のピクセルと合成することによって情報の欠落を

  • Twip - Wikipedia

  • Appendix Flash Player 11の新機能 - 01 ビットマップのサイズ制限がなくなる - ActionScript 3.0におけるパフォーマンス最適化のテクニック

  • 仕方ない。アンチエイリアスを自力でなんとかしてみようか・・・とりあえず下調べ

    09.11.20追記:WindowsでもOSを適切に設定すればデバイスフォントにアンチエイリアスがかかることがわかった WindowsにおけるTLFでのデバイスフォントのアンチエイリアスは,散々調べた挙げ句,FPにはその機能は備わっていないだろうという結論に至った。 いつかはFPでもサポートされるだろうが,できるものならアンチエイリアスをかける何かを自作して今すぐ使いたいと考えた。 追記2011.02.24:Check this out!自作するよりよっぽど効果的で、しかも速いPixelBenderフィルター「SmartAA」 Thanx a lot flashgordon! 琴線探査: FTE・TLFのアンチエイリアス問題は「SmartAA」PixelBenderフィルターで解決! ---- そこで,まずは下調べ。 アンチエイリアス - Wikipedia まずはアンチエイリアスの定義を

  • プログラミング

    >画像関連 細い線の描画 ドット絵主線の細線化 線形グラデーション >ネット関連 SHOUTcast その1 - サーバーからMP3データ受信 SHOUTcast その2 - MP3PCMに変換 SHOUTcast その3 - ストリーミング再生 SHOUTcast その4 - 情報の取得 WinSock / connectのタイムアウト

  • 漫画の集中線を描くプログラムのアルゴリズムなど

    後藤寿庵 @juangotoh ところで漫画の集中線や流線描くプログラムのアルゴリズムって需要ある?もうクリスタにもいい感じの集中線ツール実装されたし、僕がやったことは明かしてもいいと思うんだけど 2013-11-22 02:17:31

    漫画の集中線を描くプログラムのアルゴリズムなど
  • ベジエ曲線を整数の加減算だけで描画する方法 - Studio RAIN's diary

    だいぶ前にちらっと書いたことがあるのだが、かれこれ 20 年ほど前に、ベジエ曲線を整数の加減算だけで描画する方法を考えたことがある。こういう会社員時代の仕事を紹介するためには、いろいろと制約があったりするのだが、このアルゴリズムは多分守秘義務には含まれていないし、技術自体がいい加減時代遅れの技術で、多分今はもっといい方法が開発されているはずなので、公開してもどこからも文句は来ないと思う。だから、機会があればいつか紹介したいと思っていた。 だだ、このアルゴリズムを説明するには、ややこしい数式を並べる必要があって、それが面倒で避けていたところもあった。しかし、今回 Maxima を使って計算したら、わりと簡単に再現できたので、せっかくだから記録にとどめておくことにする。 ベジエ曲線というのは、空間からいくつかの点を選択したときに、その点との関係で定義される。たとえば、2次のベジエ曲線だったら、

    ベジエ曲線を整数の加減算だけで描画する方法 - Studio RAIN's diary
  • ペイントソフト・プログラミング

    ペイントソフト開発や画像処理プログラミングの解説です。 C 言語。ソースファイルの文字コードは UTF8。 自作の GUI ライブラリ SPTK を使用しています。 Linux/Windows で動作します。 SPTK ライブラリ ソースコード一括ダウンロード (source_all.tar.bz2) HTML 一括ダウンロード (html_all.tar.bz2)

  • 1