200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 文档扫描(扫描全能王)

文档扫描(扫描全能王)

时间:2023-02-19 07:33:17

相关推荐

文档扫描(扫描全能王)

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

内容概述:

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

相比文档扫描:深度神经网络在移动端的实践 - 有道技术沙龙博客 - 分享有道人的技术思考,我们的容错率更高,因此在有干扰的情况下也能够识别,详情请看视频。这种情况之前的HED算法是不能够鲁棒的,该作者的核心思想是基于轮廓或者边缘识别,在有干扰物的情况下,检测出来的轮毂线条就会断掉,因此Opencv无法继续后续的四边形轮毂分析算法/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可以任意搭配,不用考虑什么比例。最佳分辨率的。

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

文档扫描

文档扫描演示

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

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

手写扫描增强示例

彩色扫描增强示例

此更新在对扫描做了优化使得拍摄更清晰,并且增加了文档增强功能。增强效果看实例也是非常杠杠的。并且代码尽心了区域裁剪,使得相机预览效果和拍摄生成的图片显示区域一致。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();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。