The error you get tells exactly what is missing. ExecuteScalar returns an object and ImageByte is a byte array. Since a picture is a byte array you can make a explicit cast
ImageByte = (byte[]) vcom.ExecuteScalar();
should do the trick.
Beside, are you sure you want to use ExecuteScalar() because is returns a maximum of 2033 characters. With is pretty small for a picture
Piet