示例#1
0
void TwtCamera::openCamera()
{
#ifdef Q_OS_SYMBIAN
    qDebug() << "TwtCamera::openCamera";
    CDesCArray* selectedFiles = new (ELeave) CDesCArrayFlat(1);
    CleanupStack::PushL(selectedFiles);

    CNewFileServiceClient* fileClient = NewFileServiceFactory::NewClientL();
    CleanupStack::PushL(fileClient);
    bool result = fileClient->NewFileL(KUidCamera, *selectedFiles, NULL,
                                       ENewFileServiceImage, EFalse);
    if(result)
    {
        TPtrC address = selectedFiles->MdcaPoint(0);
        QString filename = QString::fromUtf16(address.Ptr(), address.Length());
        qDebug() << "TwtCamera::openCamera name = " << filename;
        emit imgCaptured(filename);
    }
    else
    {
        qDebug() << "TwtCamera::openCamera file capture failed";
        emit imgCaptured("");
    }
    CleanupStack::PopAndDestroy( 2 ); // selectedFiles, fileClient
#else
    // for develop on simulator
    emit imgCaptured("");
#endif
}
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //Inicia las variables
    mVideoLoader = new VideoLoader();
    mMatchTempl = new MatchTemplate();
    mBenchmark = &Benchmark::getInstance();

    //Registra el evento de nueva imagen recibida y de match template terminado
    qRegisterMetaType< cv::Mat >("Mat");
    connect(mVideoLoader, SIGNAL(onNewImageCaptured(Mat)), this, SLOT(imgCaptured(Mat)));
    connect(mMatchTempl, SIGNAL(onMatchTemplateFinished(Mat)), this, SLOT(matchCompleted(Mat)));
}