То, что вы ищете, называется деконволюцией. Если вы ищете «деконволюция scikit-image», вы, вероятно, попадете в документацию для функции деконволюции Richardson-Lucy или в в этом примере используется . Примечание: теоретически не всегда возможно восстановить исходный сигнал (это немного похоже на несмешивание краски), но вы можете получить разумные приближения, особенно если ваша свертка точно известна.
Вы можете посмотреть на исходный код для фильтра Лапласа, где вы видите, что изображение свернуто с ядром лапласиана . Это ядро, которое нам нужно, чтобы разложить изображение. (Обратите внимание, что вы всегда можете регенерировать ядро, свернув изображение, содержащее только 1 в центре и 0 в других местах. Вот почему ядро в деконволюции называется функцией разброса точек.)
Итак, чтобы восстановить ваш образ:
from skimage.restoration.uft import laplacian
from skimage.restoration import richardson_lucy
kernel_size = 3 # default for filters.laplace, increase if needed
kernel = laplacian(output.ndim, (kernel_size,) * output.ndim)
restored = richardson_lucy(output, kernel)