call back modificado

Ahora con un click puedes capturar una imagen.
Debería profundizar más con las funciones de opencv para video?
Unas pocas dudas:
1-Para que sirve el parametro param???
2-Tampoco entiendo porque hay parametros que en las llamadas se igualan
a otros o a un valor...
3-Porque se pone un if delante del main

Me puedes proponer una buena practica para esta semana? En plan para que
mezcle los conocimientos adquiridos hasta ahora. Gracias