Visvis не представляет изображение при вызове в IDLE - PullRequest
0 голосов
/ 04 марта 2020

В настоящее время я изучаю Python и сейчас пытаюсь сделать простое редактирование изображений. Я просто хочу написать метод, который изменяет изображение, применяя какой-то простой фильтр, а затем показывает измененное изображение на экране.

Я использую следующий код, чтобы сделать это:

import imageio
import numpy as np
import visvis as vv

def doSomethingWithImage(im):
    for x in np.nditer(im, op_flags = ['readwrite']):
        if(x > 255/2):
            x[...] = 255
        else:
            x[...] = 0

im = imageio.imread('https://upload.wikimedia.org/wikipedia/commons/a/a3/June_odd-eyed-cat.jpg')

doSomethingWithImage(im)

vv.imshow(im)

Этот код работает безупречно при выполнении этого кода, вызывая python на консоли и вводя все это вручную. Когда я делаю то же самое в IDLE в основной оболочке, это не так. Он по-прежнему открывает окно, которое должно показывать изображение, но на самом деле это просто черное окно, которое даже больше не реагирует, через некоторое время вылетает и берет с собой оболочку.

У меня установлен PyQt5, которая является одной из структур, которые якобы может использовать vv.

Я не уверен, почему они показывают другое поведение. И на консоли, и на оболочке IDLE я напечатал результат sys.version, и оба они утверждают, что используют Python 3.7.

Любая помощь будет принята с благодарностью.

...