{comps, boxes} = Module[{seg, img = img, cm, newComps, bounds}, seg = MorphologicalComponents[img]; cm = ComponentMeasurements[{seg, ColorNegate@img}, {"MaskedImage", "BoundingBox"}]; bounds = cm[[All, 2, 2]]; newComps = ImageAdjust /@ DistanceTransform /@ ColorNegate /@ cm[[;; , 2, 1]]; {newComps, bounds}]; {iW, iH} = ImageDimensions@img ImageAdd[MapThread[ImagePad[#1, {{#2[[1, 1]], iW - #2[[2, 1]]}, {#2[[1, 2]], iH - #2[[2, 2]]}}] &, {comps, boxes}]] {comps, boxes} = Module[{seg, img = img, cm, newComps, bounds}, seg = MorphologicalComponents[img]; cm = ComponentMeasurements[{seg, ColorNegate@img}, {"MaskedImage", "BoundingBox"}]; bounds = cm[[All, 2, 2]]; newComps = ImageAdjust /@ DistanceTransform /@ ColorNegate /@ cm[[;; , 2, 1]]; {newComps, bounds}]; {iW, iH} = ImageDimensions@img ImageAdd[MapThread[ImagePad[#1, {{#2[[1, 1]], iW - #2[[2, 1]]}, {#2[[1, 2]], iH - #2[[2, 2]]}}] &, {comps, boxes}]] {comps, boxes} = Module[{seg, img = img, cm, newComps, bounds}, seg = MorphologicalComponents[img]; cm = ComponentMeasurements[{seg, ColorNegate@img}, {"MaskedImage","BoundingBox"}]; bounds = cm[[All, 2, 2]]; newComps = ImageAdjust /@ DistanceTransform /@ ColorNegate /@ cm[[;; , 2, 1]]; {newComps, bounds}]; {iW, iH} = ImageDimensions@img ImageAdd[MapThread[ImagePad[#1, {{#2[[1, 1]], iW - #2[[2, 1]]}, {#2[[1, 2]], iH - #2[[2, 2]]}}] &, {comps, boxes}]] {comps, boxes} = Module[{seg, img = img, cm, newComps, bounds}, seg = MorphologicalComponents[img]; cm = ComponentMeasurements[{seg, ColorNegate@img}, {"MaskedImage", "BoundingBox"}]; bounds = cm[[All, 2, 2]]; newComps = ImageAdjust /@ DistanceTransform /@ ColorNegate /@ cm[[;; , 2, 1]]; {newComps, bounds}]; {iW, iH} = ImageDimensions@img ImageAdd[MapThread[ImagePad[#1, {{#2[[1, 1]], iW - #2[[2, 1]]}, {#2[[1, 2]], iH - #2[[2, 2]]}}] &, {comps, boxes}]] lang-mma
