int main(int argc, char* argv[]) { CvCapture *capture = 0; IplImage *img = 0; if( argc < 3 ) { fprintf( stderr, "Usage: loadimg <filename> <cam(1)/image(2)>\n" ); return 1; } else if (argv[2][0] == '1') { /* initialize camera */ capture = cvCaptureFromCAM(0); /* always check */ if ( !capture ) { fprintf( stderr, "Cannot open initialize webcam!\n" ); fprintf( stderr, "Usage: loadimg <filename> <cam(1)/image(2)>\n" ); return 1; } webcam(capture, argv[1]); img = cvLoadImage(argv[1],-1); } else if(argv[2][0] == '2') { img = cvLoadImage(argv[1],-1); } else { fprintf( stderr, "Invalid argument 2\n" ); return 1; } if( img == 0 ) { fprintf( stderr, "Cannot load file %s!\n", argv[1] ); return 1; } int depth = img->depth; CvSize sz = cvSize( img->width & -2, img->height & -2 ); IplImage* gray = cvCreateImage(cvSize(sz.width, sz.height), depth, 1); IplImage* copy = cvCreateImage(cvSize(sz.width, sz.height), depth, 3); cvCvtColor(img, gray, CV_BGR2GRAY); //gray= haar(img, gray); //edge(img); //colorEdge(img, gray); glg(img); keys(img, gray); //ocr(); //cvShowImage("img",img); //cvWaitKey(0); cvReleaseImage(&img); cvReleaseImage(©); cvReleaseImage(&gray); return 0; }
QvkWebcamController::QvkWebcamController(QWidget *parent ) : QHBoxLayout(parent) { //qDebug() << "Begin QvkWebcamController::QvkWebcamController( QWidget * value ) ***************************"; checkBox = new QCheckBox; checkBox->setText( tr( "Webcam" ) ); connect( checkBox, SIGNAL( clicked() ), SLOT( webcam() ) ); this->addWidget(checkBox, 0, Qt::AlignLeft); comboBoxCount = new QComboBox; comboBoxCount->setToolTip( "Select webcam" ); this->addWidget(comboBoxCount, 0, Qt::AlignLeft); myWebcamWatcher = new QvkWebcamWatcher(); connect( myWebcamWatcher, SIGNAL( changed( QStringList ) ), this, SLOT( webcamChangedEvent( QStringList ) ) ); connect( myWebcamWatcher, SIGNAL( added( QStringList, QStringList ) ), this, SLOT( webcamAddedEvent( QStringList, QStringList ) ) ); connect( myWebcamWatcher, SIGNAL( removed( QStringList, QString ) ), this, SLOT( webcamRemovedEvent( QStringList, QString ) ) ); myWebcamWatcher->myfileSystemWatcher( "/dev/" ); if ( myWebcamWatcher->getWebcamCount() == 0 ) { checkBox->setEnabled( false ); comboBoxCount->setEnabled( false ); } vkWebcam = new QvkWebcam(); QSettings settings( "vokoscreen", "vokoscreen" ); settings.beginGroup( "Webcam" ); vkWebcam->setDeviceNumber( settings.value( "Number", 0 ).toUInt() ); comboBoxCount->setCurrentIndex( vkWebcam->getDeviceNumber() ); settings.endGroup(); //vkWebcam->setDeviceNumber( comboBoxCount->currentText().toUInt() ); //comboBoxCount->setCurrentIndex( vkWebcam->getDeviceNumber() ); connect( vkWebcam, SIGNAL( closeWebcam() ), this, SLOT( webcamCloseEvent() ) ); //qDebug() << "End QvkWebcamController::QvkWebcamController( QWidget * value ) ***************************"; }
int main(int argc, char ** argv) { int x_res = 1280, y_res = 720, video_capture = 0, cuda_device = 0, threshold; bool verbose = false, gpu = true; get_options(argc, argv, x_res, y_res, video_capture, cuda_device, gpu, verbose); if ((HAVE_CUDA == false) && (gpu = true)) { std::cout << "greplace was compiled without CUDA support. Proceeding on "; std::cout << "CPU." << std::endl; } threshold = x_res * y_res / THRESHOLDING_FACTOR; cv::VideoCapture webcam(video_capture); webcam.set(CV_CAP_PROP_FRAME_WIDTH, x_res); webcam.set(CV_CAP_PROP_FRAME_HEIGHT, y_res); cv::namedWindow(MAIN_WINDOW_TITLE, CV_WINDOW_AUTOSIZE ); cv::Ptr<cv::FaceRecognizer> model = cv::createFisherFaceRecognizer(); greplace::Person previous_person = greplace::Person(std::string(FACES_LOAD_DIRECTORY), x_res, y_res); previous_person.train_model(model); cv::CascadeClassifier classifier = greplace::init(HAAR_CASCADE_FRONTAL_FACE_LOCATION); greplace::main_loop(webcam, classifier, model, previous_person, threshold, INTERPERSON_PERIOD, MAIN_WINDOW_TITLE); return EXIT_FAILURE; }