2013年4月25日木曜日

OpenCV for Android SDK の2.4.5のチュートリアル3のソースを眺めてみた 2



前回の続き

mCameraがJavaCameraViewのprotectedのメンバーなので、JavaCameraViewを継承したクラスしかアクセスできない

そのため、解像度を変えるには、オリジナルのクラスを作成しないといけないので、チュートリアル3では、JavaCameraViewを拡張して、Tutorial3Viewを定義し、いくつかのメソッドを追加している


・現在の解像度の取得は、Size getResolution()であり、やっていることは

return mCamera.getParameters().getPreviewSize();

である

・解像度の変更は、void setResolution(Size resolution)であり、やっていることは

disconnectCamera();
        mMaxHeight = resolution.height;
        mMaxWidth = resolution.width;
        connectCamera(getWidth(), getHeight());

である。

一旦カメラの取り込みを中止し、mMaxHeight、mMaxWidthに値を設定後、再度カメラを起動しているが、サイズの指定にgetWidth()という少し回りくどいことをしている


補足

JavaCameraViewは、ソースが

sdk\java\src\org\opencv\android\JavaCameraView.java

にあるので眺めてみると少し仕組みがわかる

ドキュメントはここ


0 件のコメント:

コメントを投稿