aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Android_Studio
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-03-19 15:50:02 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-03-19 15:50:02 +0200
commit24d0a8782f8324f80222251a4ff4977d1258e3a8 (patch)
tree5623798d8b00bd564f47bae65262f29e17a8ccb7 /Software/Android_Studio
parentc1ba3dfd40a942a28d50b90e511f9695f3e48c42 (diff)
downloadTango-24d0a8782f8324f80222251a4ff4977d1258e3a8.tar.gz
Tango-24d0a8782f8324f80222251a4ff4977d1258e3a8.zip
PPC Working on Tech Module.
TCC using arocus + barcode scanning using ZBar!
Diffstat (limited to 'Software/Android_Studio')
-rw-r--r--Software/Android_Studio/ColorCapture/app/build.gradle1
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/cpp/ColorCaptureLib/ColorCaptureLib.cpp1
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/cpp/native-lib.cpp2
-rw-r--r--Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java33
4 files changed, 35 insertions, 2 deletions
diff --git a/Software/Android_Studio/ColorCapture/app/build.gradle b/Software/Android_Studio/ColorCapture/app/build.gradle
index 57a59ea11..9a9df5b1a 100644
--- a/Software/Android_Studio/ColorCapture/app/build.gradle
+++ b/Software/Android_Studio/ColorCapture/app/build.gradle
@@ -66,5 +66,6 @@ dependencies {
annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
annotationProcessor 'com.google.dagger:dagger-android-processor:2.11'
annotationProcessor 'com.google.dagger:dagger-compiler:2.11'
+ compile 'com.yanzhenjie.zbar:zbar:1.0.0'
implementation project(':onboarding')
}
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/cpp/ColorCaptureLib/ColorCaptureLib.cpp b/Software/Android_Studio/ColorCapture/app/src/main/cpp/ColorCaptureLib/ColorCaptureLib.cpp
index 0b91e7b08..3a97b4911 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/cpp/ColorCaptureLib/ColorCaptureLib.cpp
+++ b/Software/Android_Studio/ColorCapture/app/src/main/cpp/ColorCaptureLib/ColorCaptureLib.cpp
@@ -732,6 +732,7 @@ vector<Point> ColorCaptureLib::GetArcusVertices(Mat image)
aruco::DetectorParameters* params = new aruco::DetectorParameters();
params->cornerRefinementMethod = aruco::CORNER_REFINE_SUBPIX;
+ params->perspectiveRemovePixelPerCell = 50;
Ptr<aruco::Dictionary> dictionary = aruco::getPredefinedDictionary(aruco::DICT_4X4_50);
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/cpp/native-lib.cpp b/Software/Android_Studio/ColorCapture/app/src/main/cpp/native-lib.cpp
index 3afccbec0..343203368 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/cpp/native-lib.cpp
+++ b/Software/Android_Studio/ColorCapture/app/src/main/cpp/native-lib.cpp
@@ -77,7 +77,7 @@ Java_com_twine_colorcapture_opencv_ImageProcessor_ProcessImage(
Mat rot_mat = getRotationMatrix2D(src_center, -90, 1.0);
warpAffine(rgb, rgb, rot_mat, rgb.size());*/
- vector<Point> vertices = capture.GetQRVertices4(rgb);
+ vector<Point> vertices = capture.GetArcusVertices(rgb);
for (size_t i = 0; i < vertices.size(); i++) {
circle(rgb, vertices[i], 2, CV_RGB(0, 0, 255), -1);
diff --git a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java
index 4da196dda..491a05564 100644
--- a/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java
+++ b/Software/Android_Studio/ColorCapture/app/src/main/java/com/twine/colorcapture/views/capture/CaptureFragment.java
@@ -10,6 +10,7 @@ import android.hardware.Camera.Size;
import android.os.Build;
import android.os.Handler;
import android.os.Looper;
+import android.util.Log;
import android.view.Surface;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
@@ -23,10 +24,16 @@ import android.widget.ImageView;
import com.twine.colorcapture.App;
import com.twine.colorcapture.R;
import com.twine.colorcapture.core.Task;
+import com.twine.colorcapture.core.Task.TaskBuilder;
import com.twine.colorcapture.databinding.FragmentCaptureBinding;
import com.twine.colorcapture.mvvm.FragmentBase;
import com.twine.colorcapture.opencv.ImageProcessor;
+import com.yanzhenjie.zbar.Image;
+import com.yanzhenjie.zbar.ImageScanner;
+import com.yanzhenjie.zbar.Symbol;
+import com.yanzhenjie.zbar.SymbolSet;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.List;
@@ -275,13 +282,37 @@ public class CaptureFragment extends FragmentBase<FragmentCaptureBinding, Captur
private void processImage()
{
- new Task.TaskBuilder()
+ new TaskBuilder()
.setAction(() ->
{
bProcessing = true;
processor.ProcessImage(previewWidth, previewHeight, frameData, pixels, wrappedPixels);
bitmap.setPixels(pixels, 0, previewHeight, 0, 0, previewHeight, previewWidth);
wrappedBitmap.setPixels(wrappedPixels, 0, 300, 0, 0, 300, 330);
+
+
+ Log.d("BARCODE", "scanning barcode...");
+ ImageScanner scanner = new ImageScanner();
+ Image img = new Image(bitmap.getWidth(),bitmap.getHeight(),"RGB4");
+ img.setData(pixels);
+ int result = scanner.scanImage(img.convert("Y800"));
+
+ if (result != 0)
+ {
+ Log.d("BARCODE", "Got positive result...");
+
+ String text = null;
+
+ SymbolSet symSet = scanner.getResults();
+ for (Symbol sym : symSet)
+ text = sym.getData();
+
+
+ String f = text;
+
+ Log.d("BARCODE", "Barcode text is: " + text);
+ }
+
})
.setContinueWith(() ->
{