智能文档扫描

源码链接:智能文档扫描实战(仿扫描全能王)-深度学习文档类资源-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可以任意搭配,不用考虑什么比例。最佳分辨率的。

 <DocScanView
     ref={ref}
     style={{ width: "90%", height: "70%" }}
     autoCrop={false}
     focus={isFocused}
 />

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

文档扫描

 

以下是最新效果视频,涵盖了扫描件文档增强处理。需要商务合作的请私信我,这边提供sdk代码,一次性买断价格实惠。

文档去阴影

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

  static final bool Function(Pointer<CoordinateArray>,
          Pointer<NativeCameraImage>, int docFinderPtr, Pointer<Utf8> tmpDirPtr)
      _findDocWithCameraImg = _docScan
          .lookup<
              NativeFunction<
                  Bool Function(
                      Pointer<CoordinateArray> coordsPtr,
                      Pointer<NativeCameraImage>,
                      IntPtr,
                      Pointer<Utf8>)>>('findDocWithCameraImg')
          .asFunction();
  static final bool Function(Pointer<Utf8> imgPathPtr, Pointer<Utf8> outPathPtr,
          int docFinderPtr, Pointer<CoordinateArray>, Pointer<NativeROI>)
      _findDocWithImgPath = _docScan
          .lookup<
              NativeFunction<
                  Bool Function(
                      Pointer<Utf8>,
                      Pointer<Utf8>,
                      IntPtr,
                      Pointer<CoordinateArray>,
                      Pointer<NativeROI>)>>("findDocWithImgPath")
          .asFunction();

 

 

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_30885549

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值