Macbook
1QのボーナスでMacbookを買いました。 Proの中で一番安い13万円ちょっとのやつです。 これからゆっくりといじっていきましょうかね。 なんか便利なツールあったら教えてください^^
Web関連技術の話など
先月ヤフーがリリースしたトピックス見出しアーカイブを使ってみました。 ヤフートップページの真ん中に出ている15文字くらいのニュースの見出しを過去にさかのぼって取得できます。 PV指標順(ページビュー/アクセス数)でもデータが得られるので、どんなニュースが過去に話題になったか思い出せて楽しいです。 >> Demo 今回はFlexで簡単なデモを作りました(ソースコードは右クリックから)。 指定した日付まで過去にさかのぼってひたすら見出しを表示しつづけます。 カテゴリーとデータソートの種類を指定(掲載…
実践OpenCV―映像処理&解析を買いました。 6月10日発売のOpenCVの新しい書籍です。 NAISTの人達が書いたOpenCV プログラミングブックを既に持っていてこの本を買う意義としては、 強いて挙げるなら6章の「OpenGLとの連携」と7章の「物体検出の機械学習」の部分でしょうか。 ちなみに5章では「映像解析」を扱っていますが、ここで紹介されている処理を載せておきます。 ・テンプレートマッチング ・オプティカルフロー ・離散フーリエ変換フィルタリング ・モーションテンプレート…
FlashPlayer 10からはデバイスフォントの回転ができるようになりましたが、 TextFieldとTextLineで挙動が違うようです。 一応こちらでもテストしてみました。 上段がTextField、下段がTextLineを使ってテキストを回転表示させています。 >> TextRotate.swf 拡大表示するとよく分かりますが、TextFieldのrotationZを使った場合は、 テキストをビットマップにしてから回転させてます。 一方、TextLineのrotationを使った場合は…
昨日に引き続き画像処理手法の簡単な紹介。 このフィルタは画素値を周りに拡散させます。 Photoshopの [フィルタ] > [表現技法] > [拡散]と同じ効果です。 実際の処理は参照する座標値をランダムに決めているだけ。 ・ソースコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
package { import __AS3__.vec.Vector; import flash.display.*; [SWF(width = "600", height = "250", backgroundColor = "#000000", frameRate = "30")] public class Jitter extends Sprite{ [Embed(source = 'assets/picture.jpg')] public var SrcImg:Class; private var src:Bitmap; private var dst:Bitmap; private var srcData:Vector.<uint>; private var w:int; private var h:int; public function Jitter() { stage.scaleMode = "noScale"; src = new SrcImg() as Bitmap; w = src.width; h = src.height; dst = new Bitmap(new BitmapData(w, h, false)); addChild(src); srcData = new Vector.<uint>(w*h, true); srcData = src.bitmapData.getVector(src.bitmapData.rect); dst.bitmapData.setVector(dst.bitmapData.rect, filterJitter(srcData, 10)); addChild(dst).x += w; } private function filterJitter(src:Vector.<uint>, amount:int):Vector.<uint> { var dst:Vector.<uint> = new Vector.<uint>(w*h, true); var nx:int, ny:int; for (var y:int=0;y<h;y++) { for (var x:int=0;x<w;x++) { nx = x + (Math.random() - 0.5)*amount; ny = y + (Math.random() - 0.5)*amount; try { dst[w*y + x] = src[w*ny + nx]; }catch(e:RangeError) { dst[w*y + x] = src[w*y + x]; }catch(e:ReferenceError) { dst[w*y + x] = src[w*y + x]; } } } return dst; } } } |
・関連記事 Symmetric Nearest Neighbour