LoginSignup
0
0

More than 5 years have passed since last update.

Raspberry PI3 でソニーセミコンダクタソリューションズのIU233をSSP+OpenCV経由で動かす③ IU233をCSIから撮影

Posted at

概要

今年のみんなのラズパイコンテスト2017でソニーセミコンダクタソリューションズさんの「IU233」をお借りすることができました.
IU233をラズパイで動かす手順については,「ビジョンプロセッシング・コミュニティ」にて説明がなされているのですが,これを実際にプログラムに組み込んで使用するためにOpenCV上からアクセスすることを目指してトライしてみました.

前回までのあらすじ

USB接続での画像取得はある程度見えてきました。しかし、cv::Matを使ったcpp的なやり方だとカメラの解像度をコントロールすることもできない状態でした。

今想定しているガジェットはUSBでコントロールできるのならそれでもいいんですが、高速シャッターとしての機能が欲しいのと、できれば高速動画も使えたら嬉しいなと思っているので、CSIで使う方法になるんじゃないかな、となんとなく思っています。

色々とフォーラムにも書き込んで、ここでもやっぱりSSPを介してやるのが良さそうなので、
SSPを使ってトライ。

Highsspeedを試す

ダウンロードサイトにHighspeed撮影のサンプルがあったので、これをダウンロード。
readmeにあるように、フォルダの位置を決めて「highspeed」にリネーム。
makeしたらコンパイルできるというが。。。。

highspeed.c:78:1: error: unknown type name ‘CvVideoWriter’

って怒られる。

CPPベースのサンプル「FaceDetection」を試す

最初はviewersampleGainを試していたんだけれど、C系だったのでなかなかうまくいかず、CPP系のFaceDetectionをベースにチェック。

カメラはIU233決め打ちなので、該当部分以外削除
fame_preprocess 内の

    // Detect faces
    std::vector<Rect> faces;
    face_cascade.detectMultiScale( RGBSmallImg, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30) );

    for( i = 0; i < faces.size(); i++ )
    {
      //Point center( faces[i].x + faces[i].width*0.5, faces[i].y + faces[i].height*0.5 );
      Point lefttop ( faces[i].x*((float)1/resize_ratio), faces[i].y*((float)1/resize_ratio));
      Point rightbottom ( (faces[i].x + faces[i].width)*((float)1/resize_ratio),
              (faces[i].y + faces[i].height)*((float)1/resize_ratio));
        cvRectangle( RGBImg, lefttop, rightbottom, Scalar( 255, 0,0 ), 1);
    //        ellipse( image, center, Size( faces[i].width*0.5, faces[i].height*0.5), 0, 0, 360, Scalar( 255, 0, 255 ), 4, 8, 0 );
    }

部分を削除して、シンプルなフレームカメラモードにしました。
結果がこれ
スクリーンショット 2017-08-10 13.52.55.png

画像は取れていますが45FPSくらい。

まだシャッター速度やFPSは変更できていないけれど、
これでopencvに入れ込むことはできました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0