py2exe на PIL ImageStat.Stat генерирует исключение: аргумент 2 должен быть ImagingCore, а не ImagingCore - PullRequest
0 голосов
/ 28 июля 2010

Я пытаюсь создать .exe из программы на python, используя py2exe, но когда я запускаю .exe, я получаю файл журнала с

Exception in thread Thread-1:
Traceback (most recent call last):
  File "threading.pyc", line 532, in __bootstrap_inner
  File "threading.pyc", line 484, in run
  File "webcam.py", line 66, in loop
  File "ImageStat.pyc", line 50, in __init__
  File "PIL\Image.pyc", line 990, in histogram
TypeError: argument 2 must be ImagingCore, not ImagingCore

Вот код:

#webcam.py
          cam = VideoCapture.Device();
          def getImage():
            return cam.getImage();
    ...
        camshot = grayscale(getImage());
        lightCoords = [];
        level = camshot.getextrema()[1]-leniency;
        for p in camshot.getdata():
          if p>=level:
            lightCoords.append(255);
          else:
            lightCoords.append(0);
        maskIm = new("L",res);
        maskIm.putdata(lightCoords);
    ...

    64      colorcamshot = getImage();
    65      camshot = grayscale(colorcamshot);
    66      brightness = ImageStat.Stat(camshot,maskIm).sum[0]/divVal;

1 Ответ

0 голосов
/ 28 июля 2010

Попробуйте импортировать PIL в ваш основной поток перед запуском любых рабочих потоков.Похоже, один и тот же класс был импортирован дважды, и в результате сравнения типов ведут себя странно.

...