“Programming” カテゴリのアーカイブ

マイナビ様より「OpenCV 2 プログラミングブック」を献本頂きましたのでレビューを
簡単にまとめたいと思います.購入する際の参考にして頂ければと思います.

OpenCV 2 プログラミングブック OpenCV 2.2/2.3対応

著者/訳者:OpenCV 2 プログラミングブック制作チーム

出版社:マイナビ( 2011-12-27 )

定価:¥ 3,570

Amazon価格:¥ 3,570

単行本(ソフトカバー) ( 296 ページ )

ISBN-10 : 4839941262

ISBN-13 : 9784839941260




構成としては書籍ページの目次に沿って(本音ベースで)書いています.

▽Chapter.1 導入 編
OpenCVの歴史だけでなくてライセンス面の記載も
これまでの書籍に比べてしっかり書かれている印象です。

▽Chapter.2 スタートアップ 編
1 OpenCV 2.3簡単インストール(Windows編)
2 OpenCVをMacで利用する
3 Ubuntu 10.04 LTSでOpenCVを利用する

スクリーンショット付きで解説が丁寧なのと,Win,Mac,Linux一通り載っているのは○。
あと,Linuxでよくトラブルになりがちなカメラキャプチャについてもシステムの問題か
OpenCVの問題かを切り分けるための基本アプリ紹介は地味にうれしいかも。

4 C++インタフェース
従来の書籍ではあまり触れられていないC, C++ I/Fの違いやC,C++ I/Fの共存方法についての
記載はこれまでC I/Fで作った資産を再活用したい場合には嬉しいです。

5 Pythonインタフェース
スクリーンショット付きでわかりやすいのと結構嵌りがちなNumpyインストールも
きちんと書かれています。Mac,Linuxについては紙面の都合で省略?
 
6 GPUによる画像処理
GPU関連の記載はちょっと薄めな印象。
おそらく,執筆当時はあまりGPU機能が有効になる関数が多くなかったことや
最近のGPU実装更新のスピードが速いためだと思われます。ただ,基本的な使い方は
押さえてあるので導入についてはすんなり読めるはず。欲を言うなら,
GPU実装されている関数リスト等があると便利かも。

▽Chapter.3 リファレンス 編
1 cv::Matの基本処理
2 線形代数
3 画像処理
4 描画処理

C++ I/F最初の難関であるMatの使い方や基本的な画像処理の関数の使い方が
一通り網羅されています。サンプル付きなので非常にとっかかりやすいと思います。

5 入出力
6 その他の機能

画像の読み書きやカメラキャプチャ等よく使う機能は一通り網羅されているため,
サンプルを参考にすれば大抵のことはできると思います.
欲を言えばDirectShowを使ったキャプチャもVideoCaptureで使えることが
あまり知られていないようなのでその辺の記述もあるとなお良いかも。
あと,Qtを有効にした場合の基本的な使い方もあるとうれしかったです(結構便利なので)。

▽Chapter.4 ケーススタディ 編
1 画素値の直接操作

画素アクセス方法別の速度比較はパフォーマンス的に重要なトピックなので
初学者だけでなくとも読む価値があると思います。
 
2 カメラキャリブレーションとステレオ視による距離計測
基本的なキャリブレーションのやり方については記載されているので簡単に試せます。
欲を言えば2.3から導入されたCirclesGridを使ったキャリブレーションの
記事もあると嬉しかったかも。

3 画像のJPEG圧縮とPSNRの計算
これまでのOpenCV本ではあまり取り上げられていないと思われる画像指標PSNRについて
記載があるので,この辺りのデータを取る必要がある研究者向けとしては割とうれしいトピック。

4 簡単な笑顔度の算出
5 CAPTCHA画像の生成

比較的簡単なアルゴリズムの組み合わせによる笑顔度算出サンプルが紹介されている。
OpenCVの中身に慣れてきたら自身でアルゴリズム改善等をしてみて楽しめるトピック。

6 KinectとOpenCVの連携
Kinect連携はOpenCVを使ってやるサンプルはWeb上にそこまで多くない(Kinectを
他のSDK叩くサンプルが多い)のでサンプルとしてまとまっているのは重宝するかも。
 
7 ミニチュア風画像処理
8 SURF特徴を使ったイメージモザイキング
このあたりのトピックは最近のスマートフォン向け画像処理アプリでよく使われると思われるので
オリジナルの画像編集アプリ等を作りたい場合には参考になりそう。

9 機械学習と画像処理
クラスタリングの話がメイン。
この分野の需要はあると思われるのでもう少しボリュームがあると嬉しいかも。
(OpenCVの機械学習がアレなので意図的に削られた?)

10 顔の子供化
11 Photoshop向けプラグインの作成

OpenCVを使ったPhotoshop向けプラグイン作成の記事は
従来のOpenCV本には無いはずなので,自前で作ったアルゴリズムを俺々Photoshopプラグインを
作りたい場合には有用(おそらくWeb上にもあまり情報は無いはず)。

12 動画ファイルをカメラ入力のように扱う
研究の場合,動画ファイルを入力としてアルゴリズム実装することが多いので
開発効率という点でこのトピックは嬉しいと思います。よく動画読み込みで
コーデック関連のトラブルを耳にするのでその辺まで突っ込んだ記事があれば良かったかも。

Comments コメントなし »



から機能追加しました!!

・財布画像アップデート

twitter上で前回の動画に言及してくれていた
ちょりさん(http://www.nicovideo.jp/mylist/15194746)に
ダメもとで財布イラストを依頼してみたところ,
キレイな財布イラストを描いて頂きました.
本当にありがとうございます!!

・小銭音再生機能
加速度センサの値を取得して,激しく振りが検出された場合に
小銭の音が鳴ります.

・スライドして段階的にバリバリ鳴る
指をスライドすることで段階的にバリバリ鳴ります

・財布の開閉が可能
指を上下にスライドすることで財布が開閉します.
※バリバリ音は開くときのみに鳴ります

・「やめて!!」表示機能
振ったとき or たくさんスライドすると「やめて!!」という
メッセージが表示されます.

AppStore申請完了しました!!
受領されたらアプリの配信URLと動画を公開したいと思います.

このエントリの続きを読む »

Comments 1 コメント »

昨日の酒の勢いで,「彼氏の財布がマジックテープ式だった」
iPhoneアプリで再現してみました.製作時間1時間ということで
かなりヘタレな実装ですが,マジックテープ式財布を扱った
iPhoneアプリとしては世界初なはず!!(多分)



絵が得意な方がいらっしゃいましたら,絵を提供下さい。。。
動画にある絵はパワポでてきとーに描きました(苦笑)

某絵師さんに財布のイラスト依頼しました!!

*************************

【追記(2009/10/26)】

タグがカオスな感じになってきた!!
「無駄に高画質」タグはちょっと意外だったかも.
無駄って言うな-!! ヽ(`Д´)ノウワァァァン
#ビデオカメラ持ってるのに出すのが面倒でデジカメで撮りました.

あと,「実写でもいいんじゃね」「くだらねぇww」
ってコメントに対しては,自分でもそう思ってるので
全く反論の余地がありません(汗)

【追記(2009/11/1)】
描画方法をOpenGL ESに変更したり,100均でマジックテープ入手して
サンプリングしたりしてます.短い音をスワイプ量によって鳴らして
それらしく鳴るのかはやってみないとなんとも。。。
#コメントが流れすぎて要望機能の全てを拾えないかも.

今週末くらいに形になって,気分が乗ったらAppStoreに申請したいな-と.

このエントリの続きを読む »

Comments コメントなし »

GAINERをC++で扱うライブラリgainercxx v0.1をリリースしました.
詳細はgainercxx公式サイトをご覧下さい.

現在,和文ドキュメントを作っていないので時間を見つけて作りたいな-と思っています.
あと,いくつか未実装のAPIがあるのでその辺は追々実装したいところ.

というわけで,ソースコード,ドキュメントも置いてあるので
ツッコミ等があればコメント欄 or メールでお願いします.

それにしても地味に疲れたなー.主に英語ドキュメント作成が。。。orz

Comments コメントなし »

GAINERをC++で扱うライブラリをごにょごにょと整理中.
昔自分で書いたコードがコールバック関数をセットしないと落ちるようになっていて泣いた。。。orz

とりあえず,GAINERについているボタン押したとき,離したときのイベント発行等を確認.
APIとしてはこちらのサイトにあるのに近いかなと.
基本的にはprocessingにあるGAINERのAPIに合わせるつもりです.

あとはドキュメント整備かな-.これから英語がさらに必要になりそうなのでドキュメントは
英語で書こうかと思っています.日本語での需要があれば後で書きます(多分)
#Doxygenで生成するドキュメントのローカライズってどうすれば効率良いんだろう??

というわけで,アルファ版的なものを今週末に(できたら)リリース予定です.
やる気の波が非常に激しいdandelionの頑張りにご期待下さい(苦笑)
#とか書くとなんか打ち切りフラグのよう(以下略)

Comments コメントなし »

dandelion’s log » CV・ARに関する普通じゃない勉強会で発表した
GAINERをC++で扱うライブラリ(for Windows)の公開準備中です.
自由に使って欲しいのでMITライセンスで配布予定.

公式サイト,README,COPYING,ChangeLogを途中まで作って疲れた(苦笑)
#英語面倒くさい。。。orz

あと,現在,自身の環境ではWindows Vistaでしか動作確認できないため,
GAINERをお持ちでWindows XP環境で動作確認して頂ける方がおられましたら,


までご連絡下さい.

準備ができ次第追って連絡させていただきます.

■サンプル動画
加速度センサの値をもとにティーポットを傾けるサンプルプログラム.



加速度センサの値をもとにウマウマ(゚∀゚)するサンプルプログラム.

Comments コメントなし »

あの楽器関連の進捗.
OSC(Open Sound Control)関連のライブラリを調査してみました.
※現段階でライセンスがGPLとわかっているものは除外.

ObjC OSC
Objective-CによるOSC実装.iPhoneアプリに使うならこれが一番簡単?
ライセンスをこれから確認しないと。。。

oscpack — a simple C++ OSC packet manipulation library
C++によるOSC実装.BSD-style license.
これをObjective-Cに移植するって手もありか?

ということで,とりあえず,Mac環境でoscpackライブラリを生成して,送受信サンプルプログラムを動作させる
ところまでやってみました.すんなりとObjective-Cに移植できるのかな??

************************

最近,第三者視点で顔色が悪いらしい.気付かなかった!!
言われてみればそんな感じがするような,しないような(←よくわかってない)

自覚が無いあたりがいろいろマズい気がする。。。orz
その辺にはあまり興味が無いんだろうな>自分
とりあえず,今日は早めに寝よう.

Comments コメントなし »

動画投稿完了.昨日寝る前にやろうと思ったらアップロード300人待ちだったので,
諦めました.なので起きてから投稿.

基本的に前のエントリに書いたことを動画にしただけです.
#動画作成がどんどん適当になっているのは仕様d(以下略)

あと,サウンドエフェクトをちょっと勉強するために,

C言語ではじめる音のプログラミング―サウンドエフェクトの信号処理

著者/訳者:青木 直史

出版社:オーム社( 2008-12 )

定価:¥ 2,730

Amazon価格:¥ 2,730

単行本 ( 168 ページ )

ISBN-10 : 4274206505

ISBN-13 : 9784274206504




を買ってみました.C言語のサンプル付き(※ここ重要)で
説明もわかりやすいので初学者には良さそうですね.

*************************************

話ががらっと変わりますが,
@IT:OSSライセンスが求める条件とは?
という記事がわかりやすいです.OSSライセンスの説明には難しい用語がたくさん出てくるので
腰を据えて読むのが大変なんですが,この記事はよくまとまっているかなと.次回の記事を楽しみにしておきます.

Comments コメントなし »

巷で流行のAdobe AIRアプリ開発の手始めとしてmp3 player(らしきもの)を作ってみました.
【参考サイト】:Adobe AIRでクールなMP3プレーヤーを作ってみる:CodeZine

ということで,上記サイトを読み始めると,

<対象読者>
* Flash、Flexでの開発経験のある人。
* 基本的なActionScript3.0の知識のある人。
* プラットフォームを問わないアプリケーションを開発したい人。

と書いてあったりします.
ええと,ちなみに自分のステータスについてですが,

* Flash、Flexでの開発経験のある人。     → 全くありません。。。orz
* 基本的なActionScript3.0の知識のある人。 → (ほとんど)ありません。。。orz
* プラットフォームを問わないアプリケーションを開発したい人。→ ちょっと興味アリ

ということでいきなり幸先が不安な感じです(苦笑)
まぁ,「細かいこと考えるより手を動かそう!!」という軽いノリでスタート.

上記サイト読みつつ,紹介されているものと同等の機能は10分位で実装完了.
ただ,差分機能を付けないと何だか負けな感じなので,ActionScriptのAPIを調べて,
PauseボタンとProgressBarを追加してみました.

あと,Openボタンの右側のテキストフィールドにはファイル名だけ入れるように
したかったんですけど,mp3のID3タグに格納されている曲名って文字コードが
Shift-JISだったりUTF-8だったりして,ちゃんとやろうと思うと文字コード判定,
文字コード変換が必要なので今回は諦めました  orz (ActionScript初心者には荷が重かった。。。)

というわけで,今回の成果物を公開してみます. → download
※実行にはAdobe AIRランタイムを事前にインストールしておく必要があります.

全くのAdobe AIR初心者でも1時間位でmp3 player(らしきもの)が作れちゃう
この敷居の低さはスゴイなーと思いました.> Adobe AIR


Comments コメントなし »

実例で学ぶゲーム3D数学

著者/訳者:Fletcher Dunn Ian Parberry

出版社:オライリージャパン( 2008-10-04 )

定価:¥ 3,570

Amazon価格:¥ 3,570

大型本 ( 484 ページ )

ISBN-10 : 4873113776

ISBN-13 : 9784873113777




をO’Reilly様より献本頂きました.ありがとうございます.
読了後レビューを書かせていただきます.

ということで,気分も乗ってきたので
OpenCVのCVS版(20081010)で遊んでみた
というエントリで試したSURFを動画に適用してみました.
※追跡対象は「実例で学ぶゲーム3D数学」です.

ある程度オクルージョンが発生してても追跡できてますね.

Comments 1 コメント »