Exemplo n.º 1
0
bool CvCapture_Images::open(const char * _filename)
{
    unsigned offset = 0;
    close();

    filename = icvExtractPattern(_filename, &offset);
    if(!filename)
        return false;

    // determine the length of the sequence
    length = 0;
    char str[_MAX_PATH];
    for(;;)
    {
        sprintf(str, filename, offset + length);
        struct stat s;
        if(stat(str, &s))
        {
            if(length == 0 && offset == 0) // allow starting with 0 or 1
            {
                offset++;
                continue;
            }
        }

        if(!cvHaveImageReader(str))
            break;

        length++;
    }

    if(length == 0)
    {
        close();
        return false;
    }

    firstframe = offset;

    // grab frame to enable properties retrieval
    bool grabRes = grabFrame();
    grabbedInOpen = true;
    currentframe = 0;

    return grabRes;
}
Exemplo n.º 2
0
bool CvCapture_Images::open(const char* _filename) {
    unsigned offset = 0;
    close();

    filename = icvExtractPattern(_filename, &offset);
    if (!filename) {
        return false;
    }

    // determine the length of the sequence
    length = 0;
    char str[_MAX_PATH];
    for (;;) {
        sprintf(str, filename, offset + length);
        struct stat s;
        if (stat(str, &s)) {
            if (length == 0 && offset == 0) { // allow starting with 0 or 1
                offset++;
                continue;
            }
        }

        if (!cvHaveImageReader(str)) {
            break;
        }

        length++;
    }

    if (length == 0) {
        close();
        return false;
    }

    firstframe = offset;
    return true;
}