在Azure Functions中运行Python + OpenCV + dlib

nor*_*r0x 5 python opencv azure azure-functions

我已经在Python(带有dlibOpenCV)中创建了一个图像处理脚本-我想知道如何将该功能引入Azure Functions,以便可以通过API调用该脚本。正如Python仍在预览中一样,Azure Functions我想知道这里是否有人有将模块引入的经验,Azure Functions以及是否可以在OpenCV那里安装?

Lin*_*Toh 1

您可以将自己的模块上传到与您的函数lib位于同一文件夹中的文件夹中,从而将它们引入到您的函数中。

然而,在 OpenCV 的背景下,目前尚不支持该场景。Azure Function 环境中使用的默认 Python 版本是 Python 2.7。如果您尝试使用 OpenCV for Python 2.7 执行函数代码,您将收到类似于以下内容的错误消息:

2016-11-07T20:47:33.151 Function completed (Failure, Id=42fa9d38-05f1-46d4-a8ce-9fbaa24a870d)
2016-11-07T20:47:33.166 Exception while executing function: Functions.ImageProcessor. Microsoft.Azure.WebJobs.Script: ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
  File "D:\home\site\wwwroot\ImageProcessor\run.py", line 17, in <module>
    import cv2
ImportError: numpy.core.multiarray failed to import
Run Code Online (Sandbox Code Playgroud)

解决此问题的方法是更新numpy所使用的版本Python 2.7,但您将无法自行运行更新。

正如您所指出的,Azure Functions 的 Python 语言支持目前处于实验阶段。当 Python 完全成为一流语言时,这些问题将得到解决。