DCT и IDCT От скучных результатов к черному изображению - PullRequest
0 голосов
/ 22 сентября 2019

Я загружаю изображение и беру его DCT.После этого я выполняю IDCT на изображении, и результат таков.Это код, который я использую:

image = load_image()
new_image = image.copy()
IMAGE_H = image.shape[0]
IMAGE_W = image.shape[1]

for row in np.arange(IMAGE_H - BLOCK_HEIGHT + 1, step=BLOCK_HEIGHT):
    for col in np.arange(IMAGE_W - BLOCK_WIDTH + 1, step=BLOCK_WIDTH):
        block_dct = dct(dct(image[row:row+BLOCK_HEIGHT,
                                 col:col+BLOCK_WIDTH].T).T)
        new_image[row:row + BLOCK_HEIGHT, col:col + BLOCK_WIDTH] = idct(idct(
            block_dct.T).T)

image = PIL.Image.fromarray(new_image)
image.show()

enter image description here

Как я могу на 100% воссоздать изображение?

...