3 added 20 characters in body

# MATLAB, 194194 193 bytes

The code:

imagesc(dec2base(base2dec(reshape('5FVQL5VVVT50A4L4HA594GAHA45A015DAL551G2L41GO101VO0A7FMAANVVAAVVVQ5VLVL40L8100L80',5,[])',32),4)-'0'48);colormap([106 107 4;107 140 255;227 157 37;177 52 37]/255)


And the output:

Basically I converted the Mario image so that each pixel is a 2 bit number. I then encoded that in base 32 which is the string shown in the code. This string is first reshaped to be 5 x 16 (each row (12px) of 2bit numbers was encoded into base 32), then converted back into base 10. The result is converted once again, this time into base 4 yielding a 12x16 array of 2 bit numbers. These numbers are plotted using imagesc(). Then the colours are assigned using colormap() with a custom colour map of the required hex values.

Amusingly, a third of the number of bytes used are just to get MATLAB to set the correct colours after it has been plotted. The colour code is almost the same number of bytes as the entire base32 string!.

Without correcting the colour (remove the colormap() call), it is 136135 bytes, and this is the output for the default colour map on MATLAB R2013a:

# MATLAB, 194 bytes

The code:

imagesc(dec2base(base2dec(reshape('5FVQL5VVVT50A4L4HA594GAHA45A015DAL551G2L41GO101VO0A7FMAANVVAAVVVQ5VLVL40L8100L80',5,[])',32),4)-'0');colormap([106 107 4;107 140 255;227 157 37;177 52 37]/255)


And the output:

Basically I converted the Mario image so that each pixel is a 2 bit number. I then encoded that in base 32 which is the string shown in the code. This string is first reshaped to be 5 x 16 (each row (12px) of 2bit numbers was encoded into base 32), then converted back into base 10. The result is converted once again, this time into base 4 yielding a 12x16 array of 2 bit numbers. These numbers are plotted using imagesc(). Then the colours are assigned using colormap() with a custom colour map of the required hex values.

Amusingly, a third of the number of bytes used are just to get MATLAB to set the correct colours after it has been plotted. The colour code is almost the same number of bytes as the entire base32 string!.

Without correcting the colour (remove the colormap() call), it is 136 bytes, and this is the output for the default colour map on MATLAB R2013a:

# MATLAB, 194 193 bytes

The code:

imagesc(dec2base(base2dec(reshape('5FVQL5VVVT50A4L4HA594GAHA45A015DAL551G2L41GO101VO0A7FMAANVVAAVVVQ5VLVL40L8100L80',5,[])',32),4)-48);colormap([106 107 4;107 140 255;227 157 37;177 52 37]/255)


And the output:

Basically I converted the Mario image so that each pixel is a 2 bit number. I then encoded that in base 32 which is the string shown in the code. This string is first reshaped to be 5 x 16 (each row (12px) of 2bit numbers was encoded into base 32), then converted back into base 10. The result is converted once again, this time into base 4 yielding a 12x16 array of 2 bit numbers. These numbers are plotted using imagesc(). Then the colours are assigned using colormap() with a custom colour map of the required hex values.

Amusingly, a third of the number of bytes used are just to get MATLAB to set the correct colours after it has been plotted. The colour code is almost the same number of bytes as the entire base32 string!.

Without correcting the colour (remove the colormap() call), it is 135 bytes, and this is the output for the default colour map on MATLAB R2013a:

2 added 2 characters in body

# MATLAB, 194 bytes

The code:

imagesc(dec2base(base2dec(reshape('02L800ALAK0LFM02TVNS2TFTV2NVL807VVG0KQG02KQD8AKLDAFJLRFFQLBVFALAV0AGAG2K058AK05A''5FVQL5VVVT50A4L4HA594GAHA45A015DAL551G2L41GO101VO0A7FMAANVVAAVVVQ5VLVL40L8100L80',5,[])',32),4)-'0');colormap([107[106 140107 255;1774;107 52140 37;106255;227 107157 4;22737;177 15752 37]/255)


And the output:

Basically I converted the Mario image so that each pixel is a 2 bit number. I then encoded that in base 32 which is the string shown in the code. This string is first reshaped to be 5 x 16 (each row (12px) of 2bit numbers was encoded into base 32), then converted back into base 10. The result is converted once again, this time into base 4 yielding a 12x16 array of 2 bit numbers. These numbers are plotted using imagesc(). Then the colours are assigned using colormap() with a custom colour map of the required hex values.

Amusingly, a third of the number of bytes used are just to get MATLAB to set the correct colours after it has been plotted. The colour code is almost the same number of bytes as the entire base32 string!.

Without correcting the colour (remove the colormap() call), it is 136 bytes, and this is the output for the default colour map on MATLAB R2013a:

# MATLAB, 194 bytes

The code:

imagesc(dec2base(base2dec(reshape('02L800ALAK0LFM02TVNS2TFTV2NVL807VVG0KQG02KQD8AKLDAFJLRFFQLBVFALAV0AGAG2K058AK05A',5,[])',32),4)-'0');colormap([107 140 255;177 52 37;106 107 4;227 157 37]/255)


And the output:

Basically I converted the Mario image so that each pixel is a 2 bit number. I then encoded that in base 32 which is the string shown in the code. This string is first reshaped to be 5 x 16 (each row (12px) of 2bit numbers was encoded into base 32), then converted back into base 10. The result is converted once again, this time into base 4 yielding a 12x16 array of 2 bit numbers. These numbers are plotted using imagesc(). Then the colours are assigned using colormap() with a custom colour map of the required hex values.

Amusingly, a third of the number of bytes used are just to get MATLAB to set the correct colours after it has been plotted. The colour code is almost the same number of bytes as the entire base32 string!.

Without correcting the colour (remove the colormap() call), it is 136 bytes, and this is the output:

# MATLAB, 194 bytes

The code:

imagesc(dec2base(base2dec(reshape('5FVQL5VVVT50A4L4HA594GAHA45A015DAL551G2L41GO101VO0A7FMAANVVAAVVVQ5VLVL40L8100L80',5,[])',32),4)-'0');colormap([106 107 4;107 140 255;227 157 37;177 52 37]/255)


And the output:

Basically I converted the Mario image so that each pixel is a 2 bit number. I then encoded that in base 32 which is the string shown in the code. This string is first reshaped to be 5 x 16 (each row (12px) of 2bit numbers was encoded into base 32), then converted back into base 10. The result is converted once again, this time into base 4 yielding a 12x16 array of 2 bit numbers. These numbers are plotted using imagesc(). Then the colours are assigned using colormap() with a custom colour map of the required hex values.

Amusingly, a third of the number of bytes used are just to get MATLAB to set the correct colours after it has been plotted. The colour code is almost the same number of bytes as the entire base32 string!.

Without correcting the colour (remove the colormap() call), it is 136 bytes, and this is the output for the default colour map on MATLAB R2013a:

1

# MATLAB, 194 bytes

The code:

imagesc(dec2base(base2dec(reshape('02L800ALAK0LFM02TVNS2TFTV2NVL807VVG0KQG02KQD8AKLDAFJLRFFQLBVFALAV0AGAG2K058AK05A',5,[])',32),4)-'0');colormap([107 140 255;177 52 37;106 107 4;227 157 37]/255)


And the output:

Basically I converted the Mario image so that each pixel is a 2 bit number. I then encoded that in base 32 which is the string shown in the code. This string is first reshaped to be 5 x 16 (each row (12px) of 2bit numbers was encoded into base 32), then converted back into base 10. The result is converted once again, this time into base 4 yielding a 12x16 array of 2 bit numbers. These numbers are plotted using imagesc(). Then the colours are assigned using colormap() with a custom colour map of the required hex values.

Amusingly, a third of the number of bytes used are just to get MATLAB to set the correct colours after it has been plotted. The colour code is almost the same number of bytes as the entire base32 string!.

Without correcting the colour (remove the colormap() call), it is 136 bytes, and this is the output: