¿Cómo utilizar c para lograr la conversión de color a escala de grises (bimodal, iterativa, etc.) y diseñar una interfaz con parámetros específicos para mostrar las dos imágenes antes y después?
#include?"opencv2/highgui.hpp"
#include?"opencv2/imgproc.hpp"
#include?lt;opencv2/opencv.hppgt;
#include?lt;iostreamgt;
usando?namespace?cv;
usando?std: :cout;
const?int?alpha_slider_max?=?100;
int?alpha_slider;
int?beta_slider;
doble ?alfa;
doble?beta;
Mat?src1;
Mat?src2;
Mat?dst;
//Girar la imagen
¿estática?
double?angle?=?alpha_slider;
double?scale?=?0.6; p> p>
Mat?rot_mat?=?getRotationMatrix2D(centro, ángulo, escala);
Mat?rot_dst;
warpAffine(src1,rot_dst,rot_mat,src1. size());
if(alpha_slider! =?0){
imshow("Ventana",?rot_dst);
}
else
imshow (? " Window",?src1?);
}
//Convertir a escala de grises
static?void?on_trackbar1(?int,?void* ?)
{ if(beta_slider?==?alpha_slider_max)?{ Mat?gray_image; cvtColor(src1, gray_image, COLOR_BGR2GRAY); p> }
int?main(? void?)
{
src1?=?imread("lena.bmp");
if(?src1.empty()?) ?{?cout?lt;lt;?"Error?loading?src1?\n";?return?-1;?}
Alpha_slider ?= ?0;
beta_slider?=?0;
namedWindow("Window",?WINDOW_AUTOSIZE);?//Crear ventana
char?TrackbarName0 [50 ];
char?TrackbarName1[50];
sprintf(?TrackbarName0,? "¿Rotación? Grado");
sprintf(?TrackbarName1, ? "se vuelve gris"
);
createTrackbar(?TrackbarName1,? "Ventana",?amp; beta_slider,?alpha_slider_max, on_trackbar1?);
createTrackbar(?TrackbarName0,? "Ventana",& alpha_slider,?360,?on_trackbar0?);
on_trackbar0(?alpha_slider,?0?);
on_trackbar1(?beta_slider,?0?);
waitKey (0);
return?;
}
El código anterior solo implementa parte de las funciones de convertir imágenes en color a imágenes en escala de grises y rotar imágenes. . Solo puede importar imágenes modificando la ruta de la imagen en el código fuente.
Este código llama a la biblioteca opencv.
Interfaz de tiempo de ejecución
Mueva la imagen gris hacia el extremo derecho y se convertirá en una imagen en escala de grises.
La rotación es para rotar la imagen, de la siguiente manera. el resultado de girar 104 grados