Robot vision is an interdisciplinary field that deals with how robots can be made to gain high-level understanding from digital images or videos. Understanding an image at the pixel level often does not provide enough information for decision making and action taking. In this case, higher level semantic information that describes the image is required. This helps the robot to accomplish complex tasks that require visual understanding. For robots to add value they need to be sufficiently effective at executing tasks in different settings. Despite many impressive advances in robot vision, robots still lack the ability to function as humans do in complex environments. Importantly, this includes being able to interpret and understand the perceptual complexities of the world. Robot vision is dependant on ideas from both computer vision and machine learning. In this paper we provide a overview of the advances in these disciplines and how they contribute to robot vision.