For adding caption to image there is some module
Image Caption
DESCRIPTION:
This module uses JQuery to dynamically add captions to images. The
image title attribute is used to create the caption. It basically
wraps the image in an html container div, takes the image title text
and appends that in a child div underneath the image. Technically, it
works by implementing Drupal's hook_nodeapi to add one small snippet
of captioner jquery to the head section of the page when a node of the
configured type is viewed.
Image Field Caption
Description: Adds an extra text area for captions on image fields.
Similar to the alt and title text fields available with an image
field, the caption text area can be used to enter text or html
descriptions of an image.
JCaption
Description: This is a simple module for Drupal 7.x that uses jQuery
to transform the TITLE or ALT attribute of a image to a image caption.
There is a settings page with lot's of possible configuration. The
image caption won't show in the WYSIWYG-editor, but will be visible
when you view the node.
The module differs in several ways from similar modules.