Я хочу использовать алгоритм SWT (Stroke Width Transform) для улучшения точности Tesseract-OCR. Я ссылался на эту ссылку .
Я нашел ccv и способ использовать его.
Я хочу использовать ccv_swt метод, но я не знаю, как именно использовать.
Особенно, ccv_swt_param_t params
часть.
Это мой код.
MainActivity.java
private Mat matInput;
private Mat matGray;
public native void ocrTest(long matAddrGray, long matAddrCanny, long matAddrBlur);
@Override
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
matInput = inputFrame.rgba();
Imgproc.cvtColor(matInput, matGray, Imgproc.COLOR_RGB2GRAY);
ocrTest(matGray.getNativeObjAddr(), matCanny.getNativeObjAddr(), matBlur.getNativeObjAddr());
}
нативной lib.cpp
extern "C"
JNIEXPORT void JNICALL
Java_com_example_ocrtest_MainActivity_ocrTest(JNIEnv *env, jobject instance, jlong matAddrGray,
jlong matAddrCanny, jlong matAddrBlur) {
// TODO
Mat &matGray = *(Mat *) matAddrGray;
Mat &matCanny = *(Mat *) matAddrCanny;
Mat &matBlur = *(Mat *) matAddrBlur;
int lowThreshold = 50;
int highThreshold = 150;
Canny(matGray, matCanny, lowThreshold, highThreshold, 3);
blur(matGray, matBlur, Size(3, 3));
}