C++ AWS lambda 中的 OCR 应用程序
C++ OCR application in AWS lambda
我一直在为 aws 中基于 lambda 的(无服务器)应用程序探索稳定且可扩展的架构,以开发 ocr 应用程序。
我已经在 aws lambda 中成功实现并测试了 opencv 和 tesseract-ocr 模块的 python 版本。
我有兴趣在 aws lambda 中的 c++ 编程语言中做同样的事情,这样我就可以在 c++ 中使用 c++ tesseract Tess_Base_API,这样我们就不必将我现有的基于 c++ 的代码库转换为 python 代码。
经过一些研究,我发现可以通过两种方式实现:
1)静态构建opencv,tesseract库(.a文件),然后静态编译C++源代码以创建没有动态libs依赖项的可执行文件。之后,可以使用 aws lambda 中 Python 中的子进程模块执行这个静态生成的C++可执行文件。
2) 创建一个包含 opencv 和 tesseract 动态库(.so 文件)的包,并使用 aws lambda 中 Python 中的子进程模块再次运行 C++ 可执行文件(通过使用"LD_LIBRARY_PATH"指向这些动态库包的路径)。
首先,我尝试通过此链接静态构建opencv,但由于它基于alpine Linux环境,因此没有成功。我也无法在任何地方获得任何此类用法,所以我对这种方法是否有效感到困惑。
在过去的几天里,我一直在探索此功能,是否有人已经这样做了,或者有任何关于如何在 aws lambda 中完成它的信息?
谢谢
适用于C++的 AWS Lambda 运行时支持打包您的应用程序及其依赖项。 唯一的问题是依赖项必须在链接时知道(即不使用 dlopen)。如果您的代码使用 dlopen,则必须修改 zip 包并手动将该库添加到其中。
在此处查看完整示例 https://github.com/awslabs/aws-lambda-cpp/tree/master/examples/s3
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- 如何改变c++应用程序的视觉效果
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 如何从Windows应用程序输出到标准?
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- C++ AWS lambda 中的 OCR 应用程序