Skip to main content
2 of 2
deleted 62 characters in body
Dr. belisarius
  • 116.8k
  • 13
  • 208
  • 466

This tries to "automatically" detect equal width bands (although they can be unequally spaced):

i = Import["http://www.agrisera.com/dokument/bibliotek/sample_quality1.jpg"]; mask = FillingTransform[DeleteSmallComponents[ Binarize@ImageMultiply[Erosion[i, 3], EntropyFilter[i, 3]], 1000], 1]; u = ImageMultiply[i, mask]; v = Quiet[Variance /@ ((Transpose@ImageData@ColorConvert[u, "Grayscale"]) /. 0. | 1. -> Sequence[])]; minima = Flatten@Position[v, x_ /; x < .003]; width = Round@N@Mean[Differences@minima /. 1 -> Sequence[]]; centers = Round@N@Mean[minima[[{#, # + 1}]]] & /@ Flatten@Position[Differences@minima, x_ /; x > 5, Heads -> False]; lims = Round@N@{# - width/2, # + width/2} & /@ centers; rs = Rectangle[{#[[1]], 1}, {#[[2]], Last@ImageDimensions@i}] & /@ lims Show[i, Graphics[{Thick, Orange, Line@lines1, Yellow, Opacity[.5], rs}]] 

Mathematica graphics

Dr. belisarius
  • 116.8k
  • 13
  • 208
  • 466