void test_video() { VideoCapture cap(CV_CAP_ANY); ImageProcessor processor; ImageLoader loader; NeuralNetwork net; net.load(NET_FILE_NAME); //net.visualize_hidden_units(1, 50); if (!cap.isOpened()) { cout << "Failed to initialize camera\n"; return; } namedWindow("CameraCapture"); namedWindow("ProcessedCapture"); cv::Mat frame; while (true) { cap >> frame; cv::Mat processedFrame = processor.process_image(frame); if(processedFrame.rows * processedFrame.cols == INPUT_LAYER_SIZE) { mat input = loader.to_arma_mat(processedFrame); int label = net.predict(input); if(label == 0) putText(frame, "A", Point(500, 300), FONT_HERSHEY_SCRIPT_SIMPLEX, 2, Scalar::all(0), 3, 8); else if(label == 1) putText(frame, "E", Point(500, 300), FONT_HERSHEY_SCRIPT_SIMPLEX, 2, Scalar::all(0), 3, 8); else if(label == 2) putText(frame, "I", Point(500, 300), FONT_HERSHEY_SCRIPT_SIMPLEX, 2, Scalar::all(0), 3, 8); else if(label == 3) putText(frame, "O", Point(500, 300), FONT_HERSHEY_SCRIPT_SIMPLEX, 2, Scalar::all(0), 3, 8); else if(label == 4) putText(frame, "U", Point(500, 300), FONT_HERSHEY_SCRIPT_SIMPLEX, 2, Scalar::all(0), 3, 8); } imshow("CameraCapture", frame); imshow("ProcessedCapture", processedFrame); int key = waitKey(5); if(key == 13) { imwrite("captura.jpg", frame); } if (key == 27) break; } destroyAllWindows(); }