Inpainting в нескольких каналах - PullRequest
0 голосов
/ 17 октября 2019

У меня есть 3d матрица A = [mXnXl], которую я хочу закрасить, используя маску mask = [mXn].

Таким образом, каждый срез вдоль "l" является 2D-изображением (0-255 диапазон RGB). Я забочусь о непрерывности вдоль этой оси, а также вдоль 3-го измерения.

Я использую рисование с двумя следующими формами

im1=inpaint.inpaint_biharmonic(np.uint8(A), np.uint8(mask), multichannel=True)

for i in range(0,l):
    im2[:,:,i]=inpaint.inpaint_biharmonic(np.uint8(A[:,:,i]), np.uint8(mask), multichannel=False)

Как 3-е измерение обрабатывается в алгоритме? Дадут ли они одинаковые результаты?

1 Ответ

0 голосов
/ 18 октября 2019

Вы можете посмотреть исходный код функции здесь:

https://github.com/scikit-image/scikit-image/blob/c221d982e493a1e39881feb5510bd26659a89a3f/skimage/restoration/inpaint.py#L76

Как вы можете видеть в цикле for в этой функции, функция просто делает то же самоевещь, как ваш цикл for, поэтому результаты должны быть идентичны.

...