1. 程式人生 > >【機器學習】人像分類(四)——灰度矩陣恢復成灰度圖

【機器學習】人像分類(四)——灰度矩陣恢復成灰度圖

簡介

  對Matlab不是非常熟悉,經過查詢,瞭解到可以使用
  colormap(flipud(gray))
  設定畫出的圖為灰度圖(不然畫出來是彩色的)。
  
  imagesc(Matrix, [])
  則用來將矩陣Matrix還原成圖。

程式碼

img = [
109 93 61 41 65 79 94 105 109 116 119 124 135 135 131 132 134 140 142 143 152 152 140 145 147 150 143 139 142 145 144 144 142 132 130 134 137 137 131 122 117 107 
112 80 38 34 77 92 106 116 120 120 105 104 119 124 132 142 144 150 148 150 154 151 147 153 159 161 155 156 156 154 157 155 151 145 143 145 146 144 140 133 126 118 
103 53 26 47 96 107 119 125 129 115 90 101 119 130 139 148 156 154 161 160 162 160 160 166 169 166 163 167 164 159 161 156 150 159 156 155 155 150 141 138 133 129 
86 41 30 59 109 124 129 131 130 90 71 92 115 136 148 155 163 162 173 178 177 173 176 174 172 170 170 172 169 165 164 162 157 162 159 159 159 155 150 147 137 134 
83 44 32 72 124 139 141 141 131 64 74 96 120 145 155 160 168 173 182 188 182 183 182 176 179 178 180 172 172 172 165 162 163 161 159 160 155 159 156 155 145 134 
95 48 33 76 133 145 149 154 126 85 99 110 135 155 165 165 172 185 191 192 186 184 178 187 190 189 185 181 178 174 164 158 163 159 157 162 160 156 155 153 148 137 
108 47 27 74 142 160 157 163 123 144 145 111 149 167 174 181 185 198 209 205 195 194 188 196 196 190 195 191 181 170 160 154 150 149 150 159 170 167 160 151 142 133 
120 51 22 73 157 187 183 168 131 179 183 121 161 178 189 193 194 211 212 204 196 196 198 200 194 188 194 188 176 158 152 145 137 133 135 146 162 166 159 154 147 137 
131 65 20 66 169 203 194 173 92 43 93 126 170 188 202 211 212 218 216 204 197 197 198 196 191 185 184 178 161 145 129 125 127 131 145 153 162 162 161 159 155 145 
148 86 22 49 154 201 191 171 59 16 17 100 190 191 204 225 223 219 214 204 201 197 203 199 188 182 173 161 149 142 125 126 129 132 133 155 162 160 165 162 160 153 
164 103 26 40 129 190 183 155 48 67 22 98 198 189 204 219 228 226 213 205 196 195 201 199 189 180 164 154 145 135 122 127 137 130 123 149 162 161 163 161 158 155 
175 129 36 38 110 184 172 139 44 9 18 87 165 178 197 214 235 226 215 206 193 187 194 190 182 174 161 149 141 122 109 131 147 127 96 132 159 170 164 160 152 148 
187 157 45 28 99 176 173 139 61 18 71 106 132 165 192 225 240 221 215 207 200 193 183 174 164 156 154 148 135 118 106 136 151 112 68 114 149 165 165 159 157 151 
197 187 56 28 81 157 177 143 102 125 180 108 122 157 199 234 230 211 204 199 200 179 141 122 125 135 144 143 129 119 121 128 129 90 57 92 131 154 164 159 152 146 
203 209 89 37 77 142 180 155 114 141 160 96 129 174 213 214 191 187 185 176 155 118 107 108 96 101 129 134 124 117 130 131 108 79 51 80 121 142 157 157 149 151 
211 216 122 55 70 131 175 170 132 121 117 96 153 187 198 172 161 164 159 135 101 106 134 159 138 97 112 130 125 122 132 127 98 70 52 78 112 134 147 158 157 157 
223 224 153 83 74 119 162 177 153 141 142 132 157 172 156 143 148 144 124 101 100 125 161 151 138 117 112 124 122 122 123 121 95 65 56 75 101 130 140 157 164 162 
219 233 161 102 99 111 150 174 172 167 175 158 153 146 142 140 132 116 103 99 111 135 150 47 74 131 122 123 117 122 120 114 95 64 60 77 96 125 132 146 164 163 
216 239 179 120 110 116 146 167 177 180 169 147 137 132 127 121 111 106 104 108 118 138 118 10 67 143 127 119 110 123 117 116 95 57 63 81 100 128 124 134 153 162 
214 238 192 149 129 130 143 164 170 161 145 140 131 119 110 111 109 110 111 116 124 132 108 21 96 146 126 123 118 125 116 118 92 51 66 82 108 133 127 132 157 166 
203 237 212 170 153 145 151 160 160 147 136 127 118 113 119 120 118 117 120 129 143 146 131 76 103 129 129 126 123 119 115 116 91 55 75 94 109 139 129 135 159 171 
209 242 227 183 165 158 149 158 164 151 136 128 129 135 136 133 130 127 134 144 184 180 151 125 86 105 130 122 114 113 123 113 90 62 88 105 110 139 122 125 157 174 
219 244 229 194 180 167 165 170 175 165 153 151 153 147 145 144 134 131 141 158 230 207 154 132 88 98 127 123 99 110 129 111 89 64 89 96 113 139 120 116 149 167 
231 233 217 194 175 167 167 175 184 178 167 163 157 144 135 143 134 131 142 163 222 198 147 119 86 100 130 137 112 99 123 111 88 66 83 91 110 137 120 108 139 167 
226 237 216 184 167 172 172 179 188 177 166 153 145 137 128 132 128 119 131 155 180 174 145 123 90 89 128 132 113 103 117 103 82 62 82 94 106 128 120 114 141 165 
216 231 204 175 164 165 170 176 182 160 142 131 129 126 115 106 111 108 112 130 144 140 129 108 59 81 128 128 113 113 119 101 81 53 74 88 100 124 117 125 150 160 
208 209 189 155 150 162 161 164 153 128 109 98 98 101 96 86 86 91 93 102 114 108 103 46 54 108 122 117 109 114 109 105 83 52 70 86 96 120 120 129 149 157 
196 194 176 152 138 134 144 141 125 105 93 82 73 73 79 77 72 74 79 87 97 96 84 13 68 116 106 107 106 113 108 99 84 55 60 79 86 112 121 126 145 151 
195 191 149 129 117 117 130 130 125 118 105 92 84 75 71 76 73 67 66 73 87 102 102 14 61 127 100 103 102 111 109 101 85 54 52 67 79 107 118 129 142 142 
213 199 128 101 96 111 133 144 152 143 136 124 101 87 86 85 83 74 64 62 77 101 128 71 79 123 100 103 101 112 114 108 88 58 48 68 80 107 114 128 141 141 
208 174 100 57 73 115 144 160 157 148 170 167 145 120 122 122 115 95 75 59 63 86 120 150 142 115 96 107 103 100 112 112 88 61 49 64 77 106 118 131 135 136 
196 154 59 38 78 129 156 154 137 130 144 131 141 148 150 146 138 128 107 83 59 68 92 122 122 94 90 108 106 96 107 112 93 67 49 64 83 105 118 126 128 134 
177 135 34 38 95 143 152 131 117 116 99 78 132 154 176 167 151 145 143 131 96 58 64 75 73 63 91 116 110 102 109 114 105 73 46 62 89 108 122 128 129 126 
164 116 20 38 106 143 132 122 104 107 143 101 116 146 186 199 173 156 154 162 153 114 67 55 55 75 108 123 116 106 105 117 119 84 47 63 94 113 121 129 128 123 
151 102 18 45 115 136 132 124 92 165 223 141 114 140 167 202 201 173 154 163 170 175 146 111 103 114 121 124 115 98 96 110 128 101 58 73 107 122 120 124 124 122 
143 81 15 51 121 137 147 128 88 85 123 141 125 144 161 189 204 189 156 141 161 184 187 173 149 144 137 126 123 112 94 99 133 116 84 98 121 126 126 123 119 119 
137 68 15 61 129 149 162 135 46 7 17 74 141 158 164 188 197 190 170 154 155 177 190 192 181 169 153 137 123 112 97 95 120 127 108 121 129 129 132 127 122 119 
127 62 17 75 142 161 168 145 38 38 35 65 144 167 175 192 201 192 182 167 157 173 189 191 189 185 171 152 134 119 112 103 109 121 127 135 135 131 132 130 126 128 
115 51 18 76 147 169 167 150 46 14 13 45 130 169 176 186 198 195 193 181 168 166 183 188 186 189 183 172 152 132 115 101 98 105 127 136 136 131 129 130 132 126 
97 39 22 79 146 166 164 150 61 9 15 66 125 161 171 180 187 186 192 187 175 165 169 181 186 187 184 179 171 154 127 105 100 109 122 134 137 133 125 125 125 119 
83 38 25 83 143 161 157 151 93 72 103 113 122 149 164 174 178 185 187 183 174 165 163 174 180 177 180 175 173 165 149 130 119 115 124 132 134 136 126 123 117 109 
77 37 25 81 140 153 148 144 110 113 146 104 114 136 149 160 166 174 174 182 174 160 167 171 170 168 170 165 159 159 158 152 144 138 143 147 145 139 133 124 116 109 
71 37 26 76 120 139 137 135 113 71 94 85 100 116 136 146 160 166 163 170 175 158 158 159 154 155 157 154 150 151 154 156 154 149 148 152 151 138 132 128 120 111 
68 35 24 63 105 126 131 128 114 62 49 61 70 104 128 141 154 160 153 160 174 158 151 150 140 145 147 146 143 144 149 147 145 143 141 140 139 134 127 125 118 109 
61 41 26 50 90 114 118 117 107 79 39 48 73 105 126 139 147 147 147 154 162 158 147 143 138 134 136 142 139 136 139 139 134 133 134 133 127 129 124 119 115 106 
67 53 30 37 77 99 107 108 102 92 67 67 90 106 120 127 137 136 140 146 151 147 138 132 132 131 131 127 129 129 131 132 131 127 128 129 127 123 119 114 107 100 
79 65 43 30 60 82 92 98 97 95 81 73 94 109 116 126 133 139 136 140 141 137 127 128 128 123 125 119 120 120 122 120 120 120 123 123 120 115 110 106 97 88 
83 72 53 37 48 71 82 85 89 91 88 80 94 113 120 125 130 134 129 135 131 129 122 121 114 110 113 116 115 111 113 111 104 109 114 111 109 104 101 96 85 77 
];


colormap(flipud(gray));
imagesc(img, [0, 255]);

  由於每個圖片所具有的資訊只是一個2016維的向量,所以這個過程最難的大概是確定長寬比……經過多次嘗試,終於在48x46時出現了類人像。

  看著他,心情十分複雜。
  

  嘗試用255減去每個值,得到反色的圖片。

測試集

  終於像個人樣了。

  將全部十張照片恢復出來,顯示如下:

測試集

  可以看到編號為2和5的照片色調都較暗,所以聚類時經常被聚到一起。為了防止這種情況發生,我嘗試對編號為2和5的照片的向量乘上了係數。以下分別是原始圖片、係數為0.8和0.9的情況。

pic[2]

pic[5]

  最終選擇係數為0.9。