15. A mobile device for translating a video feed in real-time from a first language to a second language, the mobile device comprising: a video camera for capturing the video feed of one or more words in the first language which need translation; a display for displaying the words of the first language and the words of the second language in augmented reality; a processor for processing program code; and at least one memory operatively connected to the processor for storing the program code and one or more frames, which program code when executed by the processor causes the processor to execute a process to: (a) capture a frame in real-time from the video feed of one or more words in the first language which need to be translated using the video camera to produce a captured frame; (b) crop the captured frame to fit inside an image processing bounding box to produce a cropped frame; (c) pre-process the cropped frame to produce a pre-processed frame; (d) perform character segment recognition on the pre-processed frame to produce a plurality of character segments; (e) perform character merging on the character segments to produce a plurality of merged character segments; (f) perform character recognition on the merged character segments to produce a recognized frame having a plurality of recognized characters; (g) process the recognized frame through a translation engine to produce a translation of the recognized characters in the first language into one or more words of the second language to produce a translated frame, while also calculating a translation quality representing how well the recognized characters have been translated for each translated frame; (h) store the translated frame to the memory as a current translated frame, wherein a previous translated frame and a previous translation quality is also stored in the memory; (i) check that the bounding box has stayed on a same set of characters for the current translated frame and the previous translated frame by determining a fraction of similar characters that are overlapping between the current translated frame and the previous translated frame, wherein a higher fraction indicates that the bounding box has stayed on the same set of characters for the current translated frame and the previous translated frame; (j) compare the translation quality determined by the translation engine for the current translated frame to the previous translation quality for the previous translated frame; (k) select one of the previous translated frame and the current translated frame to be removed from the memory based on a frame having a lower translation quality; and (l) display an optimal translated frame from the previous translated frame and the current translated frame, the optimal translated frame having a higher translation quality, wherein the words of the second language are overlaid over or next to the words in the first language which is being translated in an augmented reality on the display of the mobile device.
15. A mobile device for translating a video feed in real-time from a first language to a second language, the mobile device comprising: a video camera for capturing the video feed of one or more words in the first language which need translation; a display for displaying the words of the first language and the words of the second language in augmented reality; a processor for processing program code; and at least one memory operatively connected to the processor for storing the program code and one or more frames, which program code when executed by the processor causes the processor to execute a process to: (a) capture a frame in real-time from the video feed of one or more words in the first language which need to be translated using the video camera to produce a captured frame; (b) crop the captured frame to fit inside an image processing bounding box to produce a cropped frame; (c) pre-process the cropped frame to produce a pre-processed frame; (d) perform character segment recognition on the pre-processed frame to produce a plurality of character segments; (e) perform character merging on the character segments to produce a plurality of merged character segments; (f) perform character recognition on the merged character segments to produce a recognized frame having a plurality of recognized characters; (g) process the recognized frame through a translation engine to produce a translation of the recognized characters in the first language into one or more words of the second language to produce a translated frame, while also calculating a translation quality representing how well the recognized characters have been translated for each translated frame; (h) store the translated frame to the memory as a current translated frame, wherein a previous translated frame and a previous translation quality is also stored in the memory; (i) check that the bounding box has stayed on a same set of characters for the current translated frame and the previous translated frame by determining a fraction of similar characters that are overlapping between the current translated frame and the previous translated frame, wherein a higher fraction indicates that the bounding box has stayed on the same set of characters for the current translated frame and the previous translated frame; (j) compare the translation quality determined by the translation engine for the current translated frame to the previous translation quality for the previous translated frame; (k) select one of the previous translated frame and the current translated frame to be removed from the memory based on a frame having a lower translation quality; and (l) display an optimal translated frame from the previous translated frame and the current translated frame, the optimal translated frame having a higher translation quality, wherein the words of the second language are overlaid over or next to the words in the first language which is being translated in an augmented reality on the display of the mobile device. 20. The mobile device of claim 15 , wherein the mobile device is a laptop computer.