0

正しく動作する場合、 Scipyの:で動作cropped_image = image.crop( cords )するオブジェクトを返します。Imageassaray

bitmap <PIL.Image.Image image mode=RGBA size=1600x1200 at 0xAC9CFEC>
#SCIPY'S ASARRAY WORKS PROPERLY!
pic!! [[[ 16  18  31 255]
  [ 16  18  31 255]
  [ 16  18  31 255]
  ..., 

しかし今、私はPIL.Image._ImageCrop失敗するオブジェクトを取得します。

bitmap <PIL.Image._ImageCrop image mode=RGBA size=1600x80 at 0x99635AC>
#SCIPY'S ASARRAY FAILS WITHOUT WARNING
pic!! <PIL.Image._ImageCrop image mode=RGBA size=1600x80 at 0x99635AC>
Traceback (most recent call last):
  File "/root/dev/spectrum/final/image_handler.py", line 216, in on_left_down
    self._sample_callback()
  File "/root/dev/spectrum/final/image_handler.py", line 237, in _sample_callback
    self.__callback_function( sample )
  File "/root/dev/spectrum/final/plot_handler.py", line 117, in __init__
    self.InitUI()
  File "/root/dev/spectrum/final/plot_handler.py", line 163, in InitUI
    self.canvas_panel.draw(self.__crop_section)
  File "/root/dev/spectrum/final/plot_handler.py", line 78, in draw
    pic_avg     = pic.mean(axis=2)
ValueError: axis(=2) out of bounds

なぜそのような問題が起こっているのですか?

4

1 に答える 1

1

これは、次の2つの状況から発生したサイレント障害です。

まず、cropメソッドには整数以外の数値が提供されました。

第二に、トリミング操作はたまたま怠惰な操作であり、トリミングはメソッドが呼び出されたときにのみ発生します.load()(これについては不明です。よく知っている場合は編集してください!)。

したがって、作物の操作は行われず、明らかな信号は得られませんでした。有効な座標を与えることで問題は解決しました。

于 2012-06-02T16:53:23.787 に答える