Flaskで作成したアプリをHerokuへデプロイするには、こちらの記事にもあるように3つのファイルが必要になります。
そのうちの1つであるrequirement.txtには、アプリで使用するPythonライブラリのバージョンを記載します。
opencvモジュールをPythonで使用するには、opencv-pythonというライブラリが必要になります。
requirement.txtにopencv-python==バージョンではうまくいきませんでしたので、その解決方法を紹介します。
因みにopencvとは、画像処理をするオープンソースライブラリであり、CやC++、Pythonなどに対応しています。
エラー
requirement.txtに以下のように記述して
opencv-python==4.7.0.72
Herokuへデプロイすると
ImportError: libGL.so.1: cannot open shared object file: No such file or directoryというエラーが出ます。
解決方法
requirement.txtに以下のように記述してください。
opencv-contrib-python-headless
これで、デプロイすると上手くいきました。