当前位置:   article > 正文

文档扫描(扫描全能王)_文件扫描源码

文件扫描源码

源码链接:智能文档扫描实战(仿扫描全能王)-深度学习文档类资源-CSDN文库

内容概述:

APP端文档扫描实战,不是演示项目,能够鲁棒的。Android IOS均可使用。项目使用RN构建,但RN只是一层皮,核心都是原生、C/C++、人工智能等硬核技术,方便复用所以能够很容易改成flutter或者原生构建。所以性能还是原生性能,这里性能需要解释下,RN是一个写页面和逻辑很方便框架,所以作者为了偷懒采用此框架。RN本身有一个解释执行的过程,所以渲染页面肯定是比不上原生的,但不是很明显。一旦页面渲染完毕就纯碎是原生性能,都是原生技术。所以RN和Flutter或者纯碎的原生开发并没有谁比谁高级,不要互相看不起。作为开发者,要根据实际情况选择框架。但无论选择那种框架,我们必须要会写底层,懂原理。熟悉此项目,技术视野会有质的变化。 适用人群:想提升自己初中级开发者,技术面涉及广。

相比文档扫描:深度神经网络在移动端的实践 - 有道技术沙龙博客 - 分享有道人的技术思考,我们的容错率更高,因此在有干扰的情况下也能够识别,详情请看视频。这种情况之前的HED算法是不能够鲁棒的,该作者的核心思想是基于轮廓或者边缘识别,在有干扰物的情况下,检测出来的轮毂线条就会断掉,因此Opencv无法继续后续的四边形轮毂分析算法https://stackoverflow.com/questions/58116302/how-to-detect-hough-lines-on-holistically-nested-edged-image,通俗的说就是Canny的升级版。输入图片是256 X 256的输入到AI模型当中,而我们输入都是32 X 32的显然计算量要少很多,实时性更好。Android IOS 都已实现,开箱即用。

Android IOS: 相机预览做了多屏幕适配,不用考虑什么4:3 16:9之类的处理,这些都会存在黑边。我们的是可以全屏显示在任何机型任意分辨率,都不会拉升。如下代码width和height可以任意搭配,不用考虑什么比例。最佳分辨率的。

  1. <DocScanView
  2. ref={ref}
  3. style={{ width: "90%", height: "70%" }}
  4. autoCrop={false}
  5. focus={isFocused}
  6. />

文档扫描

文档扫描演示

场景:纸质文档轻松被提取为电子文档。

以下是最新效果视频,涵盖了扫描件文档增强处理。代码暂不考虑公开,感情需的可以私信我。敬请谅解。最新的代码用flutter画了页面,底层代码和RN是一样的一套c++代码。以下视频显示我们的增强效果媲美现在做的好的扫描类APP。

手写扫描增强示例

彩色扫描增强示例

此更新在对扫描做了优化使得拍摄更清晰,并且增加了文档增强功能。增强效果看实例也是非常杠杠的。并且代码尽心了区域裁剪,使得相机预览效果和拍摄生成的图片显示区域一致。flutter采用了ffi和c++进行互操。类似以下代码:

  1. static final bool Function(Pointer<CoordinateArray>,
  2. Pointer<NativeCameraImage>, int docFinderPtr, Pointer<Utf8> tmpDirPtr)
  3. _findDocWithCameraImg = _docScan
  4. .lookup<
  5. NativeFunction<
  6. Bool Function(
  7. Pointer<CoordinateArray> coordsPtr,
  8. Pointer<NativeCameraImage>,
  9. IntPtr,
  10. Pointer<Utf8>)>>('findDocWithCameraImg')
  11. .asFunction();
  12. static final bool Function(Pointer<Utf8> imgPathPtr, Pointer<Utf8> outPathPtr,
  13. int docFinderPtr, Pointer<CoordinateArray>, Pointer<NativeROI>)
  14. _findDocWithImgPath = _docScan
  15. .lookup<
  16. NativeFunction<
  17. Bool Function(
  18. Pointer<Utf8>,
  19. Pointer<Utf8>,
  20. IntPtr,
  21. Pointer<CoordinateArray>,
  22. Pointer<NativeROI>)>>("findDocWithImgPath")
  23. .asFunction();

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/701451
推荐阅读
相关标签
  

闽ICP备14008679号