La expresión está basada en el origen de la palabra abrojo, que aunque muchos suponen que es una palabra propia del Río de la Plata, procede del latín, a través de la forma apere oculum, equivalente de «abre el ojo».
Esta palabra era usada originariamente como advertencia para las personas, debido al peligro que supone caminar por una senda plagada de esta clase de planta de tallos largos, rastreros y frutos muy espinosos y perjudiciales para las cosechas y las personas. Posteriormente, en el ámbito militar, se comenzó a utilizar la frase abrir los ojos para advertir a los soldados acerca de la presencia de campos minados de abrojos, pero en este caso no referida a las plantas sino a unas piezas de hierro en forma de estrella, con cuatro púas que, al caer al suelo, quedaban con las puntas hacia arriba, obstaculizando el avance de la caballería enemiga. En la actualidad, la expresión se usa para advertir a alguien sobre la inminencia de un riesgo o peligro, para lo cual es necesario mantenerse alerta.
Fuente: http://www.ciudad-real.es/varios/dichos/a.php