0

RailsにFlashからpostしたり取り出したりする

Railsのscaffoldでさくっと作ったインタフェースって、HTTP-POSTからSQLに保存したり取り出したりもできて色々プロトタイプを作るのに便利なのでまとめておく。

ためたデータの管理もできるし。

■Rails側の準備

まずrailsを入れる。

Macの人は既に入っているはず。Windowsなら、ActiveScriptRubyを入れてパス通すと、gemコマンドが入るのでgem install railsすればrailsコマンドが使えるようになる。DBはSQLiteのdll版をc:\windows\system32に入れればできる様になるはず。

railsでtestbbsというプロジェクトを作って、そこにscaffoldでentry(投稿)というmodelを作る。entryには、name(投稿者)とmessage(本文)が入る。

rails testbbs

cd testbbs

ruby script/generate scaffold entry name:string message:text

rake db:migrate

(単数形に注意)

webサーバーを立ち上げる

ruby script/server

http://localhost:3000/entriesから見れるようになっている。はず。(複数形に注意)

こんなページができている。ここからentryを増やしたり消したりもできる。

post from flash to rails

ここまでで、http://localhost:3000/entries/newから投稿できるのと、http://localhost:3000/entries.xmlから一覧を取得できるようになった。

Source Code (Ruby on Rails 2.0.2)

■Flashから投稿する

HTTP POSTで行う。

今回作ったもの(動きます)

Source Code (AS3 / Flash CS3 + Flashdevelop)

今回もFlashDevelop上でAS3書いて、FlashCS3オーサリング/コンパイルした。

こいつでPOSTすると、http://localhost:3000/entriesに結果が出るようになる。

post from flash to rails

どうやってるかというとまず

http://localhost:3000/entries/newを見ると



Name




Message






という風にPOSTしているので、entry[name]とentry[message]をパラメータで渡せばいいとわかる。

Read more

0

AS3 – あらためてラベリング処理

火曜に、imglのうっちーとあらためてラベリング処理ってどうやんのよという話をしていて、あらためてAS3で書き直した。

ただし、ラベルの衝突処理はまだやっていない。

ラベリング処理について→s.h.log: Proce55ing – 2値化画像を4近傍ラベリング処理してパーツ抜き出し

今まで、ラベルそのものを2次元のint配列で管理してたけど、今回はBitmapDataオブジェクトとして保存する様にしてみた。BitmapDataならx,y座標で要素にアクセスできるし、ピクセルはuint型なので都合がいい。

■できたもの

download => fla, as, swf (FlashDevelop3.0.0 Beta5 + FlashCS3)

年末年始作ったカメラから画像処理のサンプルを元に改造した。

webcamから撮影してBitmapDataにして、1ピクセルずつ走査して真っ白(0x00FFFFFF)のピクセルを検出。

さらにラベリング処理をして、「ピクセルのかたまり」毎に番号をつける。

(0x00FFFFFFは蛍光灯を撮影すると良いです)

labelinglabelinglabeling

今回はノイズを飛ばしたりしていないので、右の本棚の小さな白にも反応してしまって28個とか検出される

labeling

ラベルの衝突時の処理もしていないので、左上が空いた弧の様な形の時に割れてしまう

labeling

この辺はまたの機会に。

Read more

0

Adobe AIRの開発環境を整えて、カメラで撮影してJPEGで保存するソフトを作った

AIRを使うと、flash.filesystemやflash.desktopなどのデスクトップアプリ用のクラス群が使えるようになるので、やってみた。

Air beta3で開発する環境を作って、前からやってみたかった

  • 半透明で変な形をしたウィンドウ
  • USBカメラで撮影してJPEGにエンコードしてファイル出力

0

AS3 – BitmapMirror.asでYouTubeを鏡写しにする

右下の「Load」を押して再生。

Source Code (Flash CS3 / AS3)

土善開発合宿(ゆーすけべー日記: 奥出研’07秋合宿@土善旅館に部外者(OB)の開発合宿も兼ねて参入してきた)で作ってたBitmapMirror.asを公開しておきます。

宴会直前に到着したのであんまり時間がなかったけど、今回やったことは3つ

1.YouTubeのビデオ(flv)をGoogleVideo経由で取得して

2.AS3のBitmapDataとして扱って

3.鏡面反射させる

ビデオはこれを読み込んでいます。ひゃあ゛ああああうまい゛いいいいい

■1.YouTubeのビデオをGoogleVideo経由で取得する

数ヶ月前にGoogleに買収されて以来、

http://www.youtube.com/watch?v=YRY0M5cgDG8

のビデオは

http://cache.googlevideo.com/get_video?video_id=YRY0M5cgDG8

から取れる様になりました。

以前はWebService::YouTube使って

スクレイピングしなければならなかったけど、素直になった。

Read more

0

Flash CS3 – 背景差分法

昨日Flash CS3を買ったので、さっそくAS3でやってみた。

自分で1からBitmapDataクラスを使うのは初めてだったけどprocessingやってたお陰ですぐわかった。

一旦カメラの前からどいて、Save Backgroundボタンを押してみてください

うまくいくとこうなってるはず

BackgroundSubtraction

SourceCode (Flash CS3 / AS3)

Read more