title: Python - Pytesseract extracts incorrect text from image
body: <p>I used the below code in Python to extract text from image,</p>
  <pre><code>import cv2
  import numpy as np
  import pytesseract
  from PIL import Image
  
  # Path of working folder on Disk
  src_path = &quot;&lt;dir path&gt;&quot;
  
  def get_string(img_path):
      # Read image with opencv
      img = cv2.imread(img_path)
  
      # Convert to gray
      img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
  
      # Apply dilation and erosion to remove some noise
      kernel = np.ones((1, 1), np.uint8)
      img = cv2.dilate(img, kernel, iterations=1)
      img = cv2.erode(img, kernel, iterations=1)
  
      # Write image after removed noise
      cv2.imwrite(src_path + &quot;removed_noise.png&quot;, img)
  
      #  Apply threshold to get image with only black and white
      #img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 31, 2)
  
      # Write the image after apply opencv to do some ...
      
      cv2.imwrite(src_path + &quot;thres.png&quot;, img)
  
      # Recognize text with tesseract for python
      result = pytesseract.image_to_string(Image.open(img_path))#src_path+ &quot;thres.png&quot;))
  
      # Remove template file
      #os.remove(temp)
  
      return result
  
  
  print '--- Start recognize text from image ---'
  print get_string(src_path + &quot;test.jpg&quot;)
  
  print &quot;------ Done -------&quot;
  </code></pre>
  <p>But the output is incorrect.. The input file is,</p>
  <p><a href="https://i.stack.imgur.com/3SKh2.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/3SKh2.jpg" alt="enter image description here" /></a></p>
  <p>The output received is '0001' instead of 'D001'</p>
  <p><a href="https://i.stack.imgur.com/RmF7V.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/RmF7V.jpg" alt="enter image description here" /></a></p>
  <p>The output received is '3001' instead of 'B001'</p>
  <p>What is the required code changes to retrieve the right Characters from image, also to train the pytesseract to return the right characters for all font types in image[including Bold characters]</p>