2013年6月26日水曜日

OpenCVのバージョンを表示する

複数のバージョンを使用していると混乱してくるので、1行追加すると間違わなくなる

std::cout << std::string(CV_VERSION);

2013年6月25日火曜日

OpenCVの日本語フォーラム

Googleグループに、OpenCVのフォーラムができていた。


活動的ではないが、質問すれば識者が答えてくれるかもしれない

OpenCVを1ボードコンピュータで試してみた


1ボードコンピュータと呼ぶべきかはわからないが、BeagleBoardに始まり、多種多様なARM搭載の評価ボードが手ごろな値段で販売されている

そのうちの1つであるpcDuinoにOpenCVをインストールしてみてOpenCVの動作を確認したが、カメラ入力に必要なV4Lをインストールしてもカメラを認識してくれない

google先生に聞いたところ、パッチを当てたファームが必要とのこと。
いまは、購入時に搭載されていたOS(種別?)をそのまま使用しているが、それなりの作業が必要となるので、ペンディング中である。

現時点ではraspberry piが、OpenCVとV4Lの動作が確認できている。

2013年6月20日木曜日

OpenCVをraspberry piにインストールして、カメラを試してみた 2


昨日の続き

MSのLifeCom HD300は、ubuntuで試した場合、室内で撮影対象を変えてもfpsは安定していたが、raspberry piの場合、fpsの値の変動が大きい
320x240の場合 場所により、22fpsから15fpsの範囲となった。

さてLifeCom HD300の解像度を176x144、あるいは、160x120に設定し、表示も入力と同じサイズで、試したところ、双方と30fpsを得ることができた。

LifeCom HD300もそうだが、他のカメラもホワイトバランスが崩れているため、何か対策をしないと、色情報の使用に支障をきたすだろう


手元に無いので確認できていないが、専用カメラだとVGAで30fpsの遅延なし表示ができるとのこと。また、専用のドライバーで、OpenCVにデータを取得することができるらしい

ただし、カメラの人気が高く入手に3ヶ月かかるらしい。

2013年6月18日火曜日

OpenCVをraspberry piにインストールして、カメラを試してみた


今度は、 raspberry piにOpenCVをインストールしてみて、手持ちで性能のよい、MSのLifeCom HD300でカメラ入力のfpsを測ってみた

ソースからビルドする元気はないので、ubuntuと同じようにお手軽に2.3.1を

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libopencv-dev

のコマンドでインストールを行う
インストール時間は、20分くらい

raspberry piは、pcDuinoと異なりraspberry piは最初からV4L2に対応しており、カメラをつなぐと使える状態となる

こちらもpcDuinoと同じようにパスが、/usr/include /usr/libなので、コンパイルのオプションを修正して、fpsを表示する実行ファイルを作成してみた

結果

VGA入力 VGA表示 9fps 遅延 1秒
QVGA入力 QVGA表示 15fps 遅延 微小
QVGA入力 VGA表示 7fps 遅延 2秒

非力なのは仕方がない

LifeCom HD300は、

176x144
160x120
のサイズもサポートしているので後で試してみる

2013年6月17日月曜日

OpenCVをpcDuinoで試したみた


世間では、OpenCVをrapsberry piにインストールして楽しんでいる人が多いので、マイナーなpcDuinoにインストールしてみた

ソースからビルドする元気はないので、ubuntuと同じようにお手軽に2.3.1を

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libopencv-dev

のコマンドでインストールを行う
(インストールだけでも1時間かかる)

ubuntuのテストプログラムをgccでコンパイルしてみたが、cv.hが見つからないためエラーとなる

インクルードを opencv.hppに変更し、gccで指定するパスを

/usr/local/includeから /usr/includeに変更し、

同様に、ライブラリの指定を

/usr/local/libから /usr/libに変更することで、無事にコンパイルすることができた。

実行すると、Gtkの警告が表示されるが、無事png画像を表示することができた。

2013年6月13日木曜日

OpenCVでWebカメラのfpsを測ってみた


カメラからのVGA入力を表示するプログラムを作成し、fpsを計測してみた。
室内での撮影のため、機種によっては光量不足でフレームレートが低下しているが、蛍光灯などの光源を撮影すれば、最大レートで表示できる

ハンファ DC-NCR13U
 室内 13fps 光源 25fps ホワイトバランス かなり黄色より

ELECOM DLU130HSV
 室内 12fps 光源 25fps ホワイトバランス 少し黄色より

ELECOM DLD200
 室内 15fps 光源 30qfps ホワイトバランス 少し黄色より

ELECOM DLK130
 室内 15fps 光源 30qfps ホワイトバランス ? 昨日カラーだったのに謎か白黒に

LifeCom HD300
 室内 30fps 光源 30qfps ホワイトバランス 少し黄色より

室内の明かりが暖色系なので、いずれもホワイトバランスが若干ずれてしまい、特に肌色が赤みかかってしまっている
また、フリッカーの影響も受けており、民生品を無調整でそのまま画像認識にしよするのは、困難かと思う

フォーカスは、カメラの値段に比例している。

OpenCVでUSB カメラ情報を取得してみた 2



Ubuntuでwindowsと同じようにカメラ情報を取得してみた

Ubuntu(V4L2)のほうが、Windowsよりもサポートしている項目が多い

CV_CAP_PROP_FRAME_WIDTH = 640
CV_CAP_PROP_FRAME_HEIGHT = 480
CV_CAP_PROP_FPS = -1
CV_CAP_PROP_FORMAT = -1
CV_CAP_PROP_BRIGHTNESS = 0.501961
CV_CAP_PROP_CONTRAST = 0.348718
CV_CAP_PROP_SATURATION = 0.5
CV_CAP_PROP_HUE = 0.501961
CV_CAP_PROP_GAIN = -1
CV_CAP_PROP_EXPOSURE = -1
CV_CAP_PROP_CONVERT_RGB = -1

getできた項目は、setできるのではないかと思われる

2013年6月12日水曜日

UbntuでUSBカメラの情報を取得する



Ubuntuは、特別なソフトをインストールしなくても、usbデバイスの情報を得ることができる

terminalを起動して

lsusb コマンドを実行
 usb IFに接続されているデバイスの一覧が表示される。

次に、対象とするカメラのバス番号とデバイス番号を調べる
彼にそれぞれ、002 002とすると

lsusb -s 002:002 -v > hoge.txt コマンドで

hoge.txtに、情報が書き込まれる

これにより、
製造会社、製品名、最大電流、解像度などの情報を得ることができる。

例 MSのLifeCam HD-3000

  iManufacturer           1 Microsoft
  iProduct                2 Microsoft® LifeCam HD-3000
    MaxPower              500mA
        wWidth                            640
        wHeight                           480

補足
iManufacturerは、製造会社のことであり、販売会社ではない

例えば、エレコムが販売しているUCAM-DLD200でも


  iManufacturer           1 Novatek
  iProduct                2 UCAM-DLD200BA

のように製造会社は異なることがある
(安いカメラは、ほぼOEMと考えて間違いない)

2013年6月11日火曜日

OpenCVをUbuntuにインストールする


公式に公開されている情報は古く、また、Linux初心者には省略された情報が多すぎて、結局google先生に訪ねることになる

改善希望
1 必要なパッケージが列挙されているが、それらを準備する方法を書いてほしい。
   gccの例のように書いてほしい

  Synaptic Managerからインストールができると書いてあるが、Synaptic Managerに登録されているのが、古い場合がある。


2 makeのoptionの説明をつけてほしい
  cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local
  は、記載されているが、他のOptionに関しては不明なので、google先生の結果を参考にする必要がある



もし、最新にこだわらないのであれば、コマンドラインで

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libopencv-dev

でOpenCV2.3.1をインストールすることができる。

pythonが必要な場合は、追加で、
sudo apt-get install python-opencv
を行う

2013年6月7日金曜日

OpenCVのビデオ教材が発売された

久しぶりに本家のニュースが更新されていた。

OpenCV Computer Vision Application Programmingというタイトルのビデオ教材が発売された

著者のSebastian Montaboneは、OpenCV with Practical Computer Vision Projectsの編集もしている有名なエンジニアであるので期待できそうである。

価格は、16ドルで時間は、2時間17分 もちろん英語である

5章のサンプルをここで見ることができる

GPU Tech ConferenceでOpenCV CUDAのプレゼンが行われる

久しぶりに本家のニュースが更新されていた。

Free intro to GPU-accelerated Computer Vision with OpenCVというプレゼンテーションが、6/11の表題の会議で行われる

視聴は、無料だが登録が必要とのこと

2013年6月5日水曜日

Instant OpenCV Starterのkindle版が451円で販売されている

初心者向け(C/C++の経験あり)の洋書がkindle版だが451円で販売されている
(6/5日9時の価格 上がる可能性あり)

ページ数が、56ページ(実質40ページ)なので期待はしないほうがよいかもしれない。

さすがにペーパバック版2108円は高い気がする

ペーパバック版では、中身を少し見ることができ、目次で内容が確認できる


2013年6月4日火曜日

Tegra向けSDK TDAPが人知れず更新されている

nVidiaからアナウンスがされていないが、TDAPが更新されていた。

専用の記事ではなく、TEGRA DEVELOPER RESOURCESで触れられているため、消えてしまうかもしれない

現在は、5/23日にリリースされたTegra Android Developer Pack 2.0r4が、最新と思われる

あと、sampleも3月に人知れずリリースされている。


ダウンロードには、Tegra開発者の登録が必要である(無料

補足
Tegra4搭載のRegzaの発売がアナウンスされた。Excite Pure は300ドル前後らしい
TDAPもTegra4にあわせて更新されるのであろうか?

2013年6月3日月曜日

Embedded Vision AllianceでOpenCV関連の記事やビデオを見つけた

twitterで偶然見つけたが、Embedded Vision Allianceという団体がある

ここに会員登録すると、いくつかのComputer Vision関連のビデオを見たり、参加企業が寄稿した記事を読むことができる。
登録は、右上のregisterから行う。無料だが、個人情報の記入とメールでの確認が行われる。

Videoや記事にはOpenCV関連もあるので、参考になるかもしれない。もちろん、すべて英語である。

サイトには、検索機能が付いており、OpenCVで検索すると、3日17時で、162件該当している
(フォーラムトピック32件含まれてる)


twitterのつぶやきは、

April 2013 Embedded Vision Summit Technical Presentation: "Using OpenCV in Industrial Robotics," Gary Bradski, OpenCV Foundation

の案内であり、ここからアクセス