removing Android tutorial 0 since it has become irrelevant after moving to the new...
authorAndrey Pavlenko <andrey.pavlenko@itseez.com>
Fri, 30 Nov 2012 08:32:16 +0000 (12:32 +0400)
committerAndrey Pavlenko <andrey.pavlenko@itseez.com>
Fri, 30 Nov 2012 08:32:16 +0000 (12:32 +0400)
samples/android/CMakeLists.txt
samples/android/tutorial-0-androidcamera/.classpath [deleted file]
samples/android/tutorial-0-androidcamera/.project [deleted file]
samples/android/tutorial-0-androidcamera/.settings/org.eclipse.jdt.core.prefs [deleted file]
samples/android/tutorial-0-androidcamera/AndroidManifest.xml [deleted file]
samples/android/tutorial-0-androidcamera/CMakeLists.txt [deleted file]
samples/android/tutorial-0-androidcamera/res/drawable/icon.png [deleted file]
samples/android/tutorial-0-androidcamera/res/values/strings.xml [deleted file]
samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/Sample0Base.java [deleted file]
samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/Sample0View.java [deleted file]
samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/SampleViewBase.java [deleted file]

index bf96bdf..f52c669 100644 (file)
@@ -11,7 +11,6 @@ add_subdirectory(face-detection)
 add_subdirectory(image-manipulations)
 add_subdirectory(color-blob-detection)
 
-add_subdirectory(tutorial-0-androidcamera)
 add_subdirectory(tutorial-1-addopencv)
 add_subdirectory(tutorial-2-opencvcamera)
 add_subdirectory(tutorial-3-native)
diff --git a/samples/android/tutorial-0-androidcamera/.classpath b/samples/android/tutorial-0-androidcamera/.classpath
deleted file mode 100644 (file)
index d3bb07b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-       <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
-       <classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
-       <classpathentry kind="src" path="src"/>
-       <classpathentry kind="src" path="gen"/>
-       <classpathentry kind="output" path="bin/classes"/>
-</classpath>
diff --git a/samples/android/tutorial-0-androidcamera/.project b/samples/android/tutorial-0-androidcamera/.project
deleted file mode 100644 (file)
index 33b0065..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-       <name>OpenCV Tutorial 0 - Android Camera</name>
-       <comment></comment>
-       <projects>
-       </projects>
-       <buildSpec>
-               <buildCommand>
-                       <name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>org.eclipse.jdt.core.javabuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-               <buildCommand>
-                       <name>com.android.ide.eclipse.adt.ApkBuilder</name>
-                       <arguments>
-                       </arguments>
-               </buildCommand>
-       </buildSpec>
-       <natures>
-               <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
-               <nature>org.eclipse.jdt.core.javanature</nature>
-       </natures>
-</projectDescription>
diff --git a/samples/android/tutorial-0-androidcamera/.settings/org.eclipse.jdt.core.prefs b/samples/android/tutorial-0-androidcamera/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644 (file)
index b080d2d..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.source=1.6
diff --git a/samples/android/tutorial-0-androidcamera/AndroidManifest.xml b/samples/android/tutorial-0-androidcamera/AndroidManifest.xml
deleted file mode 100644 (file)
index d703810..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="org.opencv.samples.tutorial0"
-          android:versionCode="21"
-          android:versionName="2.1">
-
-    <application android:label="@string/app_name" android:icon="@drawable/icon">
-        <activity android:name="Sample0Base"
-                  android:label="@string/app_name"
-                  android:screenOrientation="landscape"
-                  android:configChanges="keyboardHidden|orientation">
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.LAUNCHER" />
-            </intent-filter>
-        </activity>
-    </application>
-
-    <supports-screens android:resizeable="true"
-                      android:smallScreens="true"
-                      android:normalScreens="true"
-                      android:largeScreens="true"
-                      android:anyDensity="true" />
-
-    <uses-sdk android:minSdkVersion="8" />
-
-    <uses-permission android:name="android.permission.CAMERA"/>
-
-    <uses-feature android:name="android.hardware.camera" android:required="false"/>
-    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
-    <uses-feature android:name="android.hardware.camera.front" android:required="false"/>
-    <uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>
-
-</manifest>
diff --git a/samples/android/tutorial-0-androidcamera/CMakeLists.txt b/samples/android/tutorial-0-androidcamera/CMakeLists.txt
deleted file mode 100644 (file)
index 5c5780a..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-set(sample example-tutorial-0-androidcamera)
-
-add_android_project(${sample} "${CMAKE_CURRENT_SOURCE_DIR}" SDK_TARGET 11 ${ANDROID_SDK_TARGET})
-if(TARGET ${sample})
-  add_dependencies(opencv_android_examples ${sample})
-endif()
-
diff --git a/samples/android/tutorial-0-androidcamera/res/drawable/icon.png b/samples/android/tutorial-0-androidcamera/res/drawable/icon.png
deleted file mode 100644 (file)
index 6304549..0000000
Binary files a/samples/android/tutorial-0-androidcamera/res/drawable/icon.png and /dev/null differ
diff --git a/samples/android/tutorial-0-androidcamera/res/values/strings.xml b/samples/android/tutorial-0-androidcamera/res/values/strings.xml
deleted file mode 100644 (file)
index 6638898..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string name="app_name">OCV T0 Android Camera</string>
-</resources>
diff --git a/samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/Sample0Base.java b/samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/Sample0Base.java
deleted file mode 100644 (file)
index 02a0a14..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.opencv.samples.tutorial0;
-
-import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.Window;
-
-public class Sample0Base extends Activity {
-
-    private static final String TAG = "OCVSample::Activity";
-    private Sample0View         mView;
-
-    public Sample0Base() {
-        Log.i(TAG, "Instantiated new " + this.getClass());
-    }
-
-    @Override
-    protected void onPause() {
-        Log.i(TAG, "called onPause");
-        super.onPause();
-        mView.releaseCamera();
-    }
-
-    @Override
-    protected void onResume() {
-        Log.i(TAG, "called onResume");
-        super.onResume();
-        if( !mView.openCamera() ) {
-            AlertDialog ad = new AlertDialog.Builder(this).create();
-            ad.setCancelable(false); // This blocks the 'BACK' button
-            ad.setMessage("Fatal error: can't open camera!");
-            ad.setButton(AlertDialog.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() {
-                public void onClick(DialogInterface dialog, int which) {
-                    dialog.dismiss();
-                    finish();
-                }
-            });
-            ad.show();
-        }
-    }
-
-    /** Called when the activity is first created. */
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        Log.i(TAG, "called onCreate");
-        super.onCreate(savedInstanceState);
-        requestWindowFeature(Window.FEATURE_NO_TITLE);
-        mView = new Sample0View(this);
-        setContentView(mView);
-    }
-}
diff --git a/samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/Sample0View.java b/samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/Sample0View.java
deleted file mode 100644 (file)
index dbe6947..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-package org.opencv.samples.tutorial0;
-
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.util.Log;
-
-class Sample0View extends SampleViewBase {
-
-    private static final String TAG = "OCVSample::View";
-
-    public static final int     VIEW_MODE_RGBA = 0;
-    public static final int     VIEW_MODE_GRAY = 1;
-
-    int                         mSize;
-    int[]                       mRGBA;
-    private Bitmap              mBitmap;
-    private int                 mViewMode;
-
-    public Sample0View(Context context) {
-        super(context);
-        mSize = 0;
-        mViewMode = VIEW_MODE_RGBA;
-        Log.i(TAG, "Instantiated new " + this.getClass());
-    }
-
-    @Override
-    protected Bitmap processFrame(byte[] data) {
-        int frameSize = getFrameWidth() * getFrameHeight();
-
-        int[] rgba = mRGBA;
-
-        final int view_mode = mViewMode;
-        if (view_mode == VIEW_MODE_GRAY) {
-            for (int i = 0; i < frameSize; i++) {
-                int y = (0xff & ((int) data[i]));
-                rgba[i] = 0xff000000 + (y << 16) + (y << 8) + y;
-            }
-        } else if (view_mode == VIEW_MODE_RGBA) {
-            for (int i = 0; i < getFrameHeight(); i++) {
-                for (int j = 0; j < getFrameWidth(); j++) {
-                    int index = i * getFrameWidth() + j;
-                    int supply_index = frameSize + (i >> 1) * getFrameWidth() + (j & ~1);
-                    int y = (0xff & ((int) data[index]));
-                    int u = (0xff & ((int) data[supply_index + 0]));
-                    int v = (0xff & ((int) data[supply_index + 1]));
-                    y = y < 16 ? 16 : y;
-
-                    float y_conv = 1.164f * (y - 16);
-                    int r = Math.round(y_conv + 1.596f * (v - 128));
-                    int g = Math.round(y_conv - 0.813f * (v - 128) - 0.391f * (u - 128));
-                    int b = Math.round(y_conv + 2.018f * (u - 128));
-
-                    r = r < 0 ? 0 : (r > 255 ? 255 : r);
-                    g = g < 0 ? 0 : (g > 255 ? 255 : g);
-                    b = b < 0 ? 0 : (b > 255 ? 255 : b);
-
-                    rgba[i * getFrameWidth() + j] = 0xff000000 + (b << 16) + (g << 8) + r;
-                }
-            }
-        }
-
-        mBitmap.setPixels(rgba, 0/* offset */, getFrameWidth() /* stride */, 0, 0, getFrameWidth(), getFrameHeight());
-        return mBitmap;
-    }
-
-    @Override
-    protected void onPreviewStarted(int previewWidth, int previewHeight) {
-        Log.i(TAG, "called onPreviewStarted("+previewWidth+", "+previewHeight+")");
-        /* Create a bitmap that will be used through to calculate the image to */
-        mBitmap = Bitmap.createBitmap(previewWidth, previewHeight, Bitmap.Config.ARGB_8888);
-        mRGBA = new int[previewWidth * previewHeight];
-    }
-
-    @Override
-    protected void onPreviewStopped() {
-        Log.i(TAG, "called onPreviewStopped");
-        if(mBitmap != null) {
-            mBitmap.recycle();
-            mBitmap = null;
-        }
-
-        if(mRGBA != null) {
-            mRGBA = null;
-        }
-    }
-
-    public void setViewMode(int viewMode) {
-        Log.i(TAG, "called setViewMode("+viewMode+")");
-        mViewMode = viewMode;
-    }
-}
\ No newline at end of file
diff --git a/samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/SampleViewBase.java b/samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/SampleViewBase.java
deleted file mode 100644 (file)
index 8db6fae..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.opencv.samples.tutorial0;
-
-import java.io.IOException;
-import java.util.List;
-
-import android.annotation.TargetApi;
-import android.content.Context;
-import android.graphics.Bitmap;
-import android.graphics.Canvas;
-import android.graphics.ImageFormat;
-import android.graphics.SurfaceTexture;
-import android.hardware.Camera;
-import android.hardware.Camera.PreviewCallback;
-import android.os.Build;
-import android.util.Log;
-import android.view.SurfaceHolder;
-import android.view.SurfaceView;
-
-public abstract class SampleViewBase extends SurfaceView implements SurfaceHolder.Callback, Runnable {
-    private static final String TAG = "OCVSample::BaseView";
-
-    private Camera              mCamera;
-    private SurfaceHolder       mHolder;
-    private int                 mFrameWidth;
-    private int                 mFrameHeight;
-    private byte[]              mFrame;
-    private volatile boolean    mThreadRun;
-    private byte[]              mBuffer;
-    private SurfaceTexture      mSf;
-
-
-    public SampleViewBase(Context context) {
-        super(context);
-        mHolder = getHolder();
-        mHolder.addCallback(this);
-        Log.i(TAG, "Instantiated new " + this.getClass());
-    }
-
-    public int getFrameWidth() {
-        return mFrameWidth;
-    }
-
-    public int getFrameHeight() {
-        return mFrameHeight;
-    }
-
-    @TargetApi(11)
-        public void setPreview() throws IOException {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
-            mSf = new SurfaceTexture(10);
-            mCamera.setPreviewTexture( mSf );
-        }
-        else
-            mCamera.setPreviewDisplay(null);
-    }
-
-    public boolean openCamera() {
-        Log.i(TAG, "Opening Camera");
-        mCamera = null;
-
-        try {
-            mCamera = Camera.open();
-        }
-        catch (Exception e){
-            Log.e(TAG, "Camera is not available (in use or does not exist): " + e.getLocalizedMessage());
-        }
-
-        if(mCamera == null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
-            for (int camIdx = 0; camIdx < Camera.getNumberOfCameras(); ++camIdx) {
-                try {
-                    mCamera = Camera.open(camIdx);
-                }
-                catch (RuntimeException e) {
-                    Log.e(TAG, "Camera #" + camIdx + "failed to open: " + e.getLocalizedMessage());
-                }
-            }
-        }
-
-        if(mCamera == null) {
-            Log.e(TAG, "Can't open any camera");
-            return false;
-        }
-
-        mCamera.setPreviewCallbackWithBuffer(new PreviewCallback() {
-            public void onPreviewFrame(byte[] data, Camera camera) {
-                synchronized (SampleViewBase.this) {
-                    System.arraycopy(data, 0, mFrame, 0, data.length);
-                    SampleViewBase.this.notify();
-                }
-                camera.addCallbackBuffer(mBuffer);
-            }
-        });
-
-        return true;
-    }
-
-    public void releaseCamera() {
-        Log.i(TAG, "Releasing Camera");
-        mThreadRun = false;
-        synchronized (this) {
-            if (mCamera != null) {
-                mCamera.stopPreview();
-                mCamera.release();
-                mCamera = null;
-            }
-        }
-        onPreviewStopped();
-    }
-
-    public synchronized void setupCamera(int width, int height) {
-        if (mCamera != null) {
-            Log.i(TAG, "Setup Camera - " + width + "x" + height);
-            Camera.Parameters params = mCamera.getParameters();
-            List<Camera.Size> sizes = params.getSupportedPreviewSizes();
-            mFrameWidth = width;
-            mFrameHeight = height;
-
-            // selecting optimal camera preview size
-            {
-                int  minDiff = Integer.MAX_VALUE;
-                for (Camera.Size size : sizes) {
-                    if (Math.abs(size.height - height) < minDiff) {
-                        mFrameWidth = size.width;
-                        mFrameHeight = size.height;
-                        minDiff = Math.abs(size.height - height);
-                    }
-                }
-            }
-
-            params.setPreviewSize(getFrameWidth(), getFrameHeight());
-
-            List<String> FocusModes = params.getSupportedFocusModes();
-            if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
-            {
-                params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
-            }
-
-            mCamera.setParameters(params);
-
-            /* Now allocate the buffer */
-            params = mCamera.getParameters();
-            int size = params.getPreviewSize().width * params.getPreviewSize().height;
-            size  = size * ImageFormat.getBitsPerPixel(params.getPreviewFormat()) / 8;
-            mBuffer = new byte[size];
-            /* The buffer where the current frame will be copied */
-            mFrame = new byte [size];
-            mCamera.addCallbackBuffer(mBuffer);
-
-            /* Notify that the preview is about to be started and deliver preview size */
-            onPreviewStarted(params.getPreviewSize().width, params.getPreviewSize().height);
-
-            try {
-                setPreview();
-            } catch (IOException e) {
-                Log.e(TAG, "mCamera.setPreviewDisplay/setPreviewTexture fails: " + e);
-            }
-
-            /* Now we can start a preview */
-            mCamera.startPreview();
-        }
-    }
-
-    public void surfaceChanged(SurfaceHolder _holder, int format, int width, int height) {
-        Log.i(TAG, "called surfaceChanged");
-        // stop preview before making changes
-        try {
-            mCamera.stopPreview();
-        } catch (Exception e){
-          // ignore: tried to stop a non-existent preview
-        }
-
-        // start preview with new settings
-        setupCamera(width, height);
-    }
-
-    public void surfaceCreated(SurfaceHolder holder) {
-        Log.i(TAG, "called surfaceCreated");
-        (new Thread(this)).start();
-    }
-
-    public void surfaceDestroyed(SurfaceHolder holder) {
-        Log.i(TAG, "called surfaceDestroyed");
-    }
-
-    /* The bitmap returned by this method shall be owned by the child and released in onPreviewStopped() */
-    protected abstract Bitmap processFrame(byte[] data);
-
-    /**
-     * This method is called when the preview process is being started. It is called before the first frame delivered and processFrame is called
-     * It is called with the width and height parameters of the preview process. It can be used to prepare the data needed during the frame processing.
-     * @param previewWidth - the width of the preview frames that will be delivered via processFrame
-     * @param previewHeight - the height of the preview frames that will be delivered via processFrame
-     */
-    protected abstract void onPreviewStarted(int previewWidtd, int previewHeight);
-
-    /**
-     * This method is called when preview is stopped. When this method is called the preview stopped and all the processing of frames already completed.
-     * If the Bitmap object returned via processFrame is cached - it is a good time to recycle it.
-     * Any other resources used during the preview can be released.
-     */
-    protected abstract void onPreviewStopped();
-
-    public void run() {
-        mThreadRun = true;
-        Log.i(TAG, "Started processing thread");
-        while (mThreadRun) {
-            Bitmap bmp = null;
-
-            synchronized (this) {
-                try {
-                    this.wait();
-                    if (!mThreadRun)
-                        break;
-                    bmp = processFrame(mFrame);
-                } catch (InterruptedException e) {
-                    e.printStackTrace();
-                }
-            }
-
-            if (bmp != null) {
-                Canvas canvas = mHolder.lockCanvas();
-                if (canvas != null) {
-                    canvas.drawColor(0, android.graphics.PorterDuff.Mode.CLEAR);
-                    canvas.drawBitmap(bmp, (canvas.getWidth() - getFrameWidth()) / 2, (canvas.getHeight() - getFrameHeight()) / 2, null);
-                    mHolder.unlockCanvasAndPost(canvas);
-                }
-            }
-        }
-        Log.i(TAG, "Finished processing thread");
-    }
-}
\ No newline at end of file