2016-03-14 139 views
0

我有一個4D uint8陣列,圖像結構爲X(:::,:,i),需要將它們保存爲圖像文件。他們是PNG。任何想法如何做到這一點?將4D陣列轉換爲圖像

我可以得到像這樣的原始數值,但我無法將其保存到文件。

myExtract = X(:,:,:,1) 

將返回:

myExtract(:,:,1) = 



Columns 1 through 23 

    33 15 15 42 67 68 68 74 78 88 84 79 79 85 79 82 86 82 60 35 43 69 81 
    28 14 14 43 69 59 59 76 83 88 82 84 84 88 79 81 80 58 32 20 33 69 81 
    40 18 16 30 64 58 62 77 84 89 83 83 86 82 76 53 41 28 23 28 43 73 77 
    48 19 23 23 59 67 61 78 89 90 84 85 84 80 76 41 34 33 25 25 51 76 81 
    51 18 22 18 52 63 63 83 86 88 91 90 85 84 80 71 70 40 24 33 58 80 84 
    63 20 16 20 50 59 61 84 86 88 90 88 89 85 81 80 85 43 27 35 60 83 77 
    69 18 19 15 47 61 61 78 84 88 87 86 81 88 89 83 82 38 31 36 69 82 60 
    65 19 25 16 35 65 60 82 87 93 96 90 85 86 86 87 82 45 31 31 67 83 47 
    77 21 21 17 28 60 57 84 91 94 92 89 95 92 89 88 80 39 31 41 71 84 37 
    82 26 19 18 21 57 59 82 94 94 90 86 96 89 84 90 77 35 34 39 79 75 30 
    85 29 13 16 19 50 62 84 95 93 90 90 92 91 88 92 72 31 29 50 85 71 34 
    84 33 13 19 16 46 64 89 93 94 92 92 91 93 86 89 71 23 28 63 85 73 39 
    88 33 16 24 13 39 67 86 93 94 95 93 87 89 90 86 60 26 29 61 90 74 31 
    88 40 20 19 12 27 59 88 98 89 90 93 88 94 92 86 55 30 25 63 90 82 30 
    82 51 18 16 15 29 57 91 97 89 92 91 91 92 92 93 58 28 31 64 88 87 36 
    83 48 15 22 18 18 61 91 94 93 92 90 89 95 93 85 41 27 36 72 87 92 58 
    82 56 19 20 19 20 57 89 97 96 96 97 93 94 92 86 41 29 40 80 91 93 74 
    87 69 21 13 14 17 51 87 94 96 97 99 89 95 94 79 43 35 48 88 92 93 89 
    86 77 30 16 15 16 40 90 95 97 96 95 94 92 91 80 40 30 53 89 92 93 92 
    83 75 36 17 16 13 28 87 96 98 97 101 97 94 98 77 38 35 64 96 93 87 93 
    88 88 45 14 16 17 22 86 99 95 97 99 94 96 97 59 25 32 68 94 92 92 91 
    88 88 52 13 15 18 20 82 103 99 94 95 96 98 100 59 28 32 76 96 98 94 92 
    86 85 56 16 14 18 22 80 100 98 99 98 97 96 97 57 35 37 80 96 94 94 94 
    88 85 71 22 12 19 23 82 99 103 95 102 104 96 90 51 34 45 84 94 93 98 98 
    83 81 77 25 12 18 15 85 104 100 100 101 96 93 90 44 36 44 81 91 96 99 105 
    83 83 80 37 16 19 22 83 101 100 103 99 96 92 73 35 32 47 82 97 97 95 102 
    83 81 80 51 12 20 19 89 105 103 104 99 81 55 33 31 32 43 65 80 83 91 76 
    83 82 82 71 23 16 19 88 104 101 107 102 72 41 30 40 37 38 37 38 50 44 32 
    90 85 77 73 40 13 17 87 99 98 105 104 88 73 72 68 64 68 63 70 81 60 57 
    86 87 82 80 62 21 20 87 107 105 106 105 94 91 88 88 92 88 84 90 94 85 82 
    84 86 82 78 81 46 23 90 109 103 102 104 101 104 101 96 102 103 94 96 98 97 97 
    85 89 85 85 81 72 31 90 112 106 101 108 106 104 104 105 109 105 104 102 101 100 103 

    Columns 24 through 32 

    84 88 86 78 65 64 72 82 89 
    82 81 72 44 30 30 40 67 83 
    83 71 32 27 33 25 23 35 72 
    80 43 23 30 45 60 49 27 41 
    59 27 27 36 67 82 76 38 40 
    38 26 32 58 81 80 83 55 35 
    28 26 47 78 82 83 88 62 28 
    27 24 51 88 84 89 91 73 30 
    30 33 64 87 85 86 89 72 32 
    27 37 71 88 91 89 93 70 27 
    29 45 80 90 88 88 92 65 22 
    34 48 82 86 87 91 89 60 31 
    32 48 85 85 91 93 92 58 35 
    26 41 81 91 93 92 87 44 29 
    27 44 79 92 93 94 77 32 29 
    28 44 67 84 94 96 63 26 27 
    32 28 52 76 95 89 52 36 34 
    53 30 36 62 69 56 37 36 38 
    77 50 37 35 32 34 32 36 34 
    92 77 60 52 45 40 37 35 46 
    94 90 80 79 63 34 37 34 58 
    94 95 93 89 46 28 32 45 72 
    97 96 100 77 36 30 30 60 93 
    99 102 85 43 26 30 46 80 96 
    105 94 52 29 20 39 74 91 95 
    98 49 27 32 42 67 92 98 103 
    46 31 30 44 67 84 97 101 101 
    33 49 56 76 85 101 102 103 104 
    72 71 83 95 101 103 105 107 108 
    90 94 100 103 105 104 104 104 103 
    101 106 100 102 110 114 110 106 106 
    102 106 106 103 104 108 111 109 103 


myExtract(:,:,2) = 

    Columns 1 through 23 

    30 23 17 44 64 54 60 73 77 76 74 75 75 75 76 76 75 74 53 36 37 64 77 
    39 25 20 37 62 59 61 72 81 78 80 77 78 74 75 77 71 53 27 24 38 65 74 
    41 21 17 32 62 57 63 76 79 77 81 78 76 75 68 47 34 28 25 22 39 69 77 
    48 23 18 25 58 55 60 77 78 80 80 78 78 77 68 39 33 25 28 27 45 73 78 
    52 22 21 21 56 57 56 75 82 83 77 78 78 78 76 67 61 39 29 28 48 74 80 
    53 18 24 17 48 58 59 77 83 83 80 80 80 81 80 78 72 42 26 28 56 76 70 
    64 22 23 15 40 57 59 80 85 82 82 83 83 81 79 79 74 39 22 29 63 80 57 
    66 21 22 16 39 58 59 80 88 86 79 81 83 84 82 81 74 30 21 35 68 77 38 
    68 21 19 18 30 57 57 80 85 86 86 82 81 80 82 80 72 28 19 38 72 69 31 
    73 25 21 20 22 56 60 81 85 87 86 88 82 80 85 83 72 27 22 46 75 66 26 
    77 27 19 22 19 51 63 83 87 87 86 86 86 83 85 85 67 23 26 51 79 63 20 
    78 33 18 20 16 44 56 82 89 88 86 83 86 83 84 86 58 23 28 54 79 61 18 
    78 37 17 18 16 40 54 81 90 88 87 85 88 87 83 86 54 26 31 59 82 65 24 
    83 46 18 19 18 34 59 83 88 91 90 86 88 87 83 85 46 25 28 65 84 66 24 
    81 49 16 19 19 29 60 83 88 91 89 90 90 88 84 81 39 23 34 72 83 75 36 
    82 55 19 17 20 28 58 84 92 91 89 91 90 87 87 83 38 24 39 74 86 82 39 
    84 62 20 17 21 25 58 85 90 90 89 88 87 86 88 80 27 24 40 75 85 85 66 
    82 67 23 19 23 19 52 87 90 88 91 88 89 88 89 76 25 26 46 78 86 86 83 
    82 73 27 17 21 16 44 89 90 91 90 89 91 89 89 66 21 25 52 85 89 87 84 
    82 80 33 16 19 15 37 88 90 90 92 89 90 91 88 62 21 25 59 87 89 90 87 
    82 78 40 17 22 17 28 87 94 95 93 92 95 92 88 59 28 32 66 90 88 90 89 
    82 78 52 16 17 17 23 85 95 97 96 93 94 93 89 50 23 35 71 89 89 92 91 
    83 80 61 20 19 19 22 85 97 97 95 93 91 91 90 39 22 40 78 91 92 94 91 
    80 80 66 23 16 19 18 87 100 97 98 93 93 93 89 31 27 38 79 94 93 93 92 
    82 78 70 29 17 20 21 85 102 99 98 96 96 96 84 29 23 47 81 93 92 93 92 
    81 79 77 37 17 20 23 88 100 99 99 98 97 96 64 26 30 51 80 95 95 96 96 
    80 80 76 50 16 18 26 87 102 101 99 101 70 50 33 31 32 40 61 70 82 85 70 
    78 78 76 64 21 15 26 88 102 102 103 102 63 35 39 40 37 36 39 47 53 36 31 
    78 81 81 74 38 16 25 87 106 104 103 99 87 70 66 63 64 56 60 71 73 58 57 
    81 82 79 77 63 20 21 90 108 104 101 98 93 88 85 84 80 78 82 86 83 81 81 
    86 79 76 81 76 41 16 90 106 107 106 106 102 100 97 100 94 91 97 99 96 97 98 
    88 82 79 79 78 68 32 88 106 108 107 107 104 105 105 105 103 104 105 106 106 107 106 

    Columns 24 through 32 

    74 78 75 70 60 58 65 77 79 
    76 74 62 35 28 29 39 58 78 
    76 64 31 24 21 31 29 42 69 
    72 34 27 31 47 53 43 32 55 
    47 20 31 48 71 73 68 36 32 
    27 28 33 60 81 84 81 46 21 
    26 28 41 73 81 83 82 61 21 
    25 30 54 76 79 84 85 62 24 
    22 27 59 80 83 86 85 60 21 
    24 34 69 82 82 87 84 59 22 
    24 39 74 80 83 88 87 59 28 
    17 38 77 85 86 84 84 48 26 
    24 45 76 84 84 83 82 36 19 
    24 46 78 88 88 86 76 29 25 
    25 38 74 90 88 87 70 26 27 
    19 35 70 88 87 88 58 24 25 
    27 30 57 79 85 84 41 20 21 
    51 27 36 54 65 52 31 28 27 
    73 47 34 30 30 26 31 28 37 
    82 72 61 53 46 31 25 31 50 
    88 82 78 75 58 31 30 35 56 
    92 91 87 84 43 27 30 39 73 
    93 95 94 66 28 31 35 59 88 
    95 95 80 35 30 34 51 81 93 
    93 88 43 26 36 48 74 93 97 
    88 51 34 30 42 72 89 99 98 
    43 27 36 51 68 90 98 99 98 
    37 47 60 73 90 97 101 99 101 
    59 74 84 91 98 102 104 102 102 
    84 90 97 99 104 104 104 105 105 
    100 103 105 104 104 101 103 105 104 
    108 105 106 105 105 105 104 105 106 


myExtract(:,:,3) = 

    Columns 1 through 23 

    38 19 19 44 54 55 54 57 55 62 63 57 55 62 59 57 52 54 55 42 41 45 58 
    35 22 17 45 59 52 50 64 56 63 60 59 59 64 62 50 50 49 49 43 30 49 53 
    38 26 23 30 54 51 49 58 65 62 55 61 64 62 61 54 45 39 49 51 40 49 53 
    45 26 25 24 52 54 55 62 68 62 60 63 55 57 56 41 34 47 49 47 41 51 54 
    48 25 22 23 47 56 58 66 63 65 62 63 61 55 57 53 48 48 49 45 51 63 59 
    60 29 23 23 48 53 52 67 64 67 66 68 61 53 54 54 57 50 53 46 53 62 59 
    53 23 27 18 46 55 50 62 62 65 67 66 56 56 60 58 62 51 53 47 53 59 52 
    56 28 27 22 22 51 51 57 58 64 75 68 62 56 57 53 58 59 55 49 55 60 55 
    65 28 24 22 23 48 52 65 68 66 66 65 65 65 59 63 61 53 57 52 51 66 56 
    66 27 22 19 22 45 50 68 74 63 65 63 70 71 61 65 60 52 54 48 53 61 53 
    70 32 21 18 24 42 48 67 69 65 69 68 68 73 61 63 63 54 51 45 61 57 62 
    64 33 20 22 18 43 60 63 64 67 68 72 68 69 68 64 66 54 52 51 68 60 60 
    70 36 18 30 19 31 58 67 66 69 67 71 61 68 73 67 66 56 52 54 68 67 54 
    68 37 24 21 17 27 54 66 72 66 65 72 60 66 67 68 66 55 51 55 64 69 60 
    72 44 22 23 19 22 46 69 73 67 71 72 66 64 68 70 61 60 49 50 68 65 57 
    76 51 22 23 20 24 51 70 72 67 72 69 71 71 64 63 63 60 44 48 53 66 67 
    73 52 23 25 22 23 49 71 75 76 76 74 74 76 66 64 68 64 47 57 62 60 63 
    75 61 26 17 14 20 43 67 77 79 72 70 68 69 68 70 67 60 52 66 70 69 56 
    73 64 29 20 20 17 36 63 77 79 78 79 66 72 67 74 66 61 55 63 66 64 61 
    71 57 35 18 19 17 30 69 83 78 76 79 70 69 74 73 69 61 56 67 68 65 67 
    67 70 46 15 18 19 25 71 82 75 80 73 67 68 76 65 63 62 50 67 78 70 71 
    71 69 47 24 22 17 28 68 77 73 69 72 73 80 78 68 65 58 64 71 72 75 71 
    66 70 53 20 15 16 31 70 80 74 76 80 84 79 73 71 68 51 58 67 73 72 73 
    73 68 55 22 18 22 26 63 71 79 76 82 80 78 73 73 65 56 58 67 74 79 81 
    70 68 63 27 16 23 26 70 71 80 80 79 73 75 71 63 69 57 67 71 76 73 82 
    74 66 63 34 17 22 24 70 81 76 80 78 78 69 60 64 64 60 67 72 73 71 74 
    73 69 66 52 19 19 23 72 79 74 79 76 68 62 65 64 63 61 59 67 62 69 71 
    72 69 67 66 27 20 28 77 84 79 74 76 73 57 51 50 52 47 46 48 53 54 50 
    71 67 60 71 42 17 29 78 79 83 81 81 67 54 49 52 50 50 45 56 56 46 51 
    75 71 65 66 54 20 30 68 77 79 84 83 69 66 60 63 64 65 60 69 70 65 62 
    64 72 72 63 57 37 31 73 84 81 81 80 74 78 82 76 80 86 72 73 74 72 72 
    68 72 67 63 61 65 43 76 82 82 79 84 84 80 88 87 84 81 81 78 82 78 83 

    Columns 24 through 32 

    61 50 61 56 54 51 56 57 59 
    60 63 58 49 46 45 50 52 60 
    65 58 45 44 45 39 45 44 53 
    55 50 49 41 39 47 47 45 46 
    55 57 44 36 54 61 52 43 53 
    54 50 45 46 56 55 59 55 54 
    50 43 46 57 61 62 61 59 51 
    53 47 45 65 68 60 50 59 56 
    54 48 56 62 64 61 60 64 58 
    53 45 53 62 67 64 68 64 60 
    59 51 52 69 69 55 61 54 53 
    61 60 58 67 67 63 70 64 52 
    57 51 66 71 68 71 74 68 66 
    56 48 56 61 66 70 73 65 62 
    61 57 58 65 68 68 67 64 60 
    62 57 54 64 72 63 57 61 58 
    61 54 54 59 70 67 60 65 63 
    51 55 54 58 63 61 59 62 60 
    54 56 49 48 45 48 56 60 57 
    67 57 49 39 44 52 66 60 48 
    68 58 56 54 59 61 67 56 51 
    72 68 65 59 64 64 67 54 52 
    77 77 77 63 62 61 60 53 69 
    81 79 69 62 66 59 49 61 80 
    80 75 64 65 60 47 54 76 81 
    74 66 56 64 47 47 67 77 82 
    64 61 55 45 56 66 76 81 82 
    47 49 47 55 69 82 83 84 82 
    60 56 61 78 83 80 77 80 79 
    68 74 79 82 84 79 87 81 78 
    78 81 79 83 83 79 84 85 86 
    86 86 82 86 85 87 87 86 79 
+1

你試過imwrite嗎? – Daniel

+0

如何在這種情況下使用imwrite? – Rob

+1

傳遞圖像'myExtract'和文件名? – Daniel

回答

1

得到它的工作。下面的代碼:

[rows cols dimen1 dimen2] = size(X); 
for j = 1:dimen2 
image = X(:,:,:,j); 
imwrite(image, strcat('image',int2str(j),'.png')); 
end 

對於某些情況下,這是對谷歌街景門牌(SVHN)數據集爲一組PNG圖像的轉換。比解析Python中的.mat文件要容易得多。