//@ Aplica el operador derivada segun el parametro opcion //0: Gradiente de Roberts //1: Gradiente de Prewitt //2: Gradiente de Sobel //3: Laplaciano de 4 vecinos //4: Laplaciano de 8 vecinos //5: LoG, Laplaciano del Gaussiano //Devuelve una lista con todos los resultados de aplicar todas las mascaras del operador en particular CImgList<double> aplicarDerivada(CImg<double> img, unsigned int opcion = 0) { CImgList<double> derivada; if (opcion == 0) derivada = operadorRoberts(); if (opcion == 1) derivada = operadorPrewitt(); if (opcion == 2) derivada = operadorSobel(); if (opcion == 3) derivada = operadorLaplaciano4(); if (opcion == 4) derivada = operadorLaplaciano8(); if (opcion == 5) derivada = operadorLoG(); CImgList<double> resultados; unsigned int cantidad = derivada.size(); for (unsigned int i = 0; i < cantidad; i++) { resultados.push_back(img.get_convolve(derivada[i])); } return resultados; }