如何将张量划分为 NXN 块并再次从这些块重建第一个张量



我有一个形状为 (1,32,32( 的张量,形状的第一个索引显示通道数,我的图像是灰色的。 现在我需要将这个张量分成 8x8 块,并在每个块上做一些处理,如 DCT,并在更改后,将这些新块替换为前一个块。 我们在 Matlab 中有mattocellcelltomat, 但是在凯拉斯,我不知道我该怎么做?你能在Keras中说出你的建议吗?谢谢。

我使用了以下代码:

def slicAndJpeg(img):
    for i in range (int(img.shape[1].value/8)):
        for j in range(int(img.shape[2].value/8)):
            temp=img[:,i*8:i*8+8,j*8:j*8+8]
            tempb=K.zeros((8,8))
            DCT(temp,tempb)

但我不知道这是真的还是假的?! 你能告诉我是否可以在 keras 中使用上面的代码来张量吗?谢谢

我使用了前面提到的代码,它可以工作。 根据我的实验,我们可以通过 for 循环来做到这一点,但如果有人有更好的建议,请把它放在这里。

 def slicAndJpeg(img):
        for i in range (int(img.shape[1].value/8)):
            for j in range(int(img.shape[2].value/8)):
                temp=img[:,i*8:i*8+8,j*8:j*8+8]
                tempb=K.zeros((8,8))
                DCT(temp,tempb)

最新更新