我正在从事需要我在AWS云上运行代码的项目, 我已经尝试了一些教程,并且在以下情况下成功使用了AWS Lambda上的python numpy模块,即使我正在使用窗口操作系统 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代码时下载它。
答案 0 :(得分:0)
我的问题是我可以使用更简单的opencv进行安装吗,所以我可以使用小于一定数量(...)的软件包。
要完成此操作,您应该自己构建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
或者有什么方法可以在AWS云上运行这些代码,(例如,我可以将我的opencv模块上传到AWS S3上,然后在运行上述python代码时下载它吗。
可悲的是,我不知道。