タグ

ブックマーク / rest-term.com (12)

  • NginxのHTTP Pseudo-Streamingを試す – Rest Term

    Nginxの HTTP Pseudo-Streaming (HTTPによる疑似ストリーミング)機能を使ってMP4(H.264/AAC)ファイルのストリーミング配信を試してみました。 * 環境 CentOS 5.8 (x86_64), Ubuntu 11.10 (x86_64) Nginx 1.3.1 gcc 4.4.5 * HttpMp4Moduleモジュールの組み込み Note that this module is only supported in nginx version 1.1.3 and higher in development branch and 1.0.7 in stable branch. ということなのでNginxのバージョンには注意しておきます。HttpMp4Moduleを組み込むにはconfigureオプションを追加してコンパイルする必要があります。 $ ./

    NginxのHTTP Pseudo-Streamingを試す – Rest Term
  • ANEで画像処理 – Rest Term

    前回のエントリー、FlashDevelop + GCCでANE入門の続きになります。今回はANE(ActionScript Native Extensions)で画像処理を行う際のいくつかの注意点などをメモしていこうと思います。ANEの作成手順については前エントリーを参照してください。 ANEのC APIでは、ASのBitmapDataを扱う為の構造体 FREBitmapData というものが提供されています。 typedef struct { uint32_t width; /* width of the BitmapData bitmap */ uint32_t height; /* height of the BitmapData bitmap */ uint32_t hasAlpha; /* if non-zero, pixel format is ARGB32, otherwis

    ANEで画像処理 – Rest Term
  • Flashのガベージコレクションに関する正しい理解 – Rest Term

    AVM2の備えるガベージコレクションアルゴリズム * Deferred Reference Counting (DRC) 遅延参照カウント (DRC) * Backed by incremental conservative mark/sweep collector (DRCの支援として) 保守的なインクリメンタル マーク/スイープ これがFlash Player 9のリリース時にアナウンスされています。 もう何年も前の話です。 (http://www.onflex.org/ACDS/AS3TuningInsideAVM2JIT.pdf) Flashユーザーのこのあたりに関する理解はいったいどうなっているのか、 Flash Playerのガベージコレクション(以下 GC)について解説しているサイトをいろいろ見てみました。 しかし、どうも間違った理解が多いような気がするのです。。 (もちろん

    Flashのガベージコレクションに関する正しい理解 – Rest Term
  • Stardust test Tinkerbell Map – Rest Term

    自由度が高いと評判の Stardust を使ってみました。 パーティクル表現についての知識はほとんどない僕ですが、何事も経験ということで。 >> demo Tinkerbell Map を Stardust を使って描いてみたのですが、 2年前に描いたものよりは良くなっていると思います(あくまで主観ですが;)。 Stardust の触り心地としては、 「APIをペタペタ貼ってたらいつの間にかできていた」 という感じだったので、特に難しいところもないかと思います。 API Documentation があるので、これを見て調べながら貼っていけばたぶん大丈夫。 今回作った Flash についてですが、 僕が Java Applet をやっていた時代にコンピューターアートが流行ってた時期があって、 その時にいろいろ作ったものをFlashに移植した形になります。 あの頃に比べると豊かな表現がしやす

    Stardust test Tinkerbell Map – Rest Term
  • [B!] Flashにおけるメモリ管理 « Rest Term

    flash.sampler っていうパッケージを最近知ったので使ってみたかっただけです。 メモリ管理のコツとかそういう tips 的なことは一切書いてないですごめんなさい。。 注) 32bit CPU での検証結果です flash.sampler.getSize() で各クラスのサイズを調べてみました。 import flash.sampler.getSize; // トップレベルのコアクラス (Error のサブクラスなどは除く) var top_level:Array = [Array, Boolean, Date, Error, Function, int, Namespace, Number, Object, RegExp, String, uint, Vector.<int>, Vector.<String>, XML, XMLList]; for(var i:int=0; i<

    [B!] Flashにおけるメモリ管理 « Rest Term
  • WebカメラでVTR調フィルタ – Rest Term

    2008年のエントリー VTR調変換 AS3.0 の内容を動画でも試してみました。 ダビングや経年などで劣化したVTR映像のような効果を付加するものです。 2年前の記事では OpenCV の IplImage 構造体を模した独自クラスを作り、 そのクラスのメンバに画像データを入れて処理しています。 今回は対象が動画ということもあり、メインのロジック部分をコンパクトにしました。 なるべくキャッシュにヒットするように書いているつもりですが、 GCのSweep Phaseで荒らされると思いますので気休め程度に。 走査線、ゴースト(二重写り)、ガンマ補正の3つの効果がかかっていますが、 色相をいじったり、ノイズを乗せたりして効果を追加していくのもいいかもしれません。 wonderfl にも投稿しておきましたので参考になれば。 VTR Filter for web camera – wonderfl

    WebカメラでVTR調フィルタ – Rest Term
  • Flashで画像処理するときのコツ – Rest Term

    注意) レンダリングの高速化とは別レイヤーの話になります。 去年の記事でAPIレベルの考察はしていますが、今回はもう少し踏み込んで考えてみます。 get/setVector() vs get/setPixels() その前に BitmapData.getVector() と BitmapData.getPixels() のシグネチャを再掲。 両APIともピクセルデータを一次元のコンテナに詰め込むメソッドです。 getPixels(rect:Rectangle):ByteArray ピクセルデータの矩形領域からバイト配列を生成します。 getVector(rect:Rectangle):Vector.<uint> ピクセルデータの矩形領域からベクター配列を生成します。 速度を比較すると get/setVector() の方が高速です。 が、 重要なのはAPIの実行速度ではなく、 「取得したデ

    Flashで画像処理するときのコツ – Rest Term
  • ByteArrayで画像処理入門以前 – Rest Term

    画像データの扱い方についてのメモということで、”入門以前” としました。 僕の場合はまずByteArrayについて調べるところから始めないと。。 扱う画像について カラー(RGB各チャンネル8ビット)のraw画像を扱います。 (RAW画像ではなくベタ画像の方) よって画像データは R0G0B0 R1G1B1 R2G2B2 ・・・の順で格納されているものとします。 画像データの扱い ByteArray上の画像データを参照する場合、 ・画像の横幅 (width) ・1画素あたりのバイト数 (bytesPerPixel) の2つは最低限必要な情報です。 ここではこれらの情報は既知であるものとします。 (厳密にはチャンネル数も必要ですが、ここでは条件より3で固定されます) ByteArrayに格納された画像データにおいて座標(x,y)の各色成分を取得するには、 img[width*bytesPer

    ByteArrayで画像処理入門以前 – Rest Term
  • Symmetric Nearest Neighbor – Rest Term

    すこし落ち着いてきたので久しぶりにFlashを。 今回はSymmetric Nearest Neighbor (SNN)という手法を画像に適用します。 シンメトリック ニアレスト ネイバー。訳すと対称最近傍法。 画素値の差の絶対値を “距離” として、その距離が近い画素の値を選んでいきます。 対称としているのは注目画素に対して対称方向の位置にある2つの画素を参照するからです。 つまり、 1 2 3 4 5 6 7 8 9 とあって5が注目画素なら、1と9、2と8、3と7、4と6… の位置の画素を参照し、 注目画素との距離が近い方の画素の値を採用します。 メディアンフィルタやKuwaharaフィルタと同様にエッジを残したまま画像をぼかしますが、 両者より高品質な結果が得られることが多い手法で、写真が絵画っぽくなってくれます。 ・ソースコード package { import __AS3__.

    Symmetric Nearest Neighbor – Rest Term
  • ナイトビジョンエフェクト – Rest Term

    >> NightVision.swf (要 Flash Player 10 & Webカメラ、負荷が高めなので注意してください) PhotoshopによるナイトビジョンエフェクトをFlashで再現。 赤外線暗視ゴーグルをかけた時に見られるような画像に加工します。 PhotoshopのNightVisionプラグインは以下のサイトで無料配布されています。 VanDerLee – Home / Plug-ins / NightVision – Add realistic night-goggle and imaging distortion to images. インタレースとゴースト(二重映り)の表現は、去年書いた VTR調変換 – AS3.0 のコードを応用しました。 最初は赤と青チャンネルの値を半分にしていたんですが、それだと緑が強くなりすぎてしまうので、 赤と青チャンネルをガンマ補正し

    ナイトビジョンエフェクト – Rest Term
  • AS 数学系ライブラリ – Rest Term

    Flashで真面目に画像解析/信号処理をやろうとすると、線形代数や統計解析のライブラリが欲しい所です。 CやJavaならオープンソースでたくさんあるし、それらは十分にレビューされていて信頼性も高いですが、 Flashだとあまり需要がないからなのかほとんど話題になっていないみたいです。 個人的にはあったらぜひ使ってみたいなと思ったのでちょっと探してみました。 ・Projects Open Source Flash ・Spark project をひととおり見て気になったのが3つ。 ・as3mathlib (New BSD License) ・as3matrix (GPL) ・Statistics ライブラリ名が直球でわかりやすくて良いですね。 まずはas3mathlib。各種数学演算のルーチン集です。 その中にフーリエ変換のクラスがあったので簡単に紹介。 import com.vizsage

    AS 数学系ライブラリ – Rest Term
  • Rest Term – Web関連技術の話など

    最近はOpenCVを全然触ってなくて、情報を追いかけることも自然と無くなってきた今日この頃ですが、このブログでOpenCVを最後に扱ったのは2019年のこちらのONNXサポートについての記事でした。 OpenCV 4.0のONNXサポートについて – Rest Term 2019年以降は一切使ってないかというとそんなことは無くて、簡単な画像処理が必要な所では小さく活躍してはいました。ただ、近年は画像処理と言っても機械学習が前提のタスクがほとんどで、PyTorchやTensorFlowなどの機械学…

    Rest Term – Web関連技術の話など
    godagoda
    godagoda 2009/02/21
    画像変換
  • 1