构建零依赖的移动文档扫描仪:简介
我长期以来一直使用CamScanner和Smallpdf等文档扫描应用程序来发送纸质文档的电子版,但我一直很好奇这些应用程序究竟是如何工作的。当你拍摄一张纸的照片时,即使纸张没有完全居中,这些应用程序也会自动找到纸张的边角,并调整图像的透视,使其看起来像是用专用扫描仪拍摄的一样。几周前,我开始寻找可以研究的开源文档扫描程序。
问题是什么?根本没有问题。我能找到的开源文档扫描器基本上把所有功能都交给了OpenCV,而 OpenCV 的内部文档非常匮乏。
所以我决定自己开发一个文档扫描仪,但有一个前提:我不会使用任何第三方库。一个月后,我做出了一个满意的原型,它在我测试过的绝大多数文档上都运行良好。
我们来试试从谷歌搜索随机找一张图片:
这是我工作用的文档扫描仪:
以下是我们的最终结果:
由于原图分辨率不高,所以画质并非完美,但用一部不错的智能手机拍摄大多数文档都能获得不错的效果。如果您想查看,代码和演示网站都已上传至 GitHub。
不过,我强烈建议您先阅读本系列的其他文章,以便更好地理解其背后的原理。我相信任何人都能学会计算机科学中最复杂的部分,因此我编写本系列文章的方式,您只需具备基本的编程技能和代数基础即可轻松理解。让我们开始吧!
文章来源:https://dev.to/101arrowz/building-a-mobile-document-scanner-with-zero-dependencies-introduction-9ko

