全体のとりまとめ! ユーザ・アプリの作成

第1部
第
5章
ネット×リアルも非常に簡単!
全体のとりまとめ!
ユーザ・アプリの作成
鎌田 智也
モバイル
Wi-Fi ルータ
インターネット上の
サーバ
ニュースを配信
USB Wi-Fi ドングル
Wi-Fi
ラズベリー・ HDMI
モバイル・
パイ
プロジェクタ
無線
3Gなど
補正調整用
USBジョイパッド
インターネット
情報
ニュース・テロ
ップやウェブ・
サイトなど
ディスプレイ以外
のどこにでも表示
(投影)できる
持ち運びOK!
図 1 今回の自作アプリでやること…簡易的だがインターネット上の情報を身の回りにリアルタイムに投影してみる
を読むことができます.
実際にこの部分のプログラムを自作して,いろいろ
試すと非常に面白いと思います.
やること
ここでは,平面射影行列による画像変換などの投影
関連以外のプログラムのしくみやはたらきを紹介しま
す.今回は以下のような機能をもたせたアプリケー
ションを作ってみました.
・電光掲示板のようにテロップ・ニュースを表示する
・プロジェクタから周辺を照らす白丸ライト照射
(自転車に取り付けたため,夜間用に)
・指定の URL のウェブ・サイトを表示する
Wi-Fi モバイル・ルータ経由でインターネット上の
ニュースが周辺を照らす光と共に投影され,ニュース
使うライブラリ
①ネット・ニュースのダウンロード
②XMLのデコード処理
libcurl
libtinyxml2
③フォントのビットマップ化
(ラスタライズ)
処理
SDL-ttf
④表示画面への埋め込み
OpenCV
⑤投影ひずみ補正処理&表示
SDL
図 2 処理フロー…タダのライブラリを使って作れる
2015 年 5 月号
● プログラムの動作
図 1 に動作を,図 2 に処理フローを示します.
Wi-Fi モバイル・ルータを経由してダウンロードし
た RSS からニュース本文を取り出して,文字フォン
トをビットマップ化して生成した映像をプロジェクタ
に出力する処理を繰り返し実行します.
次のような手順で処理していきます.
①ニュースのダウンロード
インターネット上のニュースを配信するサーバか
ら RSS をダウンロードします.libcurl ライブラ
リを使います.
② XML デコード
XML で書かれている RSS からニュースの文章を抽
出します.libtinyxml2 ライブラリを使います.
③フォントのビットマップ化(ラスタライズ)
ニュース文章を文字のビットマップにラスタライ
ズ処理します.SDL-ttf ライブラリを使います.
④表示画面への埋め込み
横スクロールするようにウィンドウ処理しながら投
影画像を用意します.画像処理ライブラリOpenCV
51