Vessel maintenance entails periodic visual inspections of internal and external parts of the vessel hull in order to detect cracks and corroded areas. Typically, this is done by trained surveyors at great cost. Clearly, assisting them during the inspection process by means of a fleet of robots capable of defect detection would decrease the inspection cost. In this paper, two algorithms are presented for visual detection of the aforementioned two kinds of defects. On the one hand, the crack detector is based on a percolation process that exploits the morphological properties of cracks in steel surfaces. On the other hand, the corrosion detector follows a supervised classification approach taking profit from the spatial distribution of color in rusty areas. Both algorithms have shown successful rates of detection with close to real-time performance.