title: How to detect location of characters using python 3.x
body: <p>I want to detect the location of each character in an image.</p>
  
  <p>I tried pytesseract as suggested in <a href="https://stackoverflow.com/questions/32175014/how-to-get-character-position-in-pytesseract">how to get character position in pytesseract</a> but gives me an error</p>
  
  <pre><code>import csv
  import cv2
  from pytesseract import pytesseract as pt
  
  pt.run_tesseract('bw.png', 'output', lang=None, boxes=True, config="hocr")
  
  # To read the coordinates
  boxes = []
  with open('output.box', 'rb') as f:
      reader = csv.reader(f, delimiter = ' ')
      for row in reader:
          if(len(row)==6):
              boxes.append(row)
  
  # Draw the bounding box
  img = cv2.imread('bw.png')
  h, w, _ = img.shape
  for b in boxes:
      img = cv2.rectangle(img,(int(b[1]),h-int(b[2])),(int(b[3]),h-int(b[4])),(255,0,0),2)
  
  cv2.imshow('output',img)
  
  
  
  ---------------------------------------------------------------------------
  TypeError                                 Traceback (most recent call last)
  &lt;ipython-input-38-bad5c94b3e13&gt; in &lt;module&gt;()
        3 from pytesseract import pytesseract as pt
        4 
  ----&gt; 5 pt.run_tesseract('input/1230.jpg', 'output', lang=None, boxes=True, config="hocr")
        6 
        7 # To read the coordinates
  
  TypeError: run_tesseract() got an unexpected keyword argument 'boxes'
  </code></pre>
  
  <p>I do realise its for python 2.7, can someone guide me or give me a start on how to do it for python 3.x</p>
  
  <p>Then i tried tesserocr which cannot seem to resolve the path of tessdata no matter what, i tried using tesseracct-ocr, tried manually downloading tessdata but still same error.</p>
  
  <pre><code>from PIL import Image
  from tesserocr import PyTessBaseAPI, RIL
  
  image = Image.open('train/1230.jpg')
  with PyTessBaseAPI(path="C:\\Users\light\Desktop\tessdata-master") as api:
      api.SetImage(image)
      boxes = api.GetComponentImages(RIL.TEXTLINE, True)
      print('Found {} textline image components.'.format(len(boxes)))
      for i, (im, box, _, _) in enumerate(boxes):
          # im is a PIL image object
          # box is a dict with x, y, w and h keys
          api.SetRectangle(box['x'], box['y'], box['w'], box['h'])
          ocrResult = api.GetUTF8Text()
          conf = api.MeanTextConf()
          print (u"Box[{0}]: x={x}, y={y}, w={w}, h={h}, "
                 "confidence: {1}, text: {2}").format(i, conf, ocrResult, **box)
  
  
  ---------------------------------------------------------------------------
  RuntimeError                              Traceback (most recent call last)
  &lt;ipython-input-11-68789b2bbe93&gt; in &lt;module&gt;()
        3 
        4 image = Image.open('train/1230.jpg')
  ----&gt; 5 with PyTessBaseAPI(path="C:\\Users\light\Desktop\tessdata-master") as api:
        6     api.SetImage(image)
        7     boxes = api.GetComponentImages(RIL.TEXTLINE, True)
  
  tesserocr.pyx in tesserocr._tesserocr.PyTessBaseAPI.__cinit__()
  
  tesserocr.pyx in tesserocr._tesserocr.PyTessBaseAPI._init_api()
  
  RuntimeError: Failed to init API, possibly an invalid tessdata path: C:\Users\light\Desktop essdata-master
  </code></pre>