【以下的问题经过翻译处理】 你好,
我在使用 Python OpenCV 库时遇到问题,在 AWS Lightsail 容器实例上运行。
一些基本信息:
- 运行在 python:3.7 Docker 镜像上。
- Python Flash应用
- AWS Lightsail 容器实例
- 使用以下第三方库:链接
- 对 OpenCV 使用 opencv-contrib-python-headless==4.5.4.60。
- 错误图片:链接
当尝试比较两个图像时,我收到 502 Bad Gateway 的 HTTP 状态代码,这很奇怪。
似乎在我的本地 Windows 机器上完美运行,但在这个 Linux 映像上不行。
from cv2 import cv2 import logging logger = logging.getLogger()
def compare_two_images(image_to_compare_file, image_to_compare_against_file):
# Image imports
# Features
logger.warning("image_to_compare_file " + image_to_compare_file)
logger.warning("image_to_compare_against_file " + image_to_compare_against_file)
筛选 = cv2.SIFT_create()
logger.warning("SIFT 创建" + str(sift 为 None))
# 查询图像
img1 = cv2.imread(image_to_compare_file, cv2.IMREAD_GRAYSCALE)
logger.warning("IMG1 read created" + str(img1 is None))
# 使用 SIFT 查找关键点和描述符
kp1, desc1 = sift.detectAndCompute(img1, None)
logger.warning("检测并计算" + str(kp1 为 None) + " " + str(desc1 为 None))
img2 = cv2.imread(image_to_compare_against_file, cv2.IMREAD_GRAYSCALE)
logger.warning("IMG2 读取已创建" + str(img2 为 None))
kp2,desc2 = sift.detectAndCompute(img2,无)
logger.warning("检测并计算" + str(kp2 == None) + " " + str(desc2 is None))
# 使用默认参数的 BFMatcher
bf = cv2.BFMatcher()
匹配 = bf.knnMatch(desc1, desc2, k=2)
# 应用比率测试
好= []
对于 m, n 匹配:
如果 m.distance < 0.55 * n.distance:
good.append([m])`
在 kp1, desc1 = sift.detectAndCompute(img1, None)
上崩溃
并产生 502 Bad Gateway。
然后,在我的 Python Flask 应用程序中的其他一些endpoint上,多次产生503 服务暂时不可用。
在那之后,我可以看到图像被删除了。