Skip to content

Commit 1c4bb01

Browse files
committed
Update
1 parent 119f94b commit 1c4bb01

File tree

932 files changed

+12060
-541741
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

932 files changed

+12060
-541741
lines changed

app/build.gradle

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,43 +2,28 @@ apply plugin: 'com.android.application'
22

33
android {
44
compileSdkVersion 27
5-
buildToolsVersion '27.0.3'
6-
75
defaultConfig {
8-
applicationId "id.aashari.code.camerascanner"
9-
minSdkVersion 14
6+
applicationId "id.aashari.code.camerascannertesting2"
7+
minSdkVersion 15
108
targetSdkVersion 27
119
versionCode 1
1210
versionName "1.0"
13-
ndk
14-
{
15-
moduleName "Scanner"
16-
}
11+
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1712
}
18-
/*sourceSets.main
19-
{
20-
jni.srcDirs = []
21-
jniLibs.srcDir 'src/main/libs'
22-
}*/
2313
buildTypes {
2414
release {
2515
minifyEnabled false
2616
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
2717
}
2818
}
29-
externalNativeBuild {
30-
ndkBuild {
31-
path 'src/main/jni/Android.mk'
32-
}
33-
}
3419
}
3520

3621
dependencies {
37-
implementation fileTree(dir: 'libs', include: ['*.jar'])
22+
implementation fileTree(include: ['*.jar'], dir: 'libs')
3823
implementation 'com.android.support:appcompat-v7:27.1.1'
3924
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
40-
implementation 'com.android.support:support-v4:27.1.1'
4125
testImplementation 'junit:junit:4.12'
4226
androidTestImplementation 'com.android.support.test:runner:1.0.2'
4327
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
28+
implementation project(':openCVLibrary341')
4429
}

app/src/androidTest/java/id/aashari/code/camerascanner/ExampleInstrumentedTest.java renamed to app/src/androidTest/java/id/aashari/code/camerascannertesting2/ExampleInstrumentedTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package id.aashari.code.camerascanner;
1+
package id.aashari.code.camerascannertesting2;
22

33
import android.content.Context;
44
import android.support.test.InstrumentationRegistry;
@@ -21,6 +21,6 @@ public void useAppContext() {
2121
// Context of the app under test.
2222
Context appContext = InstrumentationRegistry.getTargetContext();
2323

24-
assertEquals("id.aashari.code.camerascanner", appContext.getPackageName());
24+
assertEquals("id.aashari.code.camerascannertesting2", appContext.getPackageName());
2525
}
2626
}

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="id.aashari.code.camerascanner">
3+
package="id.aashari.code.camerascannertesting2">
44

55
<application
66
android:allowBackup="true"
@@ -17,7 +17,7 @@
1717
</intent-filter>
1818
</activity>
1919
<activity android:name=".ImageCropActivity" />
20-
<activity android:name=".ImageEnhanceActivity"></activity>
20+
<activity android:name=".ImageEnhanceActivity" />
2121
</application>
2222

2323
</manifest>

app/src/main/java/id/aashari/code/camerascanner/Helpers/NativeClass.java

Lines changed: 0 additions & 22 deletions
This file was deleted.

app/src/main/java/id/aashari/code/camerascanner/ImageCropActivity.java renamed to app/src/main/java/id/aashari/code/camerascannertesting2/ImageCropActivity.java

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package id.aashari.code.camerascanner;
1+
package id.aashari.code.camerascannertesting2;
22

33
import android.app.Activity;
44
import android.content.Intent;
@@ -15,14 +15,18 @@
1515
import android.widget.FrameLayout;
1616
import android.widget.ImageView;
1717

18+
import org.opencv.core.MatOfPoint2f;
19+
import org.opencv.core.Point;
20+
1821
import java.util.ArrayList;
22+
import java.util.Arrays;
1923
import java.util.HashMap;
2024
import java.util.List;
2125
import java.util.Map;
2226

23-
import id.aashari.code.camerascanner.Helpers.MyConstants;
24-
import id.aashari.code.camerascanner.Helpers.NativeClass;
25-
import id.aashari.code.camerascanner.Helpers.PolygonView;
27+
import id.aashari.code.camerascannertesting2.helpers.MyConstants;
28+
import id.aashari.code.camerascannertesting2.libraries.NativeClass;
29+
import id.aashari.code.camerascannertesting2.libraries.PolygonView;
2630

2731
public class ImageCropActivity extends Activity {
2832

@@ -134,24 +138,17 @@ private Map<Integer, PointF> getEdgePoints(Bitmap tempBitmap) {
134138

135139
private List<PointF> getContourEdgePoints(Bitmap tempBitmap) {
136140
Log.v("aashari-tag", "getContourEdgePoints");
137-
float[] points = nativeClass.getPoints(tempBitmap);
138-
float x1 = points[0];
139-
float x2 = points[1];
140-
float x3 = points[2];
141-
float x4 = points[3];
142-
143-
float y1 = points[4];
144-
float y2 = points[5];
145-
float y3 = points[6];
146-
float y4 = points[7];
147-
148-
149-
List<PointF> pointFs = new ArrayList<>();
150-
pointFs.add(new PointF(x1, y1));
151-
pointFs.add(new PointF(x2, y2));
152-
pointFs.add(new PointF(x3, y3));
153-
pointFs.add(new PointF(x4, y4));
154-
return pointFs;
141+
142+
MatOfPoint2f point2f = nativeClass.getPoint(tempBitmap);
143+
List<Point> points = Arrays.asList(point2f.toArray());
144+
145+
List<PointF> result = new ArrayList<>();
146+
for (int i = 0; i < points.size(); i++) {
147+
result.add(new PointF(((float) points.get(i).x), ((float) points.get(i).y)));
148+
}
149+
150+
return result;
151+
155152
}
156153

157154
private Map<Integer, PointF> getOutlinePoints(Bitmap tempBitmap) {

app/src/main/java/id/aashari/code/camerascanner/ImageEnhanceActivity.java renamed to app/src/main/java/id/aashari/code/camerascannertesting2/ImageEnhanceActivity.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
1-
package id.aashari.code.camerascanner;
1+
package id.aashari.code.camerascannertesting2;
22

33
import android.graphics.Bitmap;
4-
import android.support.v7.app.AppCompatActivity;
54
import android.os.Bundle;
5+
import android.support.v7.app.AppCompatActivity;
66
import android.view.View;
77
import android.widget.Button;
88
import android.widget.ImageView;
99

10-
import id.aashari.code.camerascanner.Helpers.MyConstants;
11-
import id.aashari.code.camerascanner.Helpers.NativeClass;
10+
import id.aashari.code.camerascannertesting2.helpers.MyConstants;
11+
import id.aashari.code.camerascannertesting2.libraries.NativeClass;
1212

1313
public class ImageEnhanceActivity extends AppCompatActivity {
1414

@@ -57,21 +57,24 @@ private void initializeImage() {
5757
private View.OnClickListener btnImageToBWClick = new View.OnClickListener() {
5858
@Override
5959
public void onClick(View v) {
60-
imageView.setImageBitmap(nativeClass.getBWBitmap(selectedImageBitmap));
60+
//TODO: create BW
61+
//imageView.setImageBitmap(nativeClass.getBWBitmap(selectedImageBitmap));
6162
}
6263
};
6364

6465
private View.OnClickListener btnImageToMagicColorClick = new View.OnClickListener() {
6566
@Override
6667
public void onClick(View v) {
67-
imageView.setImageBitmap(nativeClass.getMagicColorBitmap(selectedImageBitmap));
68+
//TODO: create magic color
69+
//imageView.setImageBitmap(nativeClass.getMagicColorBitmap(selectedImageBitmap));
6870
}
6971
};
7072

7173
private View.OnClickListener btnImageToGrayClick = new View.OnClickListener() {
7274
@Override
7375
public void onClick(View v) {
74-
imageView.setImageBitmap(nativeClass.getGrayBitmap(selectedImageBitmap));
76+
//TODO: create Gray
77+
//imageView.setImageBitmap(nativeClass.getGrayBitmap(selectedImageBitmap));
7578
}
7679
};
7780

app/src/main/java/id/aashari/code/camerascanner/MainActivity.java renamed to app/src/main/java/id/aashari/code/camerascannertesting2/MainActivity.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
1-
package id.aashari.code.camerascanner;
1+
package id.aashari.code.camerascannertesting2;
22

33
import android.content.Intent;
44
import android.graphics.Bitmap;
55
import android.graphics.BitmapFactory;
66
import android.net.Uri;
7-
import android.support.v7.app.AppCompatActivity;
87
import android.os.Bundle;
8+
import android.support.v7.app.AppCompatActivity;
99
import android.view.View;
1010
import android.widget.Button;
1111
import android.widget.ImageView;
1212

1313
import java.io.FileNotFoundException;
1414
import java.io.InputStream;
1515

16-
import id.aashari.code.camerascanner.Helpers.MyConstants;
17-
import id.aashari.code.camerascanner.Helpers.NativeClass;
16+
import id.aashari.code.camerascannertesting2.helpers.MyConstants;
1817

1918
public class MainActivity extends AppCompatActivity {
2019

app/src/main/java/id/aashari/code/camerascanner/Helpers/MyConstants.java renamed to app/src/main/java/id/aashari/code/camerascannertesting2/helpers/MyConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package id.aashari.code.camerascanner.Helpers;
1+
package id.aashari.code.camerascannertesting2.helpers;
22

33
import android.graphics.Bitmap;
44

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package id.aashari.code.camerascannertesting2.libraries;
2+
3+
import android.graphics.Bitmap;
4+
import android.graphics.Matrix;
5+
6+
import org.opencv.android.Utils;
7+
import org.opencv.core.CvType;
8+
import org.opencv.core.Mat;
9+
import org.opencv.core.Scalar;
10+
11+
public class ImageUtils {
12+
13+
public static Bitmap rotateBitmap(Bitmap original, int angle) {
14+
Matrix matrix = new Matrix();
15+
matrix.postRotate(90);
16+
return Bitmap.createBitmap(original, 0, 0, original.getWidth(), original.getHeight(), matrix, true);
17+
}
18+
19+
public static Mat bitmapToMat(Bitmap bitmap) {
20+
Mat mat = new Mat(bitmap.getHeight(), bitmap.getWidth(), CvType.CV_8U, new Scalar(4));
21+
Bitmap bitmap32 = bitmap.copy(Bitmap.Config.ARGB_8888, true);
22+
Utils.bitmapToMat(bitmap32, mat);
23+
return mat;
24+
}
25+
26+
public static Bitmap matToBitmap(Mat mat) {
27+
Bitmap bitmap = Bitmap.createBitmap(mat.cols(), mat.rows(), Bitmap.Config.ARGB_8888);
28+
Utils.matToBitmap(mat, bitmap);
29+
return bitmap;
30+
}
31+
32+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package id.aashari.code.camerascannertesting2.libraries;
2+
3+
import org.opencv.core.CvType;
4+
import org.opencv.core.MatOfPoint;
5+
import org.opencv.core.MatOfPoint2f;
6+
import org.opencv.core.Point;
7+
8+
import java.util.ArrayList;
9+
import java.util.Iterator;
10+
import java.util.List;
11+
12+
public class MathUtils {
13+
14+
public static MatOfPoint toMatOfPointInt(MatOfPoint2f mat) {
15+
MatOfPoint matInt = new MatOfPoint();
16+
mat.convertTo(matInt, CvType.CV_32S);
17+
return matInt;
18+
}
19+
20+
public static MatOfPoint2f toMatOfPointFloat(MatOfPoint mat) {
21+
MatOfPoint2f matFloat = new MatOfPoint2f();
22+
mat.convertTo(matFloat, CvType.CV_32FC2);
23+
return matFloat;
24+
}
25+
26+
public static double angle(Point p1, Point p2, Point p0) {
27+
double dx1 = p1.x - p0.x;
28+
double dy1 = p1.y - p0.y;
29+
double dx2 = p2.x - p0.x;
30+
double dy2 = p2.y - p0.y;
31+
return (dx1 * dx2 + dy1 * dy2) / Math.sqrt((dx1 * dx1 + dy1 * dy1) * (dx2 * dx2 + dy2 * dy2) + 1e-10);
32+
}
33+
34+
public static MatOfPoint2f scaleRectangle(MatOfPoint2f original, double scale) {
35+
List<Point> originalPoints = original.toList();
36+
List<Point> resultPoints = new ArrayList<Point>();
37+
38+
for (Point point : originalPoints) {
39+
resultPoints.add(new Point(point.x * scale, point.y * scale));
40+
}
41+
42+
MatOfPoint2f result = new MatOfPoint2f();
43+
result.fromList(resultPoints);
44+
return result;
45+
}
46+
47+
}

0 commit comments

Comments
 (0)