diff --git a/Lookify/app/build.gradle b/Lookify/app/build.gradle
index 43e036d..5b0cb79 100644
--- a/Lookify/app/build.gradle
+++ b/Lookify/app/build.gradle
@@ -19,6 +19,10 @@ android {
}
}
+repositories {
+ jcenter()
+}
+
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
@@ -27,4 +31,6 @@ dependencies {
androidTestImplementation 'androidx.test.ext:junit:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation project(path: ':openCVLibrary348')
+ implementation 'com.journeyapps:zxing-android-embedded:3.0.2@aar'
+ implementation 'com.google.zxing:core:3.2.0'
}
diff --git a/Lookify/app/src/main/AndroidManifest.xml b/Lookify/app/src/main/AndroidManifest.xml
index 93d05cf..165dde3 100644
--- a/Lookify/app/src/main/AndroidManifest.xml
+++ b/Lookify/app/src/main/AndroidManifest.xml
@@ -12,10 +12,11 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
-
+
+
-
+
diff --git a/Lookify/app/src/main/java/com/example/lookifyv2/Decode.java b/Lookify/app/src/main/java/com/example/lookifyv2/Decode.java
new file mode 100644
index 0000000..6c6a7f8
--- /dev/null
+++ b/Lookify/app/src/main/java/com/example/lookifyv2/Decode.java
@@ -0,0 +1,126 @@
+package com.example.lookifyv2;
+
+import android.graphics.Bitmap;
+import android.os.Bundle;
+import android.util.Log;
+import android.widget.Toast;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.BinaryBitmap;
+import com.google.zxing.DecodeHintType;
+import com.google.zxing.LuminanceSource;
+import com.google.zxing.MultiFormatReader;
+import com.google.zxing.NotFoundException;
+import com.google.zxing.RGBLuminanceSource;
+import com.google.zxing.Result;
+import com.google.zxing.common.HybridBinarizer;
+
+import org.opencv.android.BaseLoaderCallback;
+import org.opencv.android.LoaderCallbackInterface;
+import org.opencv.android.OpenCVLoader;
+import org.opencv.android.Utils;
+import org.opencv.core.Mat;
+import org.opencv.imgcodecs.Imgcodecs;
+
+import java.util.ArrayList;
+import java.util.Hashtable;
+import java.util.List;
+
+public class Decode extends AppCompatActivity {
+
+ //inicjacja logów OpenCV
+ private static final String TAG = "OCVSample::Activity";
+
+ String filePath;
+ Mat matPic;
+
+ //OpenCV domyślnie uruchamia się po onCreate co powoduje problemy - zapobiegamy więc temu
+ private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
+ @Override
+ public void onManagerConnected(int status) {
+ switch (status) {
+ case LoaderCallbackInterface.SUCCESS: {
+ Log.i(TAG, "OpenCV loaded successfully");
+ decodePic();
+ }
+ break;
+ default: {
+ super.onManagerConnected(status);
+ }
+ break;
+ }
+ }
+ };
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_decode);
+ }
+
+ public void decodePic() {
+ //pobieramy adres pliku przekazywany przez poprzednie activity
+ Bundle extras = getIntent().getExtras();
+ filePath = extras.getString("takenPic");
+ matPic = Imgcodecs.imread(filePath);
+
+ String contents = null;
+ Bitmap bMap = Bitmap.createBitmap(matPic.width(), matPic.height(), Bitmap.Config.ARGB_8888);
+ Utils.matToBitmap(matPic, bMap);
+ int[] intArray = new int[bMap.getWidth() * bMap.getHeight()];
+
+ bMap.getPixels(intArray, 0, bMap.getWidth(), 0, 0, bMap.getWidth(), bMap.getHeight());
+ LuminanceSource source = new RGBLuminanceSource(bMap.getWidth(), bMap.getHeight(), intArray);
+ BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
+
+ //Zwiększanie efektywności wykrywania kodów
+ Hashtable hints = new Hashtable<>();
+
+ List