9

我正在尝试在 Heroku 上安装 OpenCV,以便我的 Python Web 应用程序可以使用 OpenCV。我该怎么做呢?

谢谢!

4

5 回答 5

8

它适用于可能面临同样问题的谷歌同事。只需将opencv-python您的requirements.txt更改为opencv-python-headless.

opencv-python-headless 是一个没有 gpu 支持的 opencv 构建。给出错误的文件 libsm.so(PS 不记得正确的名称)用于 GPU 支持。

以供参考 :

opencv-python-headless

于 2019-01-12T23:45:15.880 回答
5

friism 发布的链接对我不起作用,因此我创建了一个自定义构建包,对于您描述的情况应该绰绰有余。

您可以在此处找到 buildpack 。

于 2014-06-11T13:50:25.670 回答
3

这个问题也出现在 Heroku 论坛上。看起来您可以查看几个构建包:

以下是如何使用自定义 buildpack

于 2013-11-09T23:31:07.083 回答
1

以下步骤应该可以解决您面临的 openCV 问题 -

  1. 通过粘贴将 heroku-buildpack-apt 添加到 BuildPack - https://github.com/heroku/heroku-buildpack-apt以在 dasboard 中添加 buildpack。屏幕截图 - 通过仪表板添加 -> 设置 -> 添加 BuildPacks
  2. 然后将 Aptfile 添加到您的 Github 基本目录中,其中包含 -
libsm6 
libxrender1
libfontconfig1
libice6

现在构建和部署,你准备好了!

于 2020-04-27T04:24:33.307 回答
0

看起来我迟到了这个线程,但这是我的解决方案对我有用。我需要演示这个使用 OpenCV 和 Django DRF 的 API。

我尝试了所有包括添加.buildpacksAptfiles的解决方案,但没有一个对我有用。

我最终删除了该.buildpacks文件Aptfile并添加opencv-python-headless到 requirements.txt 文件中作为替换opencv-python

这样做就可以让 API 在 python-3.8.0 运行时上运行。libgl1和此类依赖项适用opencv-python. 所以你可以逃脱opencv-python-headlessor opencv-contrib-python-headless。您唯一需要的 buildpack 就是heroku/pythonbuildpack。

有关更多详细信息,请在此处查看选项 3 和 4 !

如果您想查看它,我有一个相同的GitHub 存储库!

注意:不能使用cv2.imshow()无头等方法。无论如何,你不会有任何意义,而只是一个警告。

于 2020-12-25T05:51:14.957 回答