虚苦心観察ブログ

ブログ管理者である虚苦心が私利私欲に基づいて書いているブログです。主にガジェットのレビューだったり、画像処理のことだったりを記事にしています。

GoPro Hero 3 Black Edition - 準備+オプションその他編

前回の続きで GoPro Hero 3 Black Edition。今回は準備編ということで、実際に使うまでの準備と別途購入したオプションその他について載せようかと思います。

 

まずはカメラを防水ケースから取り出します。

カメラの上にある白い三角形の部分をスライドさせながらレンズのある方を上に上げると蓋が開きます。

f:id:ysuzuki116:20130105204547j:plain

こんな感じ。

f:id:ysuzuki116:20130105204528j:plain

 

これが出した状態。すっきりしました。

正面には電源兼モード選択ボタンと液晶、レンズ、ボタンの右に2つのランプがあります。上のランプはWifiの状態を、下のランプは撮影状態などを表すために光ります。

f:id:ysuzuki116:20130105205224j:plain

上から。シャッター兼決定ボタン。その左下にあるのは撮影状態を表すランプで正面にあったものと同じです。底面と後ろにも同様のものがあります。色々な使い方があるのでどこからでも撮影状態が確認出来るようにするためなんでしょうね。

f:id:ysuzuki116:20130108235638j:plain

右から。上の方にある3つ穴は恐らくマイク、その下の1つ穴はスピーカーでボタン操作時に結構な音で鳴ります。おそらく防水ケースにいれていても聞こえるようにするためでしょう。音量調節は可能です。

その下にあるボタンはWifiボタン。Wi-fi Remoteの設定がしてあると、このボタンを押すことでWifiがonになり、Wi-fi Remoteとつながります。もう一度押すとoffになるかと思いきや、Wifiの設定に移動します。

左にあるくぼみはオプションであるバッテリーパックやLCDパックを取り付けるためにあるみたいです(バッテリーパックとLCDパックは注文済みで1/10に届くのでその時に)。

f:id:ysuzuki116:20130108235555j:plain

左から。同じく恐らく3つ穴のマイク。その下に蓋があり・・・

f:id:ysuzuki116:20130108235651j:plain

開けるとインターフェースが出てきます。micro HDMI と mini USB、micro SDXC スロット。micro SDXC にはカードが入った状態です。

f:id:ysuzuki116:20130108235716j:plain

こんな感じで刺さってます。

f:id:ysuzuki116:20130106232238j:plain

裏の蓋を外した状態とバッテリー。バッテリーは本体の半分近くを占めています。

f:id:ysuzuki116:20130105205144j:plain

並べてみました。見た感じ1/3の容積を占めてる感じですかね。

f:id:ysuzuki116:20130108235528j:plain

 

次に付属のWi-fi Remote。ボタンと液晶はカメラと全く同じ機能です。

f:id:ysuzuki116:20130105205259j:plain

上の写真でWi-fi Remoteの右からでてる金属部分は外すことができます。

外すと下のようになり、写真右に映っている専用充電ケーブルが刺さります。

この写真ではWi-fi Remoteに腕時計用のリストバンドを付けて腕に取り付けられるようにしています。

f:id:ysuzuki116:20130109002446j:plain

 

さて、その他のオプションなど。

まずは正規オプションである三脚用のアタッチメント。

防水ケースに取り付けて利用します。

f:id:ysuzuki116:20130105210333j:plain

 

撮影した動画を保存するためのSDXCカード。SANDISK フラッシュカード SDSDQUA-064G-U46A

今のところ問題なく動作中。

f:id:ysuzuki116:20130105205943j:plain

 

さらに手持ち三脚。ポラロイド の Polaroid ピストルグリップ テーブルトップ ミニ三脚 (小型カメラ, カムコーダー用)

f:id:ysuzuki116:20130105210735j:plain

足をたたむとグリップに。

f:id:ysuzuki116:20130109003447j:plain

手に持つとこんな感じ。

f:id:ysuzuki116:20130109003409j:plain

三脚用アタッチメントと一緒に使うとこんな感じ。

値段の割にしっかりしていていい感じです。

f:id:ysuzuki116:20130105211139j:plain

 

もう一つ自転車のハンドルに取り付けるようにクランプ式の雲台も。

バイク用 カメラマウント

写真は撮ってないのですが、試しに自転車に取り付けてみたら揺れる揺れるでどうしょもなかったです・・・ただ揺れる原因がクランプに直結している回転部分で、ここがバネ式の固定になっていたからでした。ネジを外して軸を少し削って再びネジでがっちり締めなおしたらなんとか使えそうな感じになりました。

 

と、今回は以上です。

カメラの外観とリモコン、オプションその他の説明でした。

オプションその他は先に挙げたバッテリーパック以外にもいくつか購入したので、次回にでも紹介しようと思っています。

ではでは。

GoPro HERO 3 Black Edition 開封の儀

12月頭に日本でようやく発売されたアクションカメラのニューバージョン、GoPro HERO 3 Black Edition がやっと家に届きました。

 

発売日当日に新宿ヨドバシカメラに行ってみたのですが予約分で売り切れ、次回入荷分の予約待ち。

ならばとネットショップの方で予約して約1ヶ月ほど待ってようやく届いたのです。

 

とりあえず開封の儀ということで写真など。

(今になって見てみると色々撮り忘れが・・・)

 

配達用の箱から出した状態。袋に入っていました。

f:id:ysuzuki116:20130105202123j:plain

 

袋から出して右側面。カメラのスペックが書かれています。

f:id:ysuzuki116:20130105202338j:plain

スペック部分を拡大。4K 撮影から240FPS撮影まで出来るとんでも仕様。

ただよくよく見てみると普通に使うのにちょうどいい設定がないんですよね。720pで30FPSとかリーズナブルな感じなのとか。

f:id:ysuzuki116:20130105202402j:plain

 

左側面の説明書き。内容物が書かれています。

Wifiリモコンとアタッチメントがいくつか入っています(最後に内容物一覧の写真を載せています)。

f:id:ysuzuki116:20130105202506j:plain

 

後ろから。

f:id:ysuzuki116:20130105202414j:plain

カメラとリモコンの機能説明。

f:id:ysuzuki116:20130105202437j:plain

少し詳しいスペック。

f:id:ysuzuki116:20130105202451j:plain

 

説明が書かれていた部分は別の箱になっていました。

f:id:ysuzuki116:20130105202906j:plain

 

カメラが入っている部分のプラスチックはテープで止まっているだけで簡単に外れました。

よくよく考えてみるとこの箱って魅せるために結構お金かけてますよね。

f:id:ysuzuki116:20130105203013j:plain

 

Wi-fi Remote を取り外したところ。針金でギッチギチに縛ってあって外すのに苦労しました。

f:id:ysuzuki116:20130105203653j:plain

 

カメラの取り外し方。箱の蓋がカメラ固定のアタッチメントになっているんです。凝ってますよね。

f:id:ysuzuki116:20130105203929j:plain

 

カメラを取り外したところ。右のペンチはWi-fi Remote を取り外すときに仕方なく。。。

f:id:ysuzuki116:20130105204012j:plain

 

蓋を開けると説明書が。と思いきや、説明書はWebからPDFをダウンロードしろという説明書き。

f:id:ysuzuki116:20130105204024j:plain

 

箱の中にはさらに箱が入っており、アタッチメントなどが雑多に詰まっていました。

f:id:ysuzuki116:20130105204107j:plain

 

内容物一覧。

f:id:ysuzuki116:20130105204227j:plain

右上にあるのがカメラで防水カバーに入ったままになっています。

その左にあるのがWi-fi Remote。

さらにその左にあるのがカメラを固定するために使うアタッチメント。

Wi-fi Remote の前にある袋に入った黒いのはアタッチメントをハメる部分。平面用と曲面用が用意されていて、両面テープでヘルメットなどに貼り付ける仕様になっています。

その右にあるのはWi-fi Remote 用のキーリング。

左の方にある2つのケーブルのうち左がWi-fi Remote専用充電ケーブル、右がカメラとパソコンを繋ぐためのUSBケーブル。

中央あたりにある袋に入った四角いのはバッテリー。カメラ本体の容積の約2分の1を占める大きさ。

右の方にある紙っぺらは本当に紙っペラ。Webに説明書ありますよーくらいのことしか書かれていませんでした。

で、最後に一番下の方にあるのがステッカー。3枚入っていました(1枚は早速ノートPCに貼りました)。

 

と開封時に撮影した写真は以上です。

開けるだけなのに結構手間取りました・・・主にWi-fi Remoteの性で。

にしても海外製品のパッケージっておもしろいですね。パッケージ自体のデザインにも凝っていてかっこいい。製品の魅力をよく引き出しています。

 

カメラを有効活用するために正規オプションその他色々購入しているのですが、明日が仕事始めなので今日はここまで。

Logitech Wifi DVD 「LDR-PS8WU2BKW」

以前はアメーバブログで買ったガジェットの記事をちょくちょく書いていましたが、はてなに移ってから書くこと忘れていたのですが、久々にキワモノなガジェットを買ったので書こうかと思います。

買ったのはLogitechより発売された Wifi DVD 「LDR-PS8WU2BKW」。
iPhoneAndroid からWifi経由でDVDが見れるようになるあるようでなかった一品。

商品紹介ページにあるように、「日本初」とあるので海外では同じような製品が出ていたのでしょうね。

この商品を知る切っ掛けになったのはこちらの記事。
最初は要らないかなーと思っていたのですが、
「お風呂でDVDが見れたらいいなー」
と思って買ってみました。

ちなみにこの商品はLogitechの直販専用商品。
電気屋さんでは売っていません。

まずは写真。
といっても3枚だけ。

正面より
大きさはブルーレイディスクのケースより少し大きいくらい。厚みは2枚分くらい。
DVDの出し入れのためのボタンがあるだけで凄くシンプル。

後ろより。
見にくいのですが、左から External、RESET、PC/AV、POWERとなっています。
ExternalはスマートフォンとのWifi接続時にここにUSBメモリなどを指すことで使えるそうです。
Resetは設定の初期化。
この商品、普通の外付けドライブとしても使えるのですが、その時に利用するのがPC/AV。
Powerには付属のACアダプタをつなげます。

よくよく見てみたら、WANなんてのが隠されてました。LANポートです。
なんだこれは。未検証です。



使い方なんですが、この商品が単体でWifiルータとなるので、こいつにスマートフォンWifi接続することで専用アプリからDVDが視聴できます。

Androidの専用アプリはこちら
で、このアプリはLogitech製ではなくて別のところで作られているみたいで、名前を変えただけで見た目が一緒なアプリが存在します。
これ
サムスン向けみたいですが、問題なく動作しました。
むしろこっちのほうが機能的に上みたいで、操作性が上がっています。


この商品の欠点なんですが、これにWifi接続中はインターネットにつなげません。
まぁ、DVD見てるときはインターネットを見ることはないのでいいのですが、見るために毎回接続しなおさないといけないのが面倒なんですよね。


実際の使い勝手なのですが、さすがにDVDプレイヤーにはかないません。
わざわざWifi繋ぎ直さなきゃいけませんし、ある程度ネットワークとかわかってないと使いこなせない気がします。
そう考えると直販なのはしかたないですね。

見る分には問題なく見れます。
ただ、インターレース方式のDVDには対応していないみたいです。ギザギザがでちゃいました。
見るときにWifi DVDからの画質を3段階で設定出来ます。
が、それが何を意味しているのかわかりません。(調べれば出てくるんでしょうが、今のところ問題ないので放置してます。)
ちなみにサムスン版のAndroidアプリでは、画質を通信速度に合わせて自動で合わせてくれる機能が付いてるみたいです。正常に機能したりしなかったりしますが。



頑張って書いているつもりなのですが、なかなかまとまらないですね。
この手の商品にしては頑張って作られている気はしますが、キワモノですね。機械が苦手な人にはオススメ出来ません。

否定的な内容ばかりになってしまいましたが、それは比較対象が既存のDVDプレイヤーしかないからだと思います。操作性や使い勝手は敵う訳ないので、どうしても否定的になってしまいます。


ですが、DVDがどこでも見れるというのはいいですね。
お風呂の中でもみれるので、長風呂にはもってこい。

個人的には満足。もちろん改良してほしい点は多々ありますが、使い方を考えれば悪くないものだと思います。


ということで、Logitech Wifi DVD 「LDR-PS8WU2BKW」でした。



追記:
シールによって覆い隠されていたLANポートを使ってみました。

なんと隠されていただけでちゃんと機能しました。これだけでも驚き。
ちなみに有線LAN接続するとWifiは無効になりました。

さらに!これを持っているルータにつないで、アプリ側でIPアドレスを直接指定したらちゃんと認識してくれました!これは嬉しい!
ルータの切り替えをする必要がなくなったので凄く使い勝手がよくなりました!やったね!

でもこの機能って本来なら手動での設定なしで使いたい機能なので、総評はかわりませんねー。
やっぱり機械が得意な人じゃないと使いこなすのは無理そうです。

GrowCut - 画像処理のおはなし

8カ月ぶりの更新。

ちょっとやるきが出たので画像処理のおはなしです。

試してみたのはGrowCutという画像のセグメンテーション手法の一つ。

画像のセグメンテーションというとGrabCutが有名ですね。OpenCVにも実装されてるし。

じゃぁ何でGrowCutなんて試したのか。

それはとても簡単だから。

実装するだけなら本当に超簡単(自分にも出来たくらい)。

理論的な内容は本家の以下のページを見ていただけば。

また実装例は以下にあります。

(注意:この実装例にはバグがあって、ところどころおかしいです。L2ノルムの計算は平方根必要ないのにsqrtで平方根をだしてしまっています。)

あと宣伝になりますが、GitHubにプログラムをあげました。
プログラムは先に紹介した二つ目のURLを参考にし、理論部分は一つ目のURL(論文)で補強してプログラムのバグを回収しています。
kyokushin/GrowCut-gui · GitHub

GitHubにあげたプログラムはWindows上で開発しています。
ですが、Windowsに依存した実装はしたつもりはないのでLinuxなど他のOS上でも動くと思います。

利用しているライブラリはOpenCVのみ。


使い方は二通り。

一つはコマンドライン引数なしで実行。
するとGUIが立ち上がり、ソースコードと一緒に入っているネコの画像が表示されます。
ネコの部分を左クリックで大雑把にぬり、背景を右クリックで大雑把にぬります。
できたらキーボードの'g'を押すとGrowCutが開始されます。
GrowCutが始まると、セグメンテーションの進捗と各セルの強さ(論文参照)を表示するウィンドウが新たに2つ現れ、残りはひたすらまつだけです。
処理が完了すると、セグメンテーションの結果を利用してネコの部分を切り抜いた画像が表示されます。
表示されたウィンドウでキーを何か押すとプログラムは終了します。

二つ目の使い方は、コマンドライン引数に2つの画像を与えて実行します。
第一引数には、カラー画像を与えます。
第二引数には、前景(ネコの画像だったらネコ)を赤色でぬり、背景(ネコの画像ならネコ以外)を青色でぬり、さらにそれ以外は黒の画像になっている画像を与えます。
実行すると読み込んだ画像が正しいか確認の表示がでます。
間違っていなければキーボードの'n'以外を押してください。
あとはひたすらまつだけです。
これも処理が完了するとセグメンテーションの結果を利用してネコの部分を切り抜いた画像が表示されます。

以上でプログラムの使い方は終わりです。

プログラムのアルゴリズム部分だけ上げておきます。

		converged = 0;

		for( int i=0; i<label.rows; i++ ){
			unsigned char* cline = (unsigned char*)src_image.ptr(i);
			for( int h=0; h<label.cols; h++ ){
				unsigned char* cpix = cline + 3 * h;

				for( int neigh_y=-1; neigh_y<=1; neigh_y++ ){
					if( i+neigh_y < 0 ||  label.rows <= i+neigh_y) continue;
					unsigned char* nline = (unsigned char*)src_image.ptr(i+neigh_y);

					for( int neigh_x=-1; neigh_x<=1; neigh_x++ ){

						if( neigh_x == 0 && neigh_y == 0
							|| h+neigh_x < 0 || label.cols <= h+neigh_x) continue;

						//パラメータの計算
						unsigned char* npix = nline + 3 * (h+neigh_x);
						double b = (double)npix[0] - cpix[0];
						double g = (double)npix[1] - cpix[1];
						double r = (double)npix[2] - cpix[2];

						double C = b*b + g*g + r*r; 
						double G = 1 - C / (3 * 255 * 255);

						//注目しているセルが勝ちなら更新しない
						if( G * strength.at<double>( i+neigh_y, h+neigh_x ) <= strength.at<double>( i, h )) continue;

						//注目しているセルが負けたのでラベルと強さを更新
						converged++;//セルの強さが何個更新されたか
						next_label.at<double>( i, h ) = label.at<double>( i+neigh_y, h+neigh_x );
						next_strength.at<double>( i, h ) = G * strength.at<double>( i+neigh_y, h+neigh_x );

					}
				}
			}
		}

アルゴリズム部分はほんとにこれだけ。
ほかはGUIで操作しやすいようにだったり、画像に変換して見やすいようにしたりとかの処理です。

あまり考えずにプログラム作ったのでところどころおかしいですが、一応動くはずです。
ご自由にお使いください。

PHPUnitのインストール

自分の開発環境はCentOSサーバーを使っている。
1年前くらいに作ったのだが、あまりメンテナンスとかしてなかった。
というか、家の中でDLNAつかって動画・音楽を垂れ流しがメインなのでそうする必要がなかったのです。

しかし、友達となにかつくろうぜ!ってなってPHPを書くことになったのだけど、だったらちゃんとした開発を学ぶためにテストというものを実践しようじゃないか!と自分の中でなった。

で、PHPでテストというとPHPUnitというのが有名。
これをインストール仕様としたのだが、PHPUnitの前にPearで若干挫折仕掛けた。
なので解決方法を書いておく。

まずはPearをアップグレードしなければならないのだけど、PHPUnitの最新版を入れようと本家のサイトを参考にしても出来なかった。
原因はPearのバージョンにある、ということだったはず(1ヶ月くらい前の話なので忘れた)。

で、Pearをバージョンアップしようとしたら怒られた。
たしか依存しているパッケージが非推奨だからとかでインストールされず、他のパッケージがインストール出来なかったのだ。

$ sudo pear upgrade PEAR
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/oauth.so' - /usr/lib/php/modules/oauth.so: undefined symbol: php_pcre_match_impl in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/oauth.so' - /usr/lib/php/modules/oauth.so: undefined symbol: php_pcre_match_impl in Unknown on line 0
pear/PEAR dependency package "pear/Console_Getopt" downloaded version 1.3.1 is not the recommended version 1.2.3, but may be compatible, use --force to install
pear/Archive_Tar requires PEAR Installer (version >= 1.5.4), installed version is 1.4.9
pear/Console_Getopt requires PEAR Installer (version >= 1.8.0), installed version is 1.4.9No valid packages foundupgrade failed

で、今になって見返してみたら、--forceを付ければ無理やりだけどインストール出来ます、という注意書きが。
そういうわけで、--forceを付けてアップグレードを行った。

そしたらすんなりインストールされ、PHPUnitの最新版もすんなりインストールされた。

]$ sudo pear upgrade --force PEAR
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/oauth.so' - /usr/lib/php/modules/oauth.so: undefined symbol: php_pcre_match_impl in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/oauth.so' - /usr/lib/php/modules/oauth.so: undefined symbol: php_pcre_match_impl in Unknown on line 0
warning: pear/PEAR dependency package "pear/Console_Getopt" downloaded version 1.3.1 is not the recommended version 1.2.3
warning: pear/Archive_Tar requires PEAR Installer (version >= 1.5.4), installed version is 1.4.9
warning: pear/Console_Getopt requires PEAR Installer (version >= 1.8.0), installed version is 1.4.9
downloading PEAR-1.9.4.tgz ...
Starting to download PEAR-1.9.4.tgz (296,332 bytes)
...........................................done: 296,332 bytes
downloading Archive_Tar-1.3.9.tgz ...
Starting to download Archive_Tar-1.3.9.tgz (18,123 bytes)
...done: 18,123 bytes
downloading Console_Getopt-1.3.1.tgz ...
Starting to download Console_Getopt-1.3.1.tgz (4,471 bytes)
...done: 4,471 bytes
upgrade ok: channel://pear.php.net/Console_Getopt-1.3.1
upgrade ok: channel://pear.php.net/Archive_Tar-1.3.9
upgrade ok: channel://pear.php.net/PEAR-1.9.4
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
To install use "pear install pear/PEAR#featurename"

エラー文ってちゃんと読まなきゃダメですねっていう教訓でした。
おそらく--forceを使わずに非推奨だったバージョンのパッケージだけバージョン指定すれば問題なくインストール出来たのだと思われますが、まぁ動いているのでいいでしょう。