Solo se explicarán las diferencias con el código del programa anterior, empezando por la declaración inicial de variables, ya que se ha añadido una de tipo booleano (borrado), cuyo valor True indicaría que la aplicación está en modo borrado. Inicialmente tiene el valor False porque se comienza en modo dibujo.
borrado = False
Lo realmente novedoso de este nuevo programa es el bucle while, cuya condición True indica que podría estar ejecutándose indefinidamente.
Dentro, lo primero que se hace es llamar a la función waitKey() para esperar cierto tiempo (se ha puesto 100 ms, aunque podría ser otro diferente) hasta que se pulse una tecla. A continuación, hay una serie de condiciones que detectan si se ha pulsado el retorno de carro para cambiar del modo dibujo al de borrado o viceversa, o las teclas con las que se quiere abandonar la aplicación (‘Esc’ o ‘q’). En este último caso únicamente se ejecutaría la sentencia break, que permite salir del bucle y, en consecuencia, de la aplicación.
El código Unicode del retorno de carro es 13, mientras que el de la tecla ‘Esc’ es 27.
Si se pulsara retorno de carro, lo primero que se haría es cambiar de modo (invertir el valor de la variable borrado) y, en función de este, modificar los valores de las variables que establecen el color del trazo (color) y su grosor (grosor). En el modo borrado, el color del trazo será el mismo que el del fondo (blanco), cuyo efecto será la eliminación de cualquier línea roja que se hubiera dibujado previamente. Además, se amplía el grosor del trazo para facilitar dicho borrado.
Una vez fuera del bucle, lo que se hace es cerrar la ventana con destroyAllWindows().
cv2.destroyAllWindows()
Ya solo queda probarlo. Esta vez, podrá corregir los trazos que no le gusten.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.