如何在AWS lambda上导入opencv模块

2024-06-09 13:21:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个需要在AWS云上运行代码的项目, 我尝试了一些教程,在AWS lambda上成功地使用了python numpy模块,即使我使用的是Windows操作系统,如下所示 https://serverless.com/blog/serverless-python-packaging/

但是,我想导入opencv,我通过pip install opencv-python-headless安装了opencv python headless。毕竟,我无法完成我的开发,有人告诉我“解压大小必须小于262144000字节”,这是真的,因为我的.zip文件大小超过300000000字节

我的问题是,我是否可以使用更简单的opencv进行安装,这样我就可以使用小于一定数量的软件包,我只需要一些关于cv2的代码:

faceCascade = cv2.CascadeClassifier(cascPath)
image = cv2.imread(imagePath, cv2.IMREAD_GRAYSCALE )

faces = faceCascade.detectMultiScale(
image,
scaleFactor=1.2,
minNeighbors=5,
minSize=(30, 50),
flags = cv2.CASCADE_SCALE_IMAGE
)

for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
......
lastimg = cv2.resize(crop_img, (182, 182))
cv2.imwrite("crop_{}".format(imagePath), lastimg)

或者有什么方法可以在AWS云上运行这些代码, (例如,我可以在AWS S3上上传opencv模块,并在运行上述python代码时下载它吗


Tags: 模块项目代码cropimageaws字节cv2
1条回答
网友
1楼 · 发布于 2024-06-09 13:21:07

My question is can I have the more simple opencv for installing, so I can have the package with smaller than the certain amount (...).

为了实现这一点,您应该自己构建opencv

通过这种方式,您可以设置构建选项并创建最适合您需要的版本

以下是带有说明和构建选项的文档: https://docs.opencv.org/3.4/d7/d9f/tutorial_linux_install.html

看看这个构建示例,其目标与您的相同: https://github.com/aeddi/aws-lambda-python-opencv/blob/master/build.sh


OR is there any method to run these code on AWS cloud, (for example, can I upload my opencv module on AWS S3, and download it when running the above python code.

可悲的是,据我所知不是这样

相关问题 更多 >