matlab
img = imread('.//img01.jpg');
disp(img);
结果
disp(img(:,:,1))
Columns 1 through 30
189 59 1 0 52 51 40 32 0 4 115 202 215 205 206 207 222 211 197 0 31 165 162 163 165 165 166 166 161 169
192 95 1 0 53 49 43 41 0 3 99 203 221 205 207 208 221 214 199 4 37 156 164 164 164 166 166 165 165 167
197 123 1 1 55 52 48 44 0 0 79 202 225 209 207 208 220 211 200 26 29 156 163 164 165 164 165 167 165 168
196 141 0 1 59 55 51 44 0 0 66 203 226 214 208 208 220 215 206 49 8 159 164 164 166 166 167 167 168 170
198 156 0 0 60 58 52 45 0 0 35 198 229 215 209 209 218 213 207 75 0 149 165 163 165 171 167 167 167 167
196 159 0 0 59 60 53 45 1 0 3 196 227 217 209 210 218 211 221 94 1 140 165 166 167 175 170 169 171 171
... ...
disp(img(:,:,2))
Columns 1 through 30
192 63 4 4 55 53 45 35 2 6 114 202 216 206 208 209 222 212 198 2 36 169 167 168 170 170 170 170 167 175
195 99 4 3 55 51 48 44 2 5 100 205 222 206 209 210 221 215 200 6 39 160 168 169 169 171 170 169 171 173
202 127 4 3 57 54 50 47 2 0 80 204 226 212 209 210 223 214 201 28 31 158 167 168 169 168 171 173 169 172
204 148 5 3 61 57 53 47 2 1 69 205 230 217 210 210 223 218 207 50 10 161 168 168 170 170 171 171 172 174
205 162 5 5 62 58 54 48 2 0 37 201 230 216 211 211 220 216 208 76 2 153 169 167 169 175 171 171 171 173
203 166 5 5 61 60 54 47 1 1 3 197 228 218 211 212 220 214 222 95 3 144 169 170 171 179 171 173 175 177
... ...
disp(img(:,:,3))
Columns 1 through 30
175 48 0 0 48 48 41 42 27 47 171 254 247 224 223 221 230 216 200 1 32 168 171 172 174 173 173 171 167 175
178 84 0 0 50 46 44 51 27 44 156 255 252 224 224 222 229 219 202 5 38 159 171 173 172 174 173 170 169 173
182 112 0 0 52 49 47 52 25 38 134 253 255 229 224 222 232 219 205 27 30 157 168 171 170 169 171 171 168 173
183 132 0 0 56 52 50 54 25 40 124 255 255 234 225 223 232 225 211 52 9 160 169 169 171 171 170 170 171 175
... ...
openCV
Mat img = imread('.//img01.jpg');
for(int k=0; k<12; k++)
for(int l=0; l<12; l++)
std::cout << img.at<Vec3b>(k, l);
结果
单独打印最后一通道
for(int k=0; k<12; k++)
for(int l=0; l<12; l++)
std::cout << (int)img.at<Vec3b>(k, l)[2] << " ";
结果
总结
两者的通道正好是相反的
matlab是先打印一个通道再打印一个通道,opencv是3个通道同时打印