私は画像処理のプロジェクトに取り組んでいますが、OpenCVライブラリをインポートしたところで、RGBフレームをバイナリフレームに変換しました。今私は、バイナリイメージをキャプチャしてデータベースに格納する方法を知らない。 OpenCVライブラリに関するチュートリアルはありません。だから誰も私が問題を解決するのを助けてくれるかもしれない。私のコーディングは私がやりたいことはボタンを作成し、onclickの方法で、私はイメージをキャプチャすると、画像のプレビューを表示する必要がある。..下の短い中のSOAndroidで画像を取り込む方法OpenCV
public class MainActivity extends AppCompatActivity implements View.OnTouchListener,CameraBridgeViewBase.CvCameraViewListener2 {
private static final String TAG = MainActivity.class.getCanonicalName();
private CameraBridgeViewBase mOpenCvCameraView;
private Mat mRgba;
private Scalar mBlobColorHsv;
private Scalar mBlobColorRgba;
private Mat mIntermediateMat;
private Mat mGray;
Mat hierarchy;
List<MatOfPoint> contours;
private BaseLoaderCallback mLoaderCallback=new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
switch (status) {
case LoaderCallbackInterface.SUCCESS: {
Log.i(TAG, "OpenCV loaded successfully");
mOpenCvCameraView.enableView();
mOpenCvCameraView.setOnTouchListener(MainActivity.this);
}
break;
default: {
super.onManagerConnected(status);
}
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
mOpenCvCameraView=(CameraBridgeViewBase)findViewById(R.id.opencv_tutorial_activity_surface_view);
mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE);
mOpenCvCameraView.setCvCameraViewListener(this);
}
@Override
public void onPause(){
super.onPause();
if(mOpenCvCameraView!=null)
mOpenCvCameraView.disableView();
}
@Override
public void onResume(){
{
super.onResume();
if(!OpenCVLoader.initDebug()) {
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mLoaderCallback);
}
else{
mLoaderCallback.onManagerConnected(LoaderCallbackInterface.SUCCESS);
}
}
}
@Override
public void onDestroy(){
super.onPause();
if(mOpenCvCameraView!=null)
mOpenCvCameraView.disableView();
}
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
@Override
public void onCameraViewStarted(int width, int height) {
mRgba=new Mat();
mBlobColorRgba=new Scalar(255);
mBlobColorHsv=new Scalar(255);
mRgba = new Mat(height, width, CvType.CV_8UC4);
mIntermediateMat = new Mat(height, width, CvType.CV_8UC4);
mGray = new Mat(height, width, CvType.CV_8UC1);
hierarchy = new Mat();
}
です。誰かがこの問題を解決するのを助けてください。前もって感謝します。
要するに、Matをビットマップに変換したいですか? –
実際にあなたは正しいと思ったが、ボタンを使って画像をキャプチャしたい。私はそれをする方法を知らない。コーディングの仕方を教えてください。どうすればいいですか? –
編集した回答を投稿しました –