diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-03-19 15:50:02 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-03-19 15:50:02 +0200 |
| commit | 24d0a8782f8324f80222251a4ff4977d1258e3a8 (patch) | |
| tree | 5623798d8b00bd564f47bae65262f29e17a8ccb7 /Software/Android_Studio | |
| parent | c1ba3dfd40a942a28d50b90e511f9695f3e48c42 (diff) | |
| download | Tango-24d0a8782f8324f80222251a4ff4977d1258e3a8.tar.gz Tango-24d0a8782f8324f80222251a4ff4977d1258e3a8.zip | |
PPC Working on Tech Module.
TCC using arocus + barcode scanning using ZBar!
Diffstat (limited to 'Software/Android_Studio')
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(() -> { |
