Skip to content

Instantly share code, notes, and snippets.

View Sren-Hmkn's full-sized avatar

SrnHmkn Sren-Hmkn

View GitHub Profile
@Sren-Hmkn
Sren-Hmkn / AndroidManifest.xml
Created August 6, 2018 17:15
Ask for external storage read and write permissions
<!--
<uses-permission android:name="android.permission.CAMERA" />
Add the following two lines below the line above -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!-- ... -->
@Sren-Hmkn
Sren-Hmkn / CameraActivity.java
Created August 6, 2018 16:55
Add preprateTessData-method to CameraActivity
// public class CameraActivity extends AppCompatActivity implements CameraBridgeViewBase.CvCameraViewListener {...
//
// define a constant of the needed subfolder
public static final String TESS_DATA = "/tessdata";
//
// private static final String TAG = "CameraActivity";
//...
// protected void onCreate(Bundle savedInstanceState) {...
//...
// Call method in onCreate before you create a MyTessOCR instance
@Sren-Hmkn
Sren-Hmkn / CameraActivity.java
Created August 6, 2018 16:20
Call MyTessOCR class from CameraActivity
//...
//...
//...
// Mat usedMat;
MyTessOCR mTessOCR;
Bitmap bitmap;
//
// BaseLoaderCallback mLoaderCallBack = new BaseLoaderCallback(this){...}
//...
//...
@Sren-Hmkn
Sren-Hmkn / MyTessOCR.java
Created August 6, 2018 15:07
Implementing the tess-two class
package com.example.android.myapplication;
import android.content.Context;
import android.graphics.Bitmap;
import com.googlecode.tesseract.android.TessBaseAPI;
import static com.googlecode.tesseract.android.TessBaseAPI.PageSegMode.PSM_AUTO;
public final class MyTessOCR {
@Sren-Hmkn
Sren-Hmkn / CameraActivity.java
Created August 6, 2018 15:00
Read-button and textview for CameraActivity
// ...
// ...
// JavaCameraView javaCameraView;
// Button makeNormal, makeGray, makeCanny, makeDilate, makeErode;
Button makeRead;
TextView readTextView;
Bitmap bitmap;
// Mat usedMat;
@Sren-Hmkn
Sren-Hmkn / com_example_android_myapplication_OpenCvMaker.cpp
Last active August 6, 2018 13:37
Implementation of OpenCV methods in C++
// include your header file here!
#include <com_example_android_myapplication_OpenCvMaker.h>
// change the name of this according to the methods name in your header, mine looks like this:
JNIEXPORT jint JNICALL Java_com_example_android_myapplication_OpenCvMaker_makeGray
(JNIEnv *, jclass, jlong addrInput, jlong addrOutput){
return (jint) toGray((*(Mat*) addrInput),(*(Mat*) addrOutput));
}
int toGray(Mat img, Mat& gray) {
//...#include <jni.h>
#include <opencv2/opencv.hpp>
#include <stdio.h>
using namespace cv;
using namespace std;
// ...
// extern "C" {
// #endif
@Sren-Hmkn
Sren-Hmkn / OpenCvMaker.java
Last active August 6, 2018 11:55
Create an OpenCV manager class
// change the package name to yours here
package com.example.android.opencvdemo;
public class OpenCvMaker {
private static boolean canny;
private static boolean dilate;
private static boolean erode;
private static boolean gray;
private static boolean normal;
@Sren-Hmkn
Sren-Hmkn / CameraActivity.java
Last active August 6, 2018 12:25
Adding function buttons, listeners and call OpenCvMaker methods
//...
// JavaCameraView javaCameraView;
// Mat usedMat;
Button makeNormal, makeGray, makeCanny, makeDilate, makeErode;
//...
// BaseLoaderCallback mLoaderCallBack = new BaseLoaderCallback(this){}
//...
@Sren-Hmkn
Sren-Hmkn / CameraBridgeViewBase.java
Last active August 6, 2018 10:46
Adjusting rotation and scale of the camera
protected void deliverAndDrawFrame(CvCameraViewFrame frame) {
Mat modified;
if (mListener != null) {
modified = mListener.onCameraFrame(frame);
} else {
modified = frame.rgba();
}