QGIS now allows raster pixels to be labeled with the value taken from a raster band. Labels are registered with the labeling engine, and so will participate in label conflict resolution and overlap avoidance.
Options include:
Selection of band to take values from
Using QgsNumericFormat to customize the number format for the labels
Uses text renderer, so supports buffers, shadows, etc
Label priority
Scale dependant visibility
Optional pixel size dependent visibility, i.e. show only when pixels are > 4mm in size
Z index control, overlap avoidance mode
Option for showing values resampled over neighboring pixels