mirror of https://github.com/opencv/opencv.git
parent
507e2dc0ad
commit
9a2d6f854b
5 changed files with 1 additions and 255 deletions
@ -1,152 +0,0 @@ |
||||
package org.opencv.samples.tutorial2; |
||||
|
||||
import org.opencv.android.BaseLoaderCallback; |
||||
import org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame; |
||||
import org.opencv.android.LoaderCallbackInterface; |
||||
import org.opencv.android.OpenCVLoader; |
||||
import org.opencv.core.Core; |
||||
import org.opencv.core.CvType; |
||||
import org.opencv.core.Mat; |
||||
import org.opencv.core.Point; |
||||
import org.opencv.core.Scalar; |
||||
import org.opencv.android.CameraBridgeViewBase; |
||||
import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener2; |
||||
import org.opencv.imgproc.Imgproc; |
||||
|
||||
import android.app.Activity; |
||||
import android.os.Bundle; |
||||
import android.util.Log; |
||||
import android.view.Menu; |
||||
import android.view.MenuItem; |
||||
import android.view.WindowManager; |
||||
|
||||
public class Sample2NativeCamera extends Activity implements CvCameraViewListener2 { |
||||
private static final String TAG = "OCVSample::Activity"; |
||||
|
||||
public static final int VIEW_MODE_RGBA = 0; |
||||
public static final int VIEW_MODE_GRAY = 1; |
||||
public static final int VIEW_MODE_CANNY = 2; |
||||
|
||||
private static int viewMode = VIEW_MODE_RGBA; |
||||
private MenuItem mItemPreviewRGBA; |
||||
private MenuItem mItemPreviewGray; |
||||
private MenuItem mItemPreviewCanny; |
||||
private Mat mRgba; |
||||
private Mat mIntermediateMat; |
||||
|
||||
private CameraBridgeViewBase mOpenCvCameraView; |
||||
|
||||
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(); |
||||
} break; |
||||
default: |
||||
{ |
||||
super.onManagerConnected(status); |
||||
} break; |
||||
} |
||||
} |
||||
}; |
||||
|
||||
public Sample2NativeCamera() { |
||||
Log.i(TAG, "Instantiated new " + this.getClass()); |
||||
} |
||||
|
||||
/** Called when the activity is first created. */ |
||||
@Override |
||||
public void onCreate(Bundle savedInstanceState) { |
||||
Log.i(TAG, "called onCreate"); |
||||
super.onCreate(savedInstanceState); |
||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); |
||||
|
||||
setContentView(R.layout.tutorial2_surface_view); |
||||
|
||||
mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.tutorial2_activity_surface_view); |
||||
mOpenCvCameraView.setCvCameraViewListener(this); |
||||
} |
||||
|
||||
@Override |
||||
public void onPause() |
||||
{ |
||||
super.onPause(); |
||||
if (mOpenCvCameraView != null) |
||||
mOpenCvCameraView.disableView(); |
||||
} |
||||
|
||||
@Override |
||||
public void onResume() |
||||
{ |
||||
super.onResume(); |
||||
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback); |
||||
} |
||||
|
||||
public void onDestroy() { |
||||
super.onDestroy(); |
||||
if (mOpenCvCameraView != null) |
||||
mOpenCvCameraView.disableView(); |
||||
} |
||||
|
||||
public void onCameraViewStarted(int width, int height) { |
||||
mRgba = new Mat(height, width, CvType.CV_8UC4); |
||||
mIntermediateMat = new Mat(height, width, CvType.CV_8UC4); |
||||
} |
||||
|
||||
public void onCameraViewStopped() { |
||||
mRgba.release(); |
||||
mIntermediateMat.release(); |
||||
} |
||||
|
||||
public Mat onCameraFrame(CvCameraViewFrame inputFrame) { |
||||
switch (Sample2NativeCamera.viewMode) { |
||||
case Sample2NativeCamera.VIEW_MODE_GRAY: |
||||
{ |
||||
Imgproc.cvtColor(inputFrame.gray(), mRgba, Imgproc.COLOR_GRAY2RGBA, 4); |
||||
} break; |
||||
case Sample2NativeCamera.VIEW_MODE_RGBA: |
||||
{ |
||||
mRgba = inputFrame.rgba(); |
||||
Core.putText(mRgba, "OpenCV+Android", new Point(10, mRgba.rows() - 10), 3, 1, new Scalar(255, 0, 0, 255), 2); |
||||
} break; |
||||
case Sample2NativeCamera.VIEW_MODE_CANNY: |
||||
{ |
||||
Imgproc.Canny(inputFrame.gray(), mIntermediateMat, 80, 100); |
||||
Imgproc.cvtColor(mIntermediateMat, mRgba, Imgproc.COLOR_GRAY2BGRA, 4); |
||||
} break; |
||||
} |
||||
|
||||
return mRgba; |
||||
} |
||||
|
||||
@Override |
||||
public boolean onCreateOptionsMenu(Menu menu) { |
||||
Log.i(TAG, "called onCreateOptionsMenu"); |
||||
mItemPreviewRGBA = menu.add("Preview RGBA"); |
||||
mItemPreviewGray = menu.add("Preview GRAY"); |
||||
mItemPreviewCanny = menu.add("Canny"); |
||||
return true; |
||||
} |
||||
|
||||
@Override |
||||
public boolean onOptionsItemSelected(MenuItem item) { |
||||
Log.i(TAG, "called onOptionsItemSelected; selected item: " + item); |
||||
if (item == mItemPreviewRGBA) |
||||
{ |
||||
viewMode = VIEW_MODE_RGBA; |
||||
} |
||||
else if (item == mItemPreviewGray) |
||||
{ |
||||
viewMode = VIEW_MODE_GRAY; |
||||
} |
||||
else if (item == mItemPreviewCanny) |
||||
{ |
||||
viewMode = VIEW_MODE_CANNY; |
||||
} |
||||
|
||||
return true; |
||||
} |
||||
} |
@ -1,102 +0,0 @@ |
||||
package org.opencv.samples.tutorial3; |
||||
|
||||
import org.opencv.android.BaseLoaderCallback; |
||||
import org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame; |
||||
import org.opencv.android.LoaderCallbackInterface; |
||||
import org.opencv.android.OpenCVLoader; |
||||
import org.opencv.core.CvType; |
||||
import org.opencv.core.Mat; |
||||
import org.opencv.android.CameraBridgeViewBase; |
||||
import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener2; |
||||
|
||||
import android.app.Activity; |
||||
import android.os.Bundle; |
||||
import android.util.Log; |
||||
import android.view.WindowManager; |
||||
|
||||
public class Sample3Native extends Activity implements CvCameraViewListener2 { |
||||
private static final String TAG = "OCVSample::Activity"; |
||||
|
||||
private Mat mRgba; |
||||
private Mat mGray; |
||||
private CameraBridgeViewBase mOpenCvCameraView; |
||||
|
||||
private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) { |
||||
@Override |
||||
public void onManagerConnected(int status) { |
||||
switch (status) { |
||||
case LoaderCallbackInterface.SUCCESS: |
||||
{ |
||||
Log.i(TAG, "OpenCV loaded successfully"); |
||||
|
||||
// Load native library after(!) OpenCV initialization
|
||||
System.loadLibrary("native_sample"); |
||||
|
||||
mOpenCvCameraView.enableView(); |
||||
} break; |
||||
default: |
||||
{ |
||||
super.onManagerConnected(status); |
||||
} break; |
||||
} |
||||
} |
||||
}; |
||||
|
||||
public Sample3Native() { |
||||
Log.i(TAG, "Instantiated new " + this.getClass()); |
||||
} |
||||
|
||||
/** Called when the activity is first created. */ |
||||
@Override |
||||
public void onCreate(Bundle savedInstanceState) { |
||||
Log.i(TAG, "called onCreate"); |
||||
super.onCreate(savedInstanceState); |
||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); |
||||
|
||||
setContentView(R.layout.tutorial3_surface_view); |
||||
|
||||
mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.tutorial4_activity_surface_view); |
||||
mOpenCvCameraView.setCvCameraViewListener(this); |
||||
} |
||||
|
||||
@Override |
||||
public void onPause() |
||||
{ |
||||
super.onPause(); |
||||
if (mOpenCvCameraView != null) |
||||
mOpenCvCameraView.disableView(); |
||||
} |
||||
|
||||
@Override |
||||
public void onResume() |
||||
{ |
||||
super.onResume(); |
||||
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_3, this, mLoaderCallback); |
||||
} |
||||
|
||||
public void onDestroy() { |
||||
super.onDestroy(); |
||||
if (mOpenCvCameraView != null) |
||||
mOpenCvCameraView.disableView(); |
||||
} |
||||
|
||||
public void onCameraViewStarted(int width, int height) { |
||||
mRgba = new Mat(height, width, CvType.CV_8UC4); |
||||
mGray = new Mat(height, width, CvType.CV_8UC1); |
||||
} |
||||
|
||||
public void onCameraViewStopped() { |
||||
mRgba.release(); |
||||
mGray.release(); |
||||
} |
||||
|
||||
public Mat onCameraFrame(CvCameraViewFrame inputFrame) { |
||||
mRgba = inputFrame.rgba(); |
||||
mGray = inputFrame.gray(); |
||||
FindFeatures(mGray.getNativeObjAddr(), mRgba.getNativeObjAddr()); |
||||
|
||||
return mRgba; |
||||
} |
||||
|
||||
public native void FindFeatures(long matAddrGr, long matAddrRgba); |
||||
} |
Loading…
Reference in new issue