I am trying to extract text from such images but Google Vision API does not seem to recognise majority of the text, Can someone suggest a better alternative?
Your image is 593 by 697 pixels, 0.41 MP. The recommended size for character recognition is 1024 x 768. In fact, OCR requires more resolution to detect characters. You may check relevant details on the Supported Images documentation page.