Git Product home page Git Product logo

ncnn_paddleocr's Introduction

ncnn_paddleocr

This is a sample paddleocr ncnn android project, it depends on ncnn library and opencv
https://github.com/Tencent/ncnn
https://github.com/nihui/opencv-mobile

convert paddleocr light model to ncnn,you can use it by ncnn.
the infer code you can use chineseocr_lite project.
PS:if you use angle model plz change the input shape dstHeight from 32 to 48

model support

text detection

1.mv3dbnet-sim-op(paddleocr_mobile)
2.pdocrv2.0_det-op(PP-OCRv2)
3.ch_PP-OCRv3_det(PP-OCRv3)

text angle cls

1.angle-sim-op

text recognition

1.mv3rec-sim-op(paddleocr_mobile)
2.pdocrv2.0_rec-op(PP-OCRv2)
3.ch_PP-OCRv3_rec(PP-OCRv3)

how to build and run

step1

https://github.com/Tencent/ncnn/releases

  • Download ncnn-YYYYMMDD-android-vulkan.zip or build ncnn for android yourself
  • Extract ncnn-YYYYMMDD-android-vulkan.zip into app/src/main/jni and change the ncnn_DIR path to yours in app/src/main/jni/CMakeLists.txt

step2

https://github.com/nihui/opencv-mobile

  • Download opencv-mobile-XYZ-android.zip
  • Extract opencv-mobile-XYZ-android.zip into app/src/main/jni and change the OpenCV_DIR path to yours in app/src/main/jni/CMakeLists.txt

step3

  • Open this project with Android Studio, build it and enjoy!

screenshot


1.https://github.com/DayBreak-u/chineseocr_lite/tree/onnx/cpp_projects/OcrLiteNcnn
2.https://github.com/frotms/PaddleOCR2Pytorch
3.https://github.com/PaddlePaddle/PaddleOCR#PP-OCRv2
4.https://github.com/nihui/ncnn-android-yolov5
5.https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.5

ncnn_paddleocr's People

Contributors

feigechuanshu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ncnn_paddleocr's Issues

Getting Execution failed for task ':app:externalNativeBuildDebug'.

Why this issue is happening and how can I fix it?

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:externalNativeBuildDebug'.

Build command failed.
Error while executing process /Users/a13220363/Library/Android/sdk/cmake/3.10.2.4988404/bin/ninja with arguments {-C /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/.cxx/cmake/debug/arm64-v8a paddleocrncnn}
ninja: Entering directory `/Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/.cxx/cmake/debug/arm64-v8a'
[1/4] Building CXX object CMakeFiles/paddleocrncnn.dir/common.cpp.o
[2/4] Building CXX object CMakeFiles/paddleocrncnn.dir/paddleocr_ncnn.cpp.o
[3/4] Building CXX object CMakeFiles/paddleocrncnn.dir/clipper.cpp.o
[4/4] Linking CXX shared library /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/build/intermediates/cmake/debug/obj/arm64-v8a/libpaddleocrncnn.so
FAILED: /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/build/intermediates/cmake/debug/obj/arm64-v8a/libpaddleocrncnn.so
: && /Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=aarch64-none-linux-android24 --gcc-toolchain=/Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack -shared -Wl,-soname,libpaddleocrncnn.so -o /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/build/intermediates/cmake/debug/obj/arm64-v8a/libpaddleocrncnn.so CMakeFiles/paddleocrncnn.dir/paddleocr_ncnn.cpp.o CMakeFiles/paddleocrncnn.dir/common.cpp.o CMakeFiles/paddleocrncnn.dir/clipper.cpp.o /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libncnn.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/sdk/native/staticlibs/arm64-v8a/libopencv_core.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/sdk/native/staticlibs/arm64-v8a/libopencv_imgproc.a -ljnigraphics -fopenmp -static-openmp /Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/24/libvulkan.so /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libglslang.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libSPIRV.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libMachineIndependent.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libOGLCompiler.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libOSDependent.a -pthread /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libGenericCodeGen.a -landroid -ljnigraphics /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/sdk/native/staticlibs/arm64-v8a/libopencv_core.a -ldl -lm -llog -latomic -lm && :
clang++: error: unknown argument: '-static-openmp'
ninja: build stopped: subcommand failed.

  • Try:
    Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Exception is:
    org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:externalNativeBuildDebug'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:205)
    at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:203)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:184)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    Caused by: org.gradle.internal.UncheckedException: Build command failed.
    Error while executing process /Users/a13220363/Library/Android/sdk/cmake/3.10.2.4988404/bin/ninja with arguments {-C /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/.cxx/cmake/debug/arm64-v8a paddleocrncnn}
    ninja: Entering directory `/Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/.cxx/cmake/debug/arm64-v8a'
    [1/4] Building CXX object CMakeFiles/paddleocrncnn.dir/common.cpp.o
    [2/4] Building CXX object CMakeFiles/paddleocrncnn.dir/paddleocr_ncnn.cpp.o
    [3/4] Building CXX object CMakeFiles/paddleocrncnn.dir/clipper.cpp.o
    [4/4] Linking CXX shared library /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/build/intermediates/cmake/debug/obj/arm64-v8a/libpaddleocrncnn.so
    FAILED: /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/build/intermediates/cmake/debug/obj/arm64-v8a/libpaddleocrncnn.so
    : && /Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=aarch64-none-linux-android24 --gcc-toolchain=/Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack -shared -Wl,-soname,libpaddleocrncnn.so -o /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/build/intermediates/cmake/debug/obj/arm64-v8a/libpaddleocrncnn.so CMakeFiles/paddleocrncnn.dir/paddleocr_ncnn.cpp.o CMakeFiles/paddleocrncnn.dir/common.cpp.o CMakeFiles/paddleocrncnn.dir/clipper.cpp.o /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libncnn.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/sdk/native/staticlibs/arm64-v8a/libopencv_core.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/sdk/native/staticlibs/arm64-v8a/libopencv_imgproc.a -ljnigraphics -fopenmp -static-openmp /Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/24/libvulkan.so /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libglslang.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libSPIRV.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libMachineIndependent.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libOGLCompiler.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libOSDependent.a -pthread /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libGenericCodeGen.a -landroid -ljnigraphics /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/sdk/native/staticlibs/arm64-v8a/libopencv_core.a -ldl -lm -llog -latomic -lm && :
    clang++: error: unknown argument: '-static-openmp'
    ninja: build stopped: subcommand failed.

    at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:67)
    at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:107)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:49)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:727)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:694)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:568)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:553)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:536)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:276)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:265)
    at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
    at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:63)
    at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
    at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
    at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
    at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
    at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
    at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
    at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
    at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
    at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
    at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:153)
    at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:67)
    at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:41)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
    at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
    at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
    at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:192)
    ... 30 more
    Caused by: Build command failed.
    Error while executing process /Users/a13220363/Library/Android/sdk/cmake/3.10.2.4988404/bin/ninja with arguments {-C /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/.cxx/cmake/debug/arm64-v8a paddleocrncnn}
    ninja: Entering directory `/Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/.cxx/cmake/debug/arm64-v8a'
    [1/4] Building CXX object CMakeFiles/paddleocrncnn.dir/common.cpp.o
    [2/4] Building CXX object CMakeFiles/paddleocrncnn.dir/paddleocr_ncnn.cpp.o
    [3/4] Building CXX object CMakeFiles/paddleocrncnn.dir/clipper.cpp.o
    [4/4] Linking CXX shared library /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/build/intermediates/cmake/debug/obj/arm64-v8a/libpaddleocrncnn.so
    FAILED: /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/build/intermediates/cmake/debug/obj/arm64-v8a/libpaddleocrncnn.so
    : && /Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=aarch64-none-linux-android24 --gcc-toolchain=/Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64 --sysroot=/Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -Wa,--noexecstack -Wformat -Werror=format-security -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -static-libstdc++ -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -Wl,-z,noexecstack -shared -Wl,-soname,libpaddleocrncnn.so -o /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/build/intermediates/cmake/debug/obj/arm64-v8a/libpaddleocrncnn.so CMakeFiles/paddleocrncnn.dir/paddleocr_ncnn.cpp.o CMakeFiles/paddleocrncnn.dir/common.cpp.o CMakeFiles/paddleocrncnn.dir/clipper.cpp.o /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libncnn.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/sdk/native/staticlibs/arm64-v8a/libopencv_core.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/sdk/native/staticlibs/arm64-v8a/libopencv_imgproc.a -ljnigraphics -fopenmp -static-openmp /Users/a13220363/Library/Android/sdk/ndk/20.0.5594570/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/lib/aarch64-linux-android/24/libvulkan.so /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libglslang.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libSPIRV.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libMachineIndependent.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libOGLCompiler.a /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libOSDependent.a -pthread /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/ncnn-20220729-android-vulkan/arm64-v8a/lib/libGenericCodeGen.a -landroid -ljnigraphics /Users/a13220363/Lavanya/Projects/ncnn_paddleocr/app/src/main/jni/sdk/native/staticlibs/arm64-v8a/libopencv_core.a -ldl -lm -llog -latomic -lm && :
    clang++: error: unknown argument: '-static-openmp'
    ninja: build stopped: subcommand failed.

    at com.android.build.gradle.internal.cxx.process.ProcessOutputJunction.execute(ProcessOutputJunction.kt:79)
    at com.android.build.gradle.internal.cxx.process.ProcessOutputJunction.execute(ProcessOutputJunction.kt:120)
    at com.android.build.gradle.tasks.ExternalNativeBuildTask.executeProcessBatch(ExternalNativeBuildTask.kt:424)
    at com.android.build.gradle.tasks.ExternalNativeBuildTask.buildImpl(ExternalNativeBuildTask.kt:190)
    at com.android.build.gradle.tasks.ExternalNativeBuildTask.doTaskAction(ExternalNativeBuildTask.kt:115)
    at com.android.build.gradle.internal.tasks.NonIncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(AndroidVariantTask.kt:73)
    at com.android.build.gradle.internal.tasks.NonIncrementalTask$taskAction$$inlined$recordTaskAction$1.invoke(AndroidVariantTask.kt:34)
    at com.android.build.gradle.internal.tasks.Blocks.recordSpan(Blocks.java:91)
    at com.android.build.gradle.internal.tasks.NonIncrementalTask.taskAction(NonIncrementalTask.kt:34)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
    ... 91 more

识别结果不对

1、检测框没问题,但是识别的结果都是单字的, 并且不对

  • ncnn版本ncnn-20220420-android-vulkan
  • Opencv版本4.5.4

angle model input size

Thx for the ncnn model. All model works well except the angle model in chineseocr_lite. Base on chineseocr_lite, I change input size of angel model from 192323 ---> 192483, but the softmax output is all 1 value. I check that the input img of getAngle func is OK. Is there any other preprocess should be done for angel model? The mean and norm vals chineseocr_lite in are right?

模型转换问题

飞哥,请问一下,这里面的paddleocr的飞桨模型可以直接转ncnn么,也就是不依赖于paddleocr2pytorch这个转换过程。当初直接用paddle2onnx onnxsimply onnx2ncnn 识别模型转化不成功。飞哥怎么看

如何更改模型?

你好,项目默认的模型是 pdocrv2.0,我想将模型更改为 ch_PP-OCR。

但我将初始化 bin 和 param 的模型名字替换掉以后就闪退了。

请问还要改什么地方?

image

完全没有结果啊

手机:小米6, 如图。
倒是给我画了几条虚线。 不知道是什么原因?

22ce3e1a1c5e0ce7bb70a1d1974d25b

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.