テレビで放送されました

新風館でやっている実証実験について,テレビ東京のワールドビジネスサテライトで放送がありました.Youtubeにさっそく誰かがアップしているのを発見したのでこちらに貼り付け*1

キーワード:「みんなで使えるみんなのカメラ」「変身カメラ」


D

「絶対に人が映像に映らないカメラ」として,「絶対に人が映っていない背景画像を合成」したあと,人を星や線などに記号化して表示するシステムです.

また宣伝ですが,7月31日(金)には新風館にてイベント「体感しよう!あいあいネット」が行われ,前述のカメラのデモや,そのカメラを使ってどんな便利なことができるかといったいろいろなデモ展示をします.11時から18時までやっているのでぜひ来てください.

*1:自分でupしたわけではないです.

画像処理におけるマルチスレッドの利活用(OpenCV編)

次のエントリではもうちょい具体的なソースコードを書く.かも.といった手前,別のエントリは書けないということで,具体的なコードを書いてみる.

今回のコードはC言語とOpenCVを使った例.動作確認はしていないので注意*1.なお,キャプチャ部分はOpenCV.jpのサンプルコードからパクリました.

ちなみにCreateThread(windows.h)を使っているのでWindows専用です.

#include <windows.h>
#include <cv.h>
#include <highgui.h>
// スレッドに渡すデータをまとめた構造体
struct captureparam{
CvCapture *capture;
IplImage *temp;
};
// スレッドで実行する処理(画像のキャプチャ)
void capturethread(struct captureparam* cap){
cap->temp = cvQueryFrame (cap->capture);
}
int main(int argc, char *argv[]){
CvCapture *capture=NULL; // キャプチャ用の構造体
IplImage *temp=NULL;     // 画像(撮影予約用「temp画像」)
IplImage *img=NULL;      // 画像(実際の処理で使う「画像」)
// GUIの初期化
cvInitSystem(argc,argv);
cvNamedWindow("captured",CV_WINDOW_AUTOSIZE);
// キャプチャ用構造体の初期化
capture = cvCreateCameraCapture (0);
// 1枚目の画像の準備
temp = cvQueryFrame (capture);
img=cvCloneImage(temp);
// スレッドに渡すデータの準備
struct captureparam cap;
cap->cam=capture;
cap->temp=temp;
// メインループ
while((char)cvWaitKey(10)!='q'){
// “撮影予約”処理.スレッド作成し,ハンドルを保持する
HANDLE h=CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE) capturethread, &cap, 0,NULL);
// ここから img を使った時間のかかる画像処理
// このとき,tempの方をいじってはいけません
cvShowImage("captured",img);
// ここまで
// 先ほど撮影予約した処理が終わっているか?
//(撮影が終わるまで待つ)
WaitForSingleObject(h);
// スレッドはさようなら
CloseHandle(h);
// 撮影した「temp画像」を処理で使う「画像」へコピー
cvReleaseImage(&img);
img=cvCloneImage(temp);
}
// いろいろ終了処理
cvReleaseCapture (&capture);
cvDestroyWindow("captured");
cvReleaseImage(&img);
return 0;
}

追記

画像処理におけるマルチスレッドの利活用(OpenCV編):Linux版を書きました.Linuxユーザはこのpthread版を見てください.

*1:だれか報告してもらえると助かります

画像処理におけるマルチスレッドの利活用

最近研究で,ウェブカメラ(的なもの)から画像をとってきて画像処理(追跡とか重い処理)をすることがあります.

このとき,「画像をとってくる」処理は結構「待ち時間」があるので,リアルタイム処理をするときに困ります.

そこで,時間のかかる画像処理をやってる間に裏で画像をとってくる処理を並列して行う方法を書きます.「マルチスレッド」を使います.

とりあえず疑似コードで.

カメラからとってきたデータを「画像」へコピー
繰り返し始め
「temp画像」に撮影予約
「画像」を使って時間のかかる画像処理
撮影が終わるのを待つ(というかたぶん終わってる)
「temp画像」を「画像」へコピー
繰り返し終わり

ループ冒頭の“撮影予約”の部分では,スレッドを作成します.ここで作成したスレッドでは,“カメラからとってきたデータを「temp画像」へコピー”を実行します.

“撮影が終わるのを待つ”部分では,上で作成したスレッドの処理が終わるまで,メインの処理を停止させて待ちます.

これにより,時間のかかる画像処理中に撮影を並行しておこなっておくことができるようになります.

次のエントリではもうちょい具体的なソースコードを書く.かも.

和紗

最近聴きまくりの歌手

和紗

というのも,センシングウェブ関連の作業を新風館でやっていると,中庭のステージで毎週金曜日にライブをしているから.

「アイタクテ」という曲が7/29に発売されるそうなので,ぜひ購入しましょう.

8/8には京都三条JEUGIAにて発売記念イベント&サイン会があるらしいのでちょっくらいってくる.

熊木杏里のときみたいに,無名なときにサイン貰っておこう.

皆既日蝕

おとなしくテレビ中継見てればもっとすごいの(皆既日食とかダイアモンドリングとか)が見れたのかもしれないけど….がんばって空見上げて部分日食の撮影に成功しました.

CIMG0281

近所のテナントさんがみんな出てきて空見てた.

「体感しよう!あいあいネット」第1回イベントまであと10日

イベントまであと10日となったので再び告知.

体感しよう!あいあいネット

で告知した通り,7月31日12:00~新風館にてSensing WEBプロジェクト(京都大学ら)が主催するイベント「体感しよう!あいあいネット」が開催されます.

第1回のイベントは,ナビゲーターに谷口キヨコさんを迎えたオープニングトークと,デモ展示の2部構成です.

平日ですが,ぜひお越しください.


大きな地図で見る

proxy 経由の Twitter4R

サーバラックの温度をTwitterへ出力するbotを書いた.そのときProxy越しにポストする必要があったので,そのメモ.

id:takahirox さんのrubygems の twitter を使ったクライアントスクリプト ( プロキシ対応 )

を参考にプログラムを作ったんだけど,

Twitter::HTTPAuth.http_proxy( PROXY_ADDR, PROXY_PORT )

の部分でHTTPAuthなんてないよというNameError.バージョンアップしてAPIが変わったのか?

なんだかんだでいろいろいじってるうちに

id:woinary さんのMETARの情報をTwitterに投稿する

を見つけて,そこのコメントアウトしてある部分に書いてあった,

Twitter::Client.configure do |conf|
conf.proxy_host="プロクシホスト名" # http://とかは不要
conf.proxy_port=ポート番号         # 数値型
end

でいけるらしいことが分かった.

で,とりあえずひたすら「Hello Twitter」を出力するbot over proxyの例.

require 'time'
require 'rubygems'
require 'twitter'
Twitter::Client.configure do |conf|
conf.proxy_host="プロクシホスト名" # http://とかは不要
conf.proxy_port=ポート番号         # 数値型
end
client = Twitter::Client.new(
:login    => "アカウント",
:password => "パスワード"
)
loop do
client.status(:post,"Hello Twitter")
sleep 60  # 1分ごと
end

これで,1分ごとに”Hello Twitter”を出力する.

garden

最近,誰かが「garden」をカバーしているということで,TSUTAYAへ行って,オリジナルの方をレンタルしてきた.

Garden / Sugar Soul feat. Kenji


D

何年たってもいい曲はいいなぁ.kjすごい.

で,誰がカバーしてるのかな~と思って検索してみたらこれ.

May. J / Garden feat. DJ KAORI, Diggy-MO’, クレンチ&ブリスタ


D

May. J はあまり知らなかったけど,微妙.クレンチ&ブリスタは,岡本真夜の「Alone」をヒップホップに改悪しちゃったりしてるやつで,Beginのボーカル+m-floの偽物みたいな感じのグループ.DJ KAORIはdoubleと一緒にやってた「Miss DJ」という曲が結構好き.あとDiggy-MO’はかっこいい.

mixiとの使い分け

最近mixiの方にいろいろ書いてたけど,内輪ネタ以外はこっちの方に書くべきかもと思った.

mixiは内輪ネタだけにする.

逆に,内輪ネタじゃないものは,積極的にはてダの方に書くようにする.