#python #amazon-web-services #aws-lambda #cv2
#python #amazon-веб-сервисы #aws-lambda #cv2
Вопрос:
Я работаю над проектом, который требует от меня запуска моего кода в облаке AWS, я попробовал несколько руководств и успешно использовал модуль python numpy в AWS lambda, даже я использую windows OS, следуяhttps://serverless.com/blog/serverless-python-packaging
Тем не менее, я хотел бы импортировать opencv, я установил opencv-python-headless с помощью pip install 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,
(например, могу ли я загрузить свой модуль opencv в AWS S3 и загрузить его при запуске приведенного выше кода python.
Комментарии:
1. Пожалуйста, отформатируйте коды python с отступом
Ответ №1:
Мой вопрос в том, могу ли я использовать более простой 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.
К сожалению, насколько мне известно, нет.
Комментарии:
1. Да, это работает, я допустил ошибку опечатки при импорте правильного модуля раньше, но теперь я могу импортировать cv2. Спасибо