#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
int main() {
// Cargar la imagen
Mat imagen = imread("tu_imagen.jpg", IMREAD_GRAYSCALE);
if (imagen.empty()) {
std::cerr << "Error al cargar la imagen" << std::endl;
return -1;
}
// Calcular gradientes en las direcciones x e y
Mat gradienteX, gradienteY;
Sobel(imagen, gradienteX, CV_32F, 1, 0);
Sobel(imagen, gradienteY, CV_32F, 0, 1);
// Calcular la magnitud del gradiente
Mat magnitudGradiente;
magnitude(gradienteX, gradienteY, magnitudGradiente);
// Normalizar la magnitud del gradiente para visualización
normalize(magnitudGradiente, magnitudGradiente, 0, 255, NORM_MINMAX, CV_8U);
// Mostrar imágenes
imshow("Imagen original", imagen);
imshow("Magnitud del gradiente", magnitudGradiente);
waitKey(0);
return 0;
}