Ubuntu Weekly Recipe

第230回 ウェブカメラの映像をリアルタイムに補正する

この記事を読むのに必要な時間:およそ 2 分

前回のレシピでは,Skypeの新しいバージョンをUbuntuで使う方法を紹介しました。ウェブカメラを購入して友人とビデオ通話やビデオチャットを楽しみたい方もいると思います。せっかくウェブカメラを購入したのに,何か思っていたのと映りが違うといった不満を持つ方もいるでしょう。そこで今回は,ウェブカメラの映像をリアルタイムに補正する方法についてのレシピです。

Video for Linuxサブシステム

ウェブカメラ選びは本連載の第147回が参考になるでしょう。たいていはUSB接続のものを購入することになるはずです。この際,UVCに対応しているものを購入すると,Ubuntuでもほぼ確実に動作します。

ここで,Ubuntuのウェブカメラのドライバーについて簡単にまとめます。USB接続のウェブカメラのドライバーは,Video For Linux(V4L)というプロジェクトで開発されています。

V4Lはビデオキャプチャーデバイス,ビデオオーバーレイデバイス,ウェブカメラ,AM/FMラジオカードデバイスをLinuxで使えるようにするための仕組みです。ドライバーとなるカーネルモジュールと,ソフトウェアにAPIを提供するライブラリー,ライブラリーを利用したユーティリティーソフトウェアがその成果となります。注1

このV4Lには新旧の2つのAPIバージョンがあり,旧APIすなわちバージョン1は今は使われていません。しかし,Skypeの以前のバージョンはこのバージョン1を採用していたようです。そのためウェブカメラによっては,バージョン1との互換ライブラリーを事前にロードしてからでないとSkypeから使うことができませんでした。Skypeの最新バージョンである4.0ではこの点も改善されているようです。

注1
ビデオ入力を扱うサブシステムにはこの他に,デジタル放送を受信するデバイス用のDVBサブシステムがあります。もともとこの2つは別々に開発されていましたが,現在はMediaサブシステムの構成要素としてLinuxTVで開発が進められています。Mediaサブシステムにはこの他にRemoteControll(rc)サブシステムが含まれており,こちらは本連載の第214回で扱ったようなデバイス向けとなります。

Video4Linuxコントロールパネル

Video4Linuxコントロールパネル(v4l2ucp)を使うことで,V4Lサブシステムから,ウェブカメラをダイレクトにコントロールできます。Cheeseなどのソフトウェアによる補正と異なり,デバイスそのものの挙動を変えるため,補正された映像を他のソフトウェアで利用することができます。

インストールするには,Ubuntuソフトウェアセンターでキーワード「v4l2ucp」で検索し,⁠Video4Linuxコントロールパネル」をインストールしてください。

図1 Ubuntuコントロールセンターでv4l2ucpを検索

図1 Ubuntuコントロールセンターでv4l2ucpを検索

起動するには,UnityのDashでキーワード「v4l2ucp」で検索してください。

図2 v4l2ucpのメインウィンドウ

図2 v4l2ucpのメインウィンドウ

V4l2ucpのメインウィンドウは縦に長く,ノートPCなどの低解像度ディスプレイには収まりません。AltキーとF7を同時押しするとウィンドウの真ん中を掴んで移動することができますので,ウィンドウ下部のコントロールを操作したい場合は試してみてください。

v4l2ucpでコントロールできる項目は多岐に及びます。次の項目が代表的なものです。

  • Brightness: 明るさを調整
  • Contrast: コントラストを調整
  • Saturation: 色調表現の階層を調整
  • Hue: 色相を調整
  • Gamma: ガンマ補正の調整

各項目値を変更するだけでデバイスの設定値も変更され,ビデオ入力に反映されます。Skypeなどのソフトウェアでビデオ入力を使用中でも,各項目の操作は可能です。色相調整はちょっとしたいたずらに使うこともできるでしょう。

なお,デバイスが対応していないコントロール項目まで表示されてしまうため,そのようなコントロールを操作しようとすると,次のダイアログが表示されます。

図3 コントロールできない項目を操作しようとすると入力/出力エラーが表示される

図3 コントロールできない項目を操作しようとすると入力/出力エラーが表示される

ビデオ入力のプレビュー

v4l2ucpではビデオ入力をプレビューしながらの操作も可能です。ビデオ入力をプレビューするには,⁠Preview」メニューから「Start preview」を選択してください。新しくウィンドウが開いてビデオ入力を映し出します。

図4 プレビューウィンドウはmplayerを利用している。10.04のディスクが映っているのは3色揃っていたからであり,他意はない

図4 プレビューウィンドウはmplayerを利用している。10.04のディスクが映っているのは3色揃っていたからであり,他意はない

ただしこの場合,デバイスからのビデオ入力を他のソフトウェアと同時に利用できません。Skypeなど目的のソフトウェアでビデオ入力を利用する前に,プレビューを見ながらビデオ入力デバイスを調整しておくという使い方がよいでしょう。

著者プロフィール

坂本貴史(さかもとたかし)

Ubuntuのマルチメディア編集環境であるUbuntu Studioのユーザ。主にUbuntu日本コミュニティとUbuntu Studioコミュニティで活動。いつかユーザ同士で合作するのが夢。

コメント

コメントの記入