-
Notifications
You must be signed in to change notification settings - Fork 0
/
Principal.cpp
60 lines (49 loc) · 1.79 KB
/
Principal.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include "Conversor.hpp"
/*Para determinar a que espacio de color se va a cambiar al mover un trackbar*/
void eventoTrackEspacios(int v, void *pP){
cout <<"Valor trackbar: " << v << endl;
}
int main(int argc, char *argv[]){
VideoCapture video(0);
Mat resultado;
Conversor conversor;
namedWindow("video", WINDOW_AUTOSIZE);
namedWindow("Efecto", WINDOW_AUTOSIZE);
int iSliderValue1=0;
createTrackbar("Efecto", "video", &iSliderValue1, 4, eventoTrackEspacios, NULL);
if(video.isOpened()){
Mat frame;
namedWindow("Video",WINDOW_AUTOSIZE);
while(3==3){
video >> frame;
resultado = Mat(Size(frame.cols, frame.rows), CV_8UC3, Scalar(255, 255, 255));
if(frame.rows<=0 || frame.cols<=0)
break;
if(iSliderValue1==1){
conversor.hsv(frame, resultado);
imwrite("imagenes/hsv.png", resultado);
}
else if(iSliderValue1==2) {
cvtColor(frame, resultado, COLOR_BGR2GRAY);
imwrite("imagenes/gray.png", resultado);
}
else if(iSliderValue1==3) {
conversor.toLAb(frame, resultado);
imwrite("imagenes/lab.png", resultado);
}
else if(iSliderValue1==4){
conversor.toYcrCb(frame, resultado);
imwrite("imagenes/ycrcb.png", resultado);
}
else if(iSliderValue1==0){
resultado = frame;
}
imshow("Video", frame);
imshow("Efecto", resultado);
if(waitKey(23)==27) //Pedimos que espere 23 milisegundos a que el usario presione la tecla escape
break;
}
destroyAllWindows();
}
return 0;
}