可能不是在寻找解决方案,而是在寻找相关指导.
这是在我们的Android应用程序中实现“文档扫描程序”.
我需要做到这一点:
>用相机拍照(没问题)
>检测页面边缘/角落(???)
>允许用户移动/调整角落(没问题)
>转换图像使其成为矩形(???)
>将图像转换为黑白TIFF或其他适当的格式,以便通过移动网络传输(紧凑,每像素位)(???)
我尝试了什么.我们尝试使用Open CV.这是巨大的,有NDK.设置和基础设施相当复杂.
有没有更轻的设计用于完成这项任务?即使商业也可能没问题.
只是寻找关于如何处理这个的建议..主要问题是检测边缘和转换我认为..
最佳答案
我不知道有哪些库会为你处理这个问题,但是我遇到了一些实现类似结果的开源项目.大多数都基于OpenCV库和/或OpenCV4Android SDK.以下是一些值得注意的项目:
原文链接:https://www.f2er.com/android/430030.html> Android Scanner Demo
> Simple Document Scanner
> Document Scanner
另一个类似的库是Google的Mobile Vision API,其中包含Text Recognition API.虽然这不能让您将文档转换为黑白图像,但它可以让您将文档转换为纯文本.
至于转换图像以便通过网络传输; Android不是natively support TIFF文件格式,但至少有one library将为您处理此转换. Android本身支持将图像压缩为JPEG,PNG or WEBP,您可以使用它作为编码字符串通过网络发送数据:
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG,100,outputStream);
byte[] bytes = outputStream.toByteArray();
String encodedImage = Base64.encodeToString(bytes,Base64.DEFAULT);