В настоящее время я изучаю пирамиды изображений в школе, и я хочу научиться выполнять масштабную реконструкцию изображений пространства в OpenCV с использованием python.Мне удалось найти в сети набор функций здесь , который позволил мне выполнить реконструкцию, но мне было интересно, как автору удалось получить полосовые лапласианские слои.
Используя трифункций с этого сайта, я попытался восстановить изображение размером 256x256 (PNG) с max_layers = 3 (чтобы сформировать 4 слоя квадратных изображений с 256, 128, 64 и 32)
После того, как это было успешно, я попытался получитьслои лапласиана.Я пытался напечатать значение pyr, которое входит в функцию реконструкции, я также пытался извлечь данные из стека numpy для сохранения в виде данных слоя, но не смог получить аналогичные результаты, показанные в статье.Использование .shape в моем массиве показывает, что мои 4 слоя имеют эту форму
(256, 256, 3)
(256, 128, 2)
(256, 64, 1)
(256, 32, 1)
Сегмент кода, который я использовал для реконструкции моего изображения 256x256 png
#Pyramid and Reconstruct
dot = cv2.imread("test.png")
pyr = laplacian_pyramid(dot, max_layers=3)
recon = reconstruct(pyr)
cv2.imwrite("recon_test.png",recon)
Когда выше было сделано, япопытался получить слои лапласиана, используя следующее:
#Extract Layer Data from numpyarray
layer4 = (pyr[-4])
layer3 = (pyr[-3])
layer2 = (pyr[-2])
layer1 = (pyr[-1])
#Check Array Shape of Layers
print(layer4.shape)
print(layer3.shape)
print(layer2.shape)
print(layer1.shape)
#Write layer into image
cv2.imwrite("Testlayer4", layer4)
cv2.imwrite("Testlayer3", layer3)
cv2.imwrite("Testlayer2", layer2)
cv2.imwrite("Testlayer1", layer1)
За пределами "Testlayer4", который сохранил серо-голубое изображение, остальные слои не были сохранены.
Я пытался поигратьс каналами RGB и градациями серого, чтобы получить полосовые лапласианские слои, которые автор оригинального кода получил, но смог получить только искаженные изображения для одного из уровней, но не для других трех слоев.
Примеризображения из слоя 4
Образец слоя 4
Образец оригинальных и реконструированных изображений
Исходное изображение Реконструированное изображение
Впервые в StackOverflow, я ценю любую помощь или помощь в этом.