イメージ処理のためにWSGIを使用してApacheで実行する一連のWeb APIがあります。 最近、私は(私は、Python 2.7を使用しています)3.2に私のOpenCVのアップグレード OpenCVのは、私は、コンソールからそれを実行したときに正常に動作するようですが、私が作るときに、Web APIは、OpenCVのは、グレースケールに画像を変換する時にハング呼び出す:OpenCV 3.2がcv2.cvtColorでハングする
cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
それは完全にランダムで、パターンを見つけることができませんでした。何度か、それはハングアップし、何回かは同じ画像のために働く。 アイデア
詳細: 私はシェルコマンドからそれを行うと、すべてが正常に動作します:
>>> sudo python manage.py shell
>>> import cv2
>>> import numpy as np
>>> from PIL import Image
>>> image = Image.open(img_path)
>>> image = np.asarray(image)
>>> print image
array([[[255, 255, 255],
[255, 255, 255],
[255, 255, 255],...]]], dtype=uint8)
>>> img = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
>>> print img
array([[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
...,
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255],
[255, 255, 255, ..., 255, 255, 255]], dtype=uint8)
がUPDATE: 問題はWSGIです。私がWSGIDaemonProcessのためにApacheの設定で2つ以上のプロセスを指定すると、私は簡単にハングを再現することができます。これを1に設定した後、それは
を作品WSGIDaemonProcess processes=1 threads=25 maximum-requests=100
私はまだわからないWSGI原因で複数のプロセスが
はそれがハングアップしたときに画像サイズを視察しましたか? – ilke444
@ ilke444 私が一貫して吊るしたものは、852x852です。ここにあります:https://drive.google.com/open?id=0B_eaJCfhUFmFWmdJQzhKVGJNbDQ – Deman
[OpenCV imreadは、Webリクエストから呼び出されたときにハングします](http://stackoverflow.com/questions/11315043/opencv-imreadウェブからのリクエストと呼ばれる) – ilke444