package com.example.achic.merge;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.WindowManager;
import android.widget.Toast;
import com.example.achic.merge.R;
import com.example.achic.merge.DatabaseHelper;
import com.example.achic.merge.UserInfo;
import com.example.achic.merge.FaceMatcher;
import org.opencv.android.CameraBridgeViewBase;
import org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame;
import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener2;
import org.opencv.android.Utils;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.core.Size;
import org.opencv.imgproc.Imgproc;
import org.opencv.objdetect.CascadeClassifier;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class DetectActivity extends AppCompatActivity implements
CvCameraViewListener2 {
private static final Scalar FACE_RECT_COLOR = new Scalar(0, 255, 0, 255);
private UserInfo user;
public final static int FLAG_REGISTER = 1;
public final static int FLAG_VERIFY = 2;
public static final int JAVA_DETECTOR = 0;
public static final int NATIVE_DETECTOR = 1;
private Mat mRgba;
private DetectionBasedTracker mNativeDetector;
private Mat mGray;
private Bitmap shibiebitmap;
private CascadeClassifier mJavaDetector;
private float mRelativeFaceSize = 0.2f;
private int mAbsoluteFaceSize = 0;
private CameraBridgeViewBase mOpenCvCameraView;
List<UserInfo> userList;
private int mDetectorType = JAVA_DETECTOR;
private Bitmap mDetectedFace;
private FaceMatcher matcher;
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
Intent intent;
switch (msg.what) {
case FLAG_REGISTER:
if (mDetectedFace == null) {
mDetectedFace = (Bitmap) msg.obj;
int result = matcher.histogramMatch(mDetectedFace);
if (result == matcher.UNFINISHED) {
mDetectedFace = null;
} else if (result == matcher.NO_MATCHER) {
user.setName("01");
DatabaseHelper helper = new DatabaseHelper(DetectActivity.this);
Bitmap bitmap = getIntent().getParcelableExtra("Face");
user.setPath(path);
helper.insert(user);
helper.close();
Toast.makeText(DetectActivity.this, "註冊成功", Toast.LENGTH_SHORT).show();
finish();
}
} else {
intent = new Intent();
setResult(RESULT_OK, intent);
finish();
}
break;
case FLAG_VERIFY:
if (mDetectedFace == null) {
mDetectedFace = (Bitmap) msg.obj;
int result = matcher.histogramMatch(mDetectedFace);
if (result == matcher.UNFINISHED) {
mDetectedFace = null;
} else if (result == matcher.NO_MATCHER) {
intent = new Intent();
setResult(RESULT_CANCELED, intent);
finish();
} else {
intent = new Intent();
intent.putExtra("USER_ID", result);
setResult(RESULT_OK, intent);
finish();
}
}
break;
default:
break;
}
}
};
static {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
configWindowSetting();
setContentView(R.layout.test);
mOpenCvCameraView = (CameraBridgeViewBase)
findViewById(R.id.fd_activity_surface_view);
mOpenCvCameraView.setVisibility(CameraBridgeViewBase.VISIBLE);
mOpenCvCameraView.setCameraIndex(CameraBridgeViewBase.CAMERA_ID_FRONT);
mOpenCvCameraView.setCvCameraViewListener(this);
init();
DatabaseHelper helper = new DatabaseHelper(DetectActivity.this);
userList = helper.query();
matcher = new FaceMatcher(userList);
helper.close();
}
private void configWindowSetting() {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
private void init() {
try {
.openRawResource(R.raw.lbpcascade_frontalface);
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = is.read(buffer)) != -1) {
os.write(buffer, 0, bytesRead);
}
is.close();
os.close();
mJavaDetector = new CascadeClassifier(cascadeFile.getAbsolutePath());
if (mJavaDetector.empty()) {
mJavaDetector = null;
}
cascadeDir.delete();
e.printStackTrace();
}
mOpenCvCameraView.enableView();
}
@Override
public void onPause() {
super.onPause();
if (mOpenCvCameraView != null)
mOpenCvCameraView.disableView();
}
public void onDestroy() {
super.onDestroy();
mOpenCvCameraView.disableView();
}
public void onCameraViewStarted(int width, int height) {
mGray = new Mat();
mRgba = new Mat();
}
public void onCameraViewStopped() {
mGray.release();
mRgba.release();
}
public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
mRgba = inputFrame.rgba();
mGray = inputFrame.gray();
Mat mRgbaT = mRgba.t();
Core.flip(mRgba.t(), mRgbaT, 1);
Core.flip(mGray, mGray, 1);
Rect rect = new Rect(
new Size(600, 600));
mGray = new Mat(mGray, rect);
if (mAbsoluteFaceSize == 0) {
int height = mGray.rows();
}
}
MatOfRect faces = new MatOfRect();
if (mJavaDetector != null) {
mJavaDetector.detectMultiScale(mGray, faces, 1.1, 2, 2,
new Size(mAbsoluteFaceSize, mAbsoluteFaceSize), new Size());
}
Rect[] facesArray = faces.toArray();
for (int i = 0; i < facesArray.length; i++) {
facesArray[i] = new Rect(point, facesArray[i].size());
if (facesArray[i].height > 400 && facesArray[i].height < 500) {
Imgproc.rectangle(mRgba, facesArray[i].tl(), facesArray[i].br(),
FACE_RECT_COLOR, 3);
Mat faceMat = new Mat(mRgba, facesArray[i]);
Imgproc.resize(faceMat, faceMat, new Size(320, 320));
Bitmap bitmap = Bitmap.createBitmap(faceMat.width(),faceMat.height(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(faceMat, bitmap);
Message message = Message.obtain();
message.what = getIntent().getIntExtra("flag", 0);
message.obj = bitmap;
mHandler.sendMessage(message);
}
}
return mRgba;
}
}
Standard input is empty
Main.java:41: error: class DetectActivity is public, should be declared in a file named DetectActivity.java
public class DetectActivity extends AppCompatActivity implements
       ^
Main.java:3: error: package android.content does not exist
import android.content.Context;
                      ^
Main.java:4: error: package android.content does not exist
import android.content.Intent;
                      ^
Main.java:5: error: package android.content.pm does not exist
import android.content.pm.ActivityInfo;
                         ^
Main.java:6: error: package android.graphics does not exist
import android.graphics.Bitmap;
                       ^
Main.java:7: error: package android.os does not exist
import android.os.Bundle;
                 ^
Main.java:8: error: package android.os does not exist
import android.os.Handler;
                 ^
Main.java:9: error: package android.os does not exist
import android.os.Message;
                 ^
Main.java:10: error: package android.support.v7.app does not exist
import android.support.v7.app.AppCompatActivity;
                             ^
Main.java:11: error: package android.util does not exist
import android.util.Log;
                   ^
Main.java:12: error: package android.view does not exist
import android.view.WindowManager;
                   ^
Main.java:13: error: package android.widget does not exist
import android.widget.Toast;
                     ^
Main.java:15: error: cannot find symbol
import com.example.achic.merge.R;
                              ^
  symbol:   class R
  location: package com.example.achic.merge
Main.java:16: error: cannot find symbol
import com.example.achic.merge.DatabaseHelper;
                              ^
  symbol:   class DatabaseHelper
  location: package com.example.achic.merge
Main.java:17: error: cannot find symbol
import com.example.achic.merge.UserInfo;
                              ^
  symbol:   class UserInfo
  location: package com.example.achic.merge
Main.java:18: error: cannot find symbol
import com.example.achic.merge.FaceMatcher;
                              ^
  symbol:   class FaceMatcher
  location: package com.example.achic.merge
Main.java:21: error: package org.opencv.android does not exist
import org.opencv.android.CameraBridgeViewBase;
                         ^
Main.java:22: error: package org.opencv.android.CameraBridgeViewBase does not exist
import org.opencv.android.CameraBridgeViewBase.CvCameraViewFrame;
                                              ^
Main.java:23: error: package org.opencv.android.CameraBridgeViewBase does not exist
import org.opencv.android.CameraBridgeViewBase.CvCameraViewListener2;
                                              ^
Main.java:24: error: package org.opencv.android does not exist
import org.opencv.android.Utils;
                         ^
Main.java:25: error: package org.opencv.core does not exist
import org.opencv.core.Core;
                      ^
Main.java:26: error: package org.opencv.core does not exist
import org.opencv.core.Mat;
                      ^
Main.java:27: error: package org.opencv.core does not exist
import org.opencv.core.MatOfRect;
                      ^
Main.java:28: error: package org.opencv.core does not exist
import org.opencv.core.Point;
                      ^
Main.java:29: error: package org.opencv.core does not exist
import org.opencv.core.Rect;
                      ^
Main.java:30: error: package org.opencv.core does not exist
import org.opencv.core.Scalar;
                      ^
Main.java:31: error: package org.opencv.core does not exist
import org.opencv.core.Size;
                      ^
Main.java:32: error: package org.opencv.imgproc does not exist
import org.opencv.imgproc.Imgproc;
                         ^
Main.java:33: error: package org.opencv.objdetect does not exist
import org.opencv.objdetect.CascadeClassifier;
                           ^
Main.java:41: error: cannot find symbol
public class DetectActivity extends AppCompatActivity implements
                                    ^
  symbol: class AppCompatActivity
Main.java:42: error: cannot find symbol
        CvCameraViewListener2 {
        ^
  symbol: class CvCameraViewListener2
Main.java:43: error: cannot find symbol
    private static final Scalar FACE_RECT_COLOR = new Scalar(0, 255, 0, 255);
                         ^
  symbol:   class Scalar
  location: class DetectActivity
Main.java:44: error: cannot find symbol
    private UserInfo user;
            ^
  symbol:   class UserInfo
  location: class DetectActivity
Main.java:49: error: cannot find symbol
    private Mat mRgba;
            ^
  symbol:   class Mat
  location: class DetectActivity
Main.java:50: error: cannot find symbol
    private DetectionBasedTracker mNativeDetector;
            ^
  symbol:   class DetectionBasedTracker
  location: class DetectActivity
Main.java:51: error: cannot find symbol
    private Mat mGray;
            ^
  symbol:   class Mat
  location: class DetectActivity
Main.java:52: error: cannot find symbol
    private Bitmap shibiebitmap;
            ^
  symbol:   class Bitmap
  location: class DetectActivity
Main.java:53: error: cannot find symbol
    private CascadeClassifier mJavaDetector;
            ^
  symbol:   class CascadeClassifier
  location: class DetectActivity
Main.java:56: error: cannot find symbol
    private CameraBridgeViewBase mOpenCvCameraView;
            ^
  symbol:   class CameraBridgeViewBase
  location: class DetectActivity
Main.java:57: error: cannot find symbol
    List<UserInfo> userList;
         ^
  symbol:   class UserInfo
  location: class DetectActivity
Main.java:59: error: cannot find symbol
    private Bitmap mDetectedFace;
            ^
  symbol:   class Bitmap
  location: class DetectActivity
Main.java:60: error: cannot find symbol
    private FaceMatcher matcher;
            ^
  symbol:   class FaceMatcher
  location: class DetectActivity
Main.java:61: error: cannot find symbol
    private Handler mHandler = new Handler() {
            ^
  symbol:   class Handler
  location: class DetectActivity
Main.java:120: error: cannot find symbol
    public void onCreate(Bundle savedInstanceState) {
                         ^
  symbol:   class Bundle
  location: class DetectActivity
Main.java:194: error: cannot find symbol
    public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
                             ^
  symbol:   class CvCameraViewFrame
  location: class DetectActivity
Main.java:194: error: cannot find symbol
    public Mat onCameraFrame(CvCameraViewFrame inputFrame) {
           ^
  symbol:   class Mat
  location: class DetectActivity
Main.java:43: error: cannot find symbol
    private static final Scalar FACE_RECT_COLOR = new Scalar(0, 255, 0, 255);
                                                      ^
  symbol:   class Scalar
  location: class DetectActivity
Main.java:61: error: cannot find symbol
    private Handler mHandler = new Handler() {
                                   ^
  symbol:   class Handler
  location: class DetectActivity
Main.java:119: error: method does not override or implement a method from a supertype
    @Override
    ^
Main.java:121: error: cannot find symbol
        super.onCreate(savedInstanceState);
        ^
  symbol:   variable super
  location: class DetectActivity
Main.java:123: error: package R does not exist
        setContentView(R.layout.test);
                        ^
Main.java:125: error: cannot find symbol
        mOpenCvCameraView = (CameraBridgeViewBase)
                             ^
  symbol:   class CameraBridgeViewBase
  location: class DetectActivity
Main.java:126: error: package R does not exist
                findViewById(R.id.fd_activity_surface_view);
                              ^
Main.java:127: error: cannot find symbol
        mOpenCvCameraView.setVisibility(CameraBridgeViewBase.VISIBLE);
                                        ^
  symbol:   variable CameraBridgeViewBase
  location: class DetectActivity
Main.java:129: error: cannot find symbol
        mOpenCvCameraView.setCameraIndex(CameraBridgeViewBase.CAMERA_ID_FRONT);
                                         ^
  symbol:   variable CameraBridgeViewBase
  location: class DetectActivity
Main.java:133: error: cannot find symbol
        DatabaseHelper helper = new DatabaseHelper(DetectActivity.this);
        ^
  symbol:   class DatabaseHelper
  location: class DetectActivity
Main.java:133: error: cannot find symbol
        DatabaseHelper helper = new DatabaseHelper(DetectActivity.this);
                                    ^
  symbol:   class DatabaseHelper
  location: class DetectActivity
Main.java:135: error: cannot find symbol
        matcher = new FaceMatcher(userList);
                      ^
  symbol:   class FaceMatcher
  location: class DetectActivity
Main.java:141: error: package WindowManager does not exist
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                                          ^
Main.java:142: error: package WindowManager does not exist
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
                             ^
Main.java:141: error: cannot find symbol
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
        ^
  symbol:   method getWindow()
  location: class DetectActivity
Main.java:143: error: package WindowManager does not exist
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
                                          ^
Main.java:143: error: cannot find symbol
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        ^
  symbol:   method getWindow()
  location: class DetectActivity
Main.java:144: error: cannot find symbol
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
                                ^
  symbol:   variable ActivityInfo
  location: class DetectActivity
Main.java:150: error: package R does not exist
                    .openRawResource(R.raw.lbpcascade_frontalface);
                                      ^
Main.java:149: error: cannot find symbol
            InputStream is = getResources()
                             ^
  symbol:   method getResources()
  location: class DetectActivity
Main.java:151: error: cannot find symbol
            File cascadeDir = getDir("cascade", Context.MODE_PRIVATE);
                                                ^
  symbol:   variable Context
  location: class DetectActivity
Main.java:161: error: cannot find symbol
            mJavaDetector = new CascadeClassifier(cascadeFile.getAbsolutePath());
                                ^
  symbol:   class CascadeClassifier
  location: class DetectActivity
Main.java:172: error: method does not override or implement a method from a supertype
    @Override
    ^
Main.java:174: error: cannot find symbol
        super.onPause();
        ^
  symbol:   variable super
  location: class DetectActivity
Main.java:180: error: cannot find symbol
        super.onDestroy();
        ^
  symbol:   variable super
  location: class DetectActivity
Main.java:185: error: cannot find symbol
        mGray = new Mat();
                    ^
  symbol:   class Mat
  location: class DetectActivity
Main.java:186: error: cannot find symbol
        mRgba = new Mat();
                    ^
  symbol:   class Mat
  location: class DetectActivity
Main.java:197: error: cannot find symbol
        Mat mRgbaT = mRgba.t();
        ^
  symbol:   class Mat
  location: class DetectActivity
Main.java:198: error: cannot find symbol
        Core.flip(mRgba.t(), mRgbaT, 1);
        ^
  symbol:   variable Core
  location: class DetectActivity
Main.java:199: error: cannot find symbol
        Core.flip(mGray, mGray, 1);
        ^
  symbol:   variable Core
  location: class DetectActivity
Main.java:201: error: cannot find symbol
        Rect rect = new Rect(
        ^
  symbol:   class Rect
  location: class DetectActivity
Main.java:201: error: cannot find symbol
        Rect rect = new Rect(
                        ^
  symbol:   class Rect
  location: class DetectActivity
Main.java:202: error: cannot find symbol
                new Point(mGray.width() / 2 - 300, mGray.height() / 2 - 300),
                    ^
  symbol:   class Point
  location: class DetectActivity
Main.java:203: error: cannot find symbol
                new Size(600, 600));
                    ^
  symbol:   class Size
  location: class DetectActivity
Main.java:204: error: cannot find symbol
        mGray = new Mat(mGray, rect);
                    ^
  symbol:   class Mat
  location: class DetectActivity
Main.java:212: error: cannot find symbol
        MatOfRect faces = new MatOfRect();
        ^
  symbol:   class MatOfRect
  location: class DetectActivity
Main.java:212: error: cannot find symbol
        MatOfRect faces = new MatOfRect();
                              ^
  symbol:   class MatOfRect
  location: class DetectActivity
Main.java:215: error: cannot find symbol
                    new Size(mAbsoluteFaceSize, mAbsoluteFaceSize), new Size());
                        ^
  symbol:   class Size
  location: class DetectActivity
Main.java:215: error: cannot find symbol
                    new Size(mAbsoluteFaceSize, mAbsoluteFaceSize), new Size());
                                                                        ^
  symbol:   class Size
  location: class DetectActivity
Main.java:217: error: cannot find symbol
        Rect[] facesArray = faces.toArray();
        ^
  symbol:   class Rect
  location: class DetectActivity
Main.java:219: error: cannot find symbol
            Point point = new Point(facesArray[i].x + 680, facesArray[i].y + 250);
            ^
  symbol:   class Point
  location: class DetectActivity
Main.java:219: error: cannot find symbol
            Point point = new Point(facesArray[i].x + 680, facesArray[i].y + 250);
                              ^
  symbol:   class Point
  location: class DetectActivity
Main.java:220: error: cannot find symbol
            facesArray[i] = new Rect(point, facesArray[i].size());
                                ^
  symbol:   class Rect
  location: class DetectActivity
Main.java:222: error: cannot find symbol
                Imgproc.rectangle(mRgba, facesArray[i].tl(), facesArray[i].br(),
                ^
  symbol:   variable Imgproc
  location: class DetectActivity
Main.java:225: error: cannot find symbol
                Mat faceMat = new Mat(mRgba, facesArray[i]);
                ^
  symbol:   class Mat
  location: class DetectActivity
Main.java:225: error: cannot find symbol
                Mat faceMat = new Mat(mRgba, facesArray[i]);
                                  ^
  symbol:   class Mat
  location: class DetectActivity
Main.java:226: error: cannot find symbol
                Imgproc.resize(faceMat, faceMat, new Size(320, 320));
                                                     ^
  symbol:   class Size
  location: class DetectActivity
Main.java:226: error: cannot find symbol
                Imgproc.resize(faceMat, faceMat, new Size(320, 320));
                ^
  symbol:   variable Imgproc
  location: class DetectActivity
Main.java:227: error: cannot find symbol
                Bitmap bitmap = Bitmap.createBitmap(faceMat.width(),faceMat.height(), Bitmap.Config.ARGB_8888);
                ^
  symbol:   class Bitmap
  location: class DetectActivity
Main.java:227: error: package Bitmap does not exist
                Bitmap bitmap = Bitmap.createBitmap(faceMat.width(),faceMat.height(), Bitmap.Config.ARGB_8888);
                                                                                            ^
Main.java:227: error: cannot find symbol
                Bitmap bitmap = Bitmap.createBitmap(faceMat.width(),faceMat.height(), Bitmap.Config.ARGB_8888);
                                ^
  symbol:   variable Bitmap
  location: class DetectActivity
Main.java:228: error: cannot find symbol
                Utils.matToBitmap(faceMat, bitmap);
                ^
  symbol:   variable Utils
  location: class DetectActivity
Main.java:229: error: cannot find symbol
                Message message = Message.obtain();
                ^
  symbol:   class Message
  location: class DetectActivity
Main.java:229: error: cannot find symbol
                Message message = Message.obtain();
                                  ^
  symbol:   variable Message
  location: class DetectActivity
100 errors
		
		
	
	Standard output is empty