Based on your sample image. Let's start with one possible text highlighting strategy.
The code is in Mathematica.
(* Import your image*) i1 = Import["http://i.stack.imgur.com/hYwx8.jpg"]; i = ImageData@i1 ;

(*Get the red channel*) j = i[[All, All, 1]] (*Perform the DCT*) t = FourierDCT[j]; (*Define a high pass filter*) truncate[data_, f_] := Module[{i, j}, {i, j} = Floor[Dimensions[data]/Sqrt[f]]; PadRight[Take[data, -i, -j], Dimensions[data], 0.] ]; (*Apply the HP filter, and do the reverse DCT*) k = Image[FourierDCT[truncate[t, 4], 3]] // ImageAdjust

(*Appy a Gradient Filter and a Dilation*) l = Dilation[GradientFilter[k, 1]

(*Apply a MinFilter and Binarize*) m = Binarize[MinFilter[l, 10], .045]

(*Perform a Dilation and delete small components to get a mask*) mask = DeleteSmallComponents@Dilation [m, 10]

(*Finally apply the mask*) ImageMultiply[mask, Image@i ]

To be continued...
Edit
Answering questions in the comments:
The GradientFilter description is under the "additional information" here: http://reference.wolfram.com/mathematica/ref/GradientFilter.html .
The description of MinFilter is under the "additional information" here: http://reference.wolfram.com/mathematica/ref/MinFilter.html