In the image sequence capture, only search for the ordinal in the file name.

Searching in directory names can yield confusing results; e.g. if
the input is "jpeg2000/image1.jp2", it will infer the pattern
"jpeg%04d/image1.jp2", which is likely not what the user intended.

If the user really desires for the variable part to be in the
directory name, it can always use an explicit pattern.
This commit is contained in:
Roman Donchenko 2013-11-12 16:15:41 +04:00
parent a81efdbb25
commit b8e3d3f791

View File

@ -200,8 +200,18 @@ static char* icvExtractPattern(const char *filename, unsigned *offset)
} }
else // no pattern filename was given - extract the pattern else // no pattern filename was given - extract the pattern
{ {
for(at = name; *at && !isdigit(*at); at++) at = name;
;
// ignore directory names
char *slash = strrchr(at, '/');
if (slash) at = slash + 1;
#ifdef _WIN32
slash = strrchr(at, '\\');
if (slash) at = slash + 1;
#endif
while (*at && !isdigit(*at)) at++;
if(!*at) if(!*at)
return 0; return 0;