Darkside(https対応しました)

2021年10月03日の記事

2021年10月3日(日) 21:43

データー量過多?

 タミヤ純正のパーツは、容易に調達できた。
 パッケージを見ると、CR−01以外にもかなり多くのシャーシに対応している。ならば、スチール製のカスタムギアぐらいサードパーティーから出ていないだろうか?
 改めてネット検索してみる。

 しかし残念ながら、やはり発見できない。CR−01はレーシングカーではなくクロウラーのシャーシなので、重量より耐久性を重視したカスタムパーツの需要はあると期待したのだが、幾ら探しても見つからない。
 「普通」の使い方なら亜鉛ダイキャスト製で充分な強度があるということなのだろうか。

 ボールデフならば過大トルクで破壊されずに済みそうだが、同じ空間に置換可能なボールデフは売っていない。

 さて、デフベベルギヤーセットとは異なり本当のカスタム注文となる平歯車の方は、そう短時日で入手できない。昨日に引き続き、カメラ2台を同時使用するための調査が続く。
 これまたおかしい。どうしても2台同時に画像を取得できない。どちらが先でも、後から取得しようとしたカメラの read() が失敗するのだ。
 例によってネットの前例では、なにごともなく普通に read() を別々に実行して2つの映像を取得しているものばかり。みんな何も考えずに通っている処理が、なぜ自分のところだけエラーが出るんだ?

 失敗例を探すと、データー量が多過ぎる場合に失敗するという例が複数見つかった。
 解像度の設定は成功しているようだが、フレームレートの設定が効いていない。動作可能な最高のフレームレートになっちゃってるようで、つまりはカメラ1つがデーターバスを占拠してしまう可能性が高い。そして、2つ目のカメラからデーターを読もうとするとエラー。
 最終的には電波で飛ばすため、解像度が高くても無駄なだけ。ラジコンで実用にするには、320×240がせいぜいだと考えている。外国のように、ビットレートを稼げる周波数が屋外で許されている訳じゃないので。

 ならば思い切り低い解像度で設定すれば良さそうなものだが、照準用カメラは解像度を上げないといけない。倍率が足りないので、デジタルズームしたいのだ。高い解像度で画像を取得し、一部だけ切り出して送信用画像を得る。解像度を下げると、倍率が下がってしまう。

 フレームレートが効かないならと、データー圧縮を試す。

fourcc = cv2.VideoWriter_fourcc('M','J','P','G')
cam1.set(cv2.CAP_PROP_FOURCC, fourcc)

 という感じでモーションjpeg に切り替え。エラーは出ないが、2台のカメラに設定できない。cv2.VideoCapture() は2台とも成功するが、その直後に set() すると最初に実行したカメラしか成功しない。それでもデーター量は減っているだろうと、解像度の高い照準用カメラのデーターを圧縮。
 しかし結局、2台目の read() でエラー。1台のデーターを減らしてももう1台は上限までデーターを流そうとするのであれば、2台同時は無理ってことか。
 何とかして、2台ともモーション jpeg 化に成功するか、それとも2台ともフレームレートの設定に成功する必要がありそうだ。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4