[Armadillo:06181] Re: Re: USB カメラについて質問です

k email@hidden
2010年 11月 18日 (木) 14:25:11 JST


お世話になります、河野です。

レスありがとうございます、返事が遅くなり申し訳ありません
。

> Armadillo-440で使用していますが解像度が352x288までしか
> > 正常に表示できない状態です。
> "正常に表示できない"とは、具体的にどのような挙動をしま
すか?
本来であればカメラの画像が描画されるはずのところが
黒で塗りつぶされています。

> Armadilloのカーネル設定ですがlinux-2.6.26-at7を使用、
> >   [*] USB support  --->
> >     <*> Support for Host-side USB
> >       Allow High Speed --->
> >         (X) on OTG port
> > と、しております。
> Allow High
> Speedの設定は、Armadillo-500シリーズ用の設定なので、
> Armadillo-400シリーズ用に設定する場合は、メニューに出
てきません。
> お使いの製品またはコンフィギュレーションをもう一度確認
していただけますか?
失礼しました、以前に書いたメモから写し取ったものでAllow...
は間違いでした、
menuconfigでは実際にはAllow以下は存在しませんでした。

> Armadilloで動作するluvcviewは以下の手順でビルドできま
すので、
> それで動作確認していただけますか?
確認しました。

> [armadillo ~/]# SDL_NOMOUSE=1 ./luvcview -L
の結果は以下の通り

luvcview 0.2.4

SDL information:
  Video driver: fbcon
  Hardware surfaces are available (510k video memory)
Device information:
  Device path:  /dev/video0
/dev/video0 does not support read i/o
{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
{ discrete: width = 640, height = 480 }
        Time interval between frame: 1/30,
{ discrete: width = 160, height = 120 }
        Time interval between frame: 1/30,
{ discrete: width = 320, height = 240 }
        Time interval between frame: 1/30,
{ discrete: width = 176, height = 144 }
        Time interval between frame: 1/30,
{ discrete: width = 352, height = 288 }
        Time interval between frame: 1/30,
{ discrete: width = 1280, height = 1024 }
        Time interval between frame: 1/15,
{ pixelformat = 'UYVY', description = 'YUV 4:2:2 (UYVY)' }
{ discrete: width = 640, height = 480 }
        Time interval between frame: 1/30,
{ discrete: width = 160, height = 120 }
        Time interval between frame: 1/30,
{ discrete: width = 320, height = 240 }
        Time interval between frame: 1/30,
{ discrete: width = 176, height = 144 }
        Time interval between frame: 1/30,
{ discrete: width = 352, height = 288 }
        Time interval between frame: 1/30,
{ discrete: width = 1280, height = 1024 }
        Time interval between frame: 1/15,
[email@hidden (ttymxc2) /home/ftp/pub]#

--- ここまで

640x480や1280x1024に対応しているようです。


実際に320x240で実行してみました
[email@hidden (ttymxc2) /home/ftp/pub]# DISPLAY=:0
./luvcview -s 320x240
luvcview 0.2.4

SDL information:
  Video driver: x11
  A window manager is available
Device information:
  Device path:  /dev/video0
Stream settings:
  Frame format: YUYV (MJPG is not supported by device)
  Frame size:   320x240
  Frame rate:   30 fps

Quit signal received.
Cleanup done. Exiting ...

--- ここまで

液晶に正常に表示されます。
SDL_NOMOUSE=1 ./luvcview -s 320x240
だと画面は黒一色になりました。


DISPLAY=:0 ./luvcview -s 640x480 を実行した場合

luvcview 0.2.4

SDL information:
  Video driver: x11
  A window manager is available
Device information:
  Device path:  /dev/video0
Stream settings:
  Frame format: YUYV (MJPG is not supported by device)
  Frame size:   640x480
  Frame rate:   30 fps

Quit signal received.

--- ここまで

画面は黒一色になりました。
マウスカーソルは表示されています。
ctrl+c で終了しようとしても
Quit signal received.
の表示から進まず終了できません。
1280x1024も同様です。


SDL_NOMOUSE=1 ./luvcview -s 640x480 を実行した場合

luvcview 0.2.4

SDL information:
  Video driver: fbcon
  Hardware surfaces are available (510k video memory)
Device information:
  Device path:  /dev/video0
Stream settings:
  Frame format: YUYV (MJPG is not supported by device)
  Frame size:   640x480
  Frame rate:   30 fps
Segmentation fault
[email@hidden (ttymxc2) /home/ftp/pub]#

--- ここまで

画面は真っ黒になりプログラムは終了します。


> > 実際には高解像度の画像はビットマップファイルに
> > 保存するのですが、正常に動作しなかった為
補足ですがカメラの画像をビットマップのファイルに
出力するプログラムがあるのですが320x240や352x288の
ビットマップは正常に出力できるのですが
640x480等は出力できません。

液晶画面での表示は320x240程度で問題ないのですが
高解像度の画像をビットマップファイルとして
出力するのが目的です。
lucviewで640x480や1280x1024の指定しての実行が
正常にできない = ビットマップファイルの作成も
不可能と思ってよいのでしょうか?


以上よろしくお願い申し上げます。



--- Takenoshita Koyo <email@hidden>
wrote:

> 竹之下です。
> 
> いくつか疑問点があるので、確認させてください。
> 
> >
> Armadillo-440で使用していますが解像度が352x288までしか
> > 正常に表示できない状態です。
> "正常に表示できない"とは、具体的にどのような挙動をしま
すか?
> 
> > スペックでは1280x1024まで可能になっていて
> > PCでのDebian-lennyでは640x480の確認しています。
> > ノートPCで画面がXGAだったため1280x1024は完全には
> > 確認していませんが、画面に入りきらないながらも
> > 表示できているようでした。luvcviewで確認しました。
> PCでは、luvcviewを使って動作確認しているのですね。
> 
> >
> Armadilloのカーネル設定ですがlinux-2.6.26-at7を使用、
> >   [*] USB support  --->
> >     <*> Support for Host-side USB
> >       Allow High Speed --->
> >         (X) on OTG port
> > と、しております。
> Allow High
> Speedの設定は、Armadillo-500シリーズ用の設定なので、
> Armadillo-400シリーズ用に設定する場合は、メニューに出
てきません。
> お使いの製品またはコンフィギュレーションをもう一度確認
していただけますか?
> 
> > カメラを接続しているUSBは基盤に近い側のUSB2.0で
> ここは、問題ないですね。CON5下段がHighSpeedPortです。
> 
> > 動作確認のアプリケーションはカメラに付属の
> > CD-ROMに含まれていたUVCViewを使用しました。
> > (http://www.nurs.or.jp/~ogochan/hack/uvcview.html)
> PCの場合(luvcview)と、Armadilloの場合(UVCView)で使って
いるアプリが
> 異なるのですね。
> 
> Armadilloで動作するluvcviewは以下の手順でビルドできま
すので、
> それで動作確認していただけますか?
> 
> 開発環境ATDE3(Debian GNU/Linux 5.0
> lenny)を使っているとして、luvcviewのソースパッケージを
> 持ってきて、クロスコンパイルできるようにするパッチ(添
付ファイル)を当ててビルドします。
> 
> [PC ~]$ ls
> luvcview-0.2.4-for-cross.patch
> [PC ~]$ apt-get source luvcview
> [PC ~]$ cd luvcview-0.2.4/
> [PC ~/luvcview-0.2.4]$ patch -p1 <
> ../luvcview-0.2.4-for-cross.patch
> [PC ~/luvcview-0.2.4]$
> PKG_CONFIG_PATH=/usr/arm-linux-gnueabi/lib/pkgconfig/
> CROSS_COMPILE=arm-linux-gnueabi- make
> [PC ~/luvcview-0.2.4]$ readelf -h luvcview | grep
> Flags
>   Flags:                             0x4000002, has
> entry point, Version4 EABI
> 
> ※事前にlibSDLとlibdirectfb(とそれらが依存するパッケー
ジ)のクロス開発用パッケージを
>   インストールする必要があります。
>  
> apt-crossコマンドを使用して、以下のパッケージをインス
トールしてください。
>     libdirectfb-1.0-0
>     libdirectfb-dev
>     libsdl1.2debian
>     libsdl1.2-dev
> 
>   apt-crossコマンドの使い方。
>  
>
http://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_software_manual_ja-1.3.0/ch04.html#sec-
クロス開発用ライブラリパッケージのインストール
> 
> ビルドできたら、実行可能ファイルluvcviewが生成されます
ので、それをArmadilloに転送します。
>
また、libSDLとlibdirectfb関連のライブラリもArmadilloの/lib
ディレクトリに転送します。
> 私の場合、ftpで/home/ftp/pubディレクトリに転送して、/lib
ディレクトリにシンボリックリンクを
> 張りました。
> /home/ftp/pub/libSDL-1.2.so.0.11.1
> /home/ftp/pub/libdirect-1.0.so.0.1.0
> /home/ftp/pub/libdirectfb-1.0.so.0.1.0
> /home/ftp/pub/libfusion-1.0.so.0.1.0
> /lib/libSDL-1.2.so.0 ->
> /home/ftp/pub/libSDL-1.2.so.0.11.1
> /lib/libdirect-1.0.so.0 ->
> /home/ftp/pub/libdirect-1.0.so.0.1.0
> /lib/libdirectfb-1.0.so.0 ->
> /home/ftp/pub/libdirectfb-1.0.so.0.1.0
> /lib/libfusion-1.0.so.0 ->
> /home/ftp/pub/libfusion-1.0.so.0.1.0
> 
> カメラを接続したあと、以下のコマンドを実行すると、カメ
ラが対応しているフォーマット
> が表示されます。
> [armadillo ~/]# SDL_NOMOUSE=1 ./luvcview -L
> 
> On Wed, 17 Nov 2010 17:40:39 +0900 (JST)
> k <email@hidden> wrote:
> 
> > 河野と申します。
> > 
> > USBカメラについて質問です。
> >
>
E!Kit-CAM-USB(http://e-kit.jp/products/cam/ekit-cam-usb.htm)
> > を
> >
> Armadillo-440で使用していますが解像度が352x288までしか
> > 正常に表示できない状態です。
> > スペックでは1280x1024まで可能になっていて
> > PCでのDebian-lennyでは640x480の確認しています。
> > ノートPCで画面がXGAだったため1280x1024は完全には
> > 確認していませんが、画面に入りきらないながらも
> > 表示できているようでした。luvcviewで確認しました。
> > 
> >
> Armadilloのカーネル設定ですがlinux-2.6.26-at7を使用、
> > make menuconfigで
> > Device Drivers  --->
> >   Multimedia devices  --->
> >     <*> Video For Linux
> >     [*] Video Capture Adapters  --->
> >       < > MXC Video For Linux Camera
> >       < > MXC Video For Linux Video Output
> >       [*] V4L USB devices  --->
> >         <*> USB Video Class (UVC)
> > 
> >   [*] USB support  --->
> >     <*> Support for Host-side USB
> >       Allow High Speed --->
> >         (X) on OTG port
> > と、しております。
> > 
> > カメラを接続しているUSBは基盤に近い側のUSB2.0で
> > 動作確認のアプリケーションはカメラに付属の
> > CD-ROMに含まれていたUVCViewを使用しました。
> > (http://www.nurs.or.jp/~ogochan/hack/uvcview.html)
> > 
> > 実際には高解像度の画像はビットマップファイルに
> > 保存するのですが、正常に動作しなかった為
> > 確認としてUVCViewを使用しています。
> > 
> > Armadillo-440 + E!Kit-CAM-USB で高解像度の
> > 表示方法をご存知でしたらご教示願います。
> > 
> > 
> > 以上よろしくお願い申し上げます。
> > 

--------------------------------------
Yahoo! Toolbar  -  For your Internet Safety
http://pr.mail.yahoo.co.jp/toolbar2/



armadillo メーリングリストの案内