Nationally, flatfish vaccination has been performed manually, and is a laborious and time-consuming procedure with low accuracy. The handling requirement also makes it prone to contamination. With a view to eliminating these drawbacks, we designed an automatic vaccine system in which the injection is delivered by a Cartesian coordinate robot guided by a vision system. The automatic vaccine injection system is driven by an injection site location algorithm that uses a template-matching technique. The proposed algorithm was designed to derive the time and possible angles of injection by comparing a search area with a template. The algorithm is able to vaccinate various sizes of flatfish, even when they are loaded at different angles. We validated the performance of the proposed algorithm by analyzing the injection error under randomly generated loading angles. The proposed algorithm allowed an injection rate of 2000 per hour on average. Vaccination of flatfish with a body length of up to 500mm was possible, even when the orientation of the fish was random. The injection errors in various sizes of flatfish were very small, ranging from 0 to 0.6mm.