-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCalibration.java
112 lines (97 loc) · 3.3 KB
/
Calibration.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
package com.example.abdullah.opencvframeget;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.SurfaceView;
import android.view.View;
import android.view.WindowManager;
import android.widget.Button;
import org.opencv.android.BaseLoaderCallback;
import org.opencv.android.CameraBridgeViewBase;
import org.opencv.android.LoaderCallbackInterface;
import org.opencv.android.OpenCVLoader;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.Scalar;
import org.opencv.imgproc.Imgproc;
public class Calibration extends AppCompatActivity implements CameraBridgeViewBase.CvCameraViewListener,View.OnClickListener{
String TAG="hello";
Button btndone;
static int roi=0;
private CameraBridgeViewBase mOpenCvCameraView;
@Override
protected void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "called onCreate");
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
System.loadLibrary("opencv_java3");
setContentView(R.layout.activity_calibration);
mOpenCvCameraView = (CameraBridgeViewBase) findViewById(R.id.OpenCvView);
mOpenCvCameraView.setVisibility(SurfaceView.VISIBLE);
mOpenCvCameraView.setCvCameraViewListener(this);
mOpenCvCameraView.setMaxFrameSize(480, 360);
btndone=(Button)findViewById(R.id.btndone);
btndone.setOnClickListener(this);
}
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;
}
}
};
@Override
public void onResume()
{
super.onResume();
OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_6, this, mLoaderCallback);
}
@Override
public void onPause()
{
super.onPause();
if (mOpenCvCameraView != null)
mOpenCvCameraView.disableView();
}
public void onDestroy() {
super.onDestroy();
if (mOpenCvCameraView != null)
mOpenCvCameraView.disableView();
}
@Override
public void onCameraViewStarted(int width, int height) {
}
@Override
public void onCameraViewStopped() {
}
int frame_count=0;
static int ROI=120;
@Override
public Mat onCameraFrame(Mat inputFrame) {
frame_count++;
if(frame_count>10)
{
ROI=Tracker.calibrate(inputFrame.nativeObj);
Imgproc.rectangle(inputFrame,new Point(0,ROI),new Point(inputFrame.cols()-1,inputFrame.rows()-1),new Scalar(0,255,0,0.8),2);
roi=ROI;
}
return inputFrame;
}
@Override
public void onClick(View v) {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
}