When inputting image rgb values to MLP, should I divide by 255? I have an MLP with 3072 input nodes which are for 1024 rgb pixels. My datasets is in an array with each row representing one image and looking like this:

[red_pix1, red_pix2, ..., red_pix1024, green_pix1, green_pix2, ..., green_pix1024, blue_pix1, blue_pix2, ..., blue_pix1024]


Each array value is an integer between 0 and 255.

My question is, before training the network, should I "normalize" my dataset by dividing each element by 255? That way, each input element would have values between 0 and 1. Is this better than having values between 0 and 255?
The component values are often stored as integer numbers in the range 0 to 255, the range that a single 8-bit byte can offer,

Yes, If you divide by 255  the range can be described with a 0.0-1.0 where 0.0 means 0 (0x00) and 1.0 means 255 (0xFF). 
Normalization will help you to remove distortions caused by lights and shadows in an image.

Refer to this Normalize RGB