Slice a mathematica image into sub images along black straight lines?

Framed[i = Import["http://i.stack.imgur.com/tTeBU.png"]]

Mathematica graphics

ib = ColorNegate@Binarize@i;
sc = SelectComponents[ib, "Count", -1];
bb = ComponentMeasurements[sc, "BoundingBox"];
bs = Reverse[Sort /@ {#[[1]], Last@ImageDimensions@sc - #[[2]]} &@ Transpose[bb[[1, 2]]]];
it = ImageTake[sc, Sequence @@ bs];
it1 = ImageTake[i, Sequence @@ bs];
eps = MorphologicalTransform[Thinning@it, "EndPoints"];
nw = NestWhile[ImageTake[#, {2, -2}, {2, -2}] & /@ # &, {it1, it, eps}, 
   ComponentMeasurements[#[[3]], "Mask", "BorderComponents" -> False] =!= {} &];

Partition[Framed /@ (ImageMultiply[nw[[1]], #] & /@ (Erosion[#, 1] & /@ Image /@
              (ComponentMeasurements[ColorNegate@nw[[2]], "Mask"][[All, 2]]))), 3] //
              Grid

Mathematica graphics


One way to approach this is to use a Watershed algorithm to segment the image. Each of the watersheds contains one of the symbols.

i = Import["http://i.stack.imgur.com/tTeBU.png"];
waterI = WatershedComponents[i];
waterI // Colorize

enter image description here

You can then separate out the three symbols

{m1, m2, m3, m4} = ComponentMeasurements[waterI, "Mask"];
{ImageMultiply[Image[Normal[m1[[2]]]], i], 
 ImageMultiply[Image[Normal[m3[[2]]]], i], 
 ImageMultiply[Image[Normal[m4[[2]]]], i]}

enter image description here