I have seen variables like _ image and was wondering what _ meant?
Some people use it to indicate that they are variables rather than (say) method names. Or to make it obvious that they're instance variables rather than local variables. Sometimes you see extra prefixes, e.g.
private int m_age; // Member (instance) variable
private static int g_maxAge; // Global (static) variable
It's just a convention. I was going to say "there's nothing magic about _" but that's not quite true - in some languages a double underscore is reserved for "special" uses. (The exact usage depends on the language of course.)
EDIT: Example of the double underscore rule as it applies to C#. From the C# 4 spec, section 2.4.2:
Identifiers containing two consecutive underscore characters (U+005F) are reserved for use by the implementation. For example, an implementation might provide extended keywords that begin with two underscores.