mirror of
https://github.com/pjreddie/darknet.git
synced 2023-08-10 21:13:14 +03:00
Fixed replace_image_to_label(): replaces directories only for Pascal VOC and COCO, replaces only extensions for other.
This commit is contained in:
51
src/utils.c
51
src/utils.c
@ -169,7 +169,7 @@ void pm(int M, int N, float *A)
|
||||
|
||||
void find_replace(char *str, char *orig, char *rep, char *output)
|
||||
{
|
||||
char buffer[4096] = {0};
|
||||
char *buffer = calloc(8192, sizeof(char));
|
||||
char *p;
|
||||
|
||||
sprintf(buffer, "%s", str);
|
||||
@ -181,21 +181,46 @@ void find_replace(char *str, char *orig, char *rep, char *output)
|
||||
*p = '\0';
|
||||
|
||||
sprintf(output, "%s%s%s", buffer, rep, p+strlen(orig));
|
||||
free(buffer);
|
||||
}
|
||||
|
||||
void find_replace_extension(char *str, char *orig, char *rep, char *output)
|
||||
{
|
||||
char *buffer = calloc(8192, sizeof(char));
|
||||
|
||||
sprintf(buffer, "%s", str);
|
||||
char *p = strstr(buffer, orig);
|
||||
int offset = (p - buffer);
|
||||
int chars_from_end = strlen(buffer) - offset;
|
||||
if (!p || chars_from_end != strlen(orig)) { // Is 'orig' even in 'str' AND is 'orig' found at the end of 'str'?
|
||||
sprintf(output, "%s", str);
|
||||
return;
|
||||
}
|
||||
|
||||
*p = '\0';
|
||||
|
||||
sprintf(output, "%s%s%s", buffer, rep, p + strlen(orig));
|
||||
free(buffer);
|
||||
}
|
||||
|
||||
void replace_image_to_label(char *input_path, char *output_path) {
|
||||
find_replace(input_path, "images", "labels", output_path);
|
||||
find_replace(output_path, "JPEGImages", "labels", output_path);
|
||||
find_replace(output_path, ".jpg", ".txt", output_path);
|
||||
find_replace(output_path, ".JPG", ".txt", output_path);
|
||||
find_replace(output_path, ".jpeg", ".txt", output_path);
|
||||
find_replace(output_path, ".JPEG", ".txt", output_path);
|
||||
find_replace(output_path, ".png", ".txt", output_path);
|
||||
find_replace(output_path, ".PNG", ".txt", output_path);
|
||||
find_replace(output_path, ".bmp", ".txt", output_path);
|
||||
find_replace(output_path, ".BMP", ".txt", output_path);
|
||||
find_replace(output_path, ".ppm", ".txt", output_path);
|
||||
find_replace(output_path, ".PPM", ".txt", output_path);
|
||||
//find_replace(input_path, "images", "labels", output_path); // COCO
|
||||
find_replace(input_path, "images/train2014/", "labels/train2014/", output_path); // COCO
|
||||
find_replace(input_path, "images/val2014/", "labels/val2014/", output_path); // COCO
|
||||
//find_replace(output_path, "JPEGImages", "labels", output_path); // PascalVOC
|
||||
find_replace(output_path, "VOC2007/JPEGImages", "VOC2007/labels", output_path); // PascalVOC
|
||||
find_replace(output_path, "VOC2012/JPEGImages", "VOC2012/labels", output_path); // PascalVOC
|
||||
// replace only ext of files
|
||||
find_replace_extension(output_path, ".jpg", ".txt", output_path);
|
||||
find_replace_extension(output_path, ".JPG", ".txt", output_path);
|
||||
find_replace_extension(output_path, ".jpeg", ".txt", output_path);
|
||||
find_replace_extension(output_path, ".JPEG", ".txt", output_path);
|
||||
find_replace_extension(output_path, ".png", ".txt", output_path);
|
||||
find_replace_extension(output_path, ".PNG", ".txt", output_path);
|
||||
find_replace_extension(output_path, ".bmp", ".txt", output_path);
|
||||
find_replace_extension(output_path, ".BMP", ".txt", output_path);
|
||||
find_replace_extension(output_path, ".ppm", ".txt", output_path);
|
||||
find_replace_extension(output_path, ".PPM", ".txt", output_path);
|
||||
}
|
||||
|
||||
float sec(clock_t clocks)
|
||||
|
Reference in New Issue
Block a user