You can open images and annotations folders.
You can drag & drop each images folder and annotations folder to the open table.
RectLabel reads/writes in the PASCAL VOC xml format or YOLO text format.
After opening images, we recommend to remove EXIF orientation flags.
├── images │ ├── 0.jpg │ └── 1.jpg └── annotations ├── 0.xml or 0.txt └── 1.xml or 1.txt
Once opened images and annotations folders when the first launch, from the second launch, you can give command line arguments to RectLabel which image files should be opened.
open -a RectLabel --args -images 000000000872.jpg,000000180011.jpg open -a RectLabel\ Pro --args -images 000000000872.jpg,000000180011.jpg
Image file names which include "_pixels" are skipped because the suffix is used in the pixels image file.
Image file names which include "_depth" are skipped because the suffix is used in the depth image file.
To copy the current image file name, click on the image file name shown at the top-left corner.
For the annotations folder, we use "images/annotations" folder.
└── images ├── annotations ├── 0.jpg └── 1.jpg
For the exported YOLOv5 or YOLOv8 folder from Roboflow, you can open train/valid/test folders at once and import the object names from the yaml file.
└── exported_YOLOv5_YOLOv8_folder ├── data.yaml ├── train │ ├── images │ └── labels ├── valid │ ├── images │ └── labels └── test ├── images └── labels
After opening images and annotations folders which include symbolic links, you need to "Open destination folder for symbolic links" to open the destination folder which includes images and annotations files pointed by symbolic links.
├── images0 │ ├── 0.jpg │ └── 1.jpg ├── images1 │ ├── 2.jpg │ └── 3.jpg └── symbolic_links ├── 0.jpg ├── 1.jpg ├── 2.jpg └── 3.jpg
For "Video file", open a video file.
For "Output folder", open a folder to save the image frames.
For "Image size", both width and height would be less than or equal to the size.
For "Frame suffix", to correspond to the labels folder generated by detect.py in the yolov5 folder, select the second one.
On RectLabel, according to the Exif orientation flags, each image is rotated and shown in the front orientation.
You can remove the EXIF orientation flags from images and convert images to the front orientation.
If necessary, you can rotate the image right/left.
You can resize images and annotations.
For "Image size", both width and height would be less than or equal to the size.
If "Image size" is empty, images are not resized but annotations are resized to the same size as images.
To show the next image, press the right arrow key.
To show the previous image, press the left arrow key.
Pressing Command + right/left arrow key, the step size becomes 10.
You can use Trackpad gestures and Magic Mouse gestures.
You can specify the image number to show.
You can move all images to another folder.
Searching images, you can move searched images to another folder.
You can copy all images to another folder.
Searching images, you can copy searched images to another folder.
The annotation file is saved as {image_file_name}.xml in the PASCAL VOC xml format or {image_file_name}.txt in the YOLO text format.
For the PASCAL VOC xml format, the top-left pixel in the image has coordinates (1, 1).
<annotation> <folder>test</folder> <filename>test.jpg</filename> <size> <width>2268</width> <height>4032</height> <depth>3</depth> </size> <object> <name>box</name> <pose>Unspecified</pose> <truncated>0</truncated> <occluded>0</occluded> <difficult>0</difficult> <bndbox> <xmin>150.933868</xmin> <ymin>378.906250</ymin> <xmax>756.666626</xmax> <ymax>787.804810</ymax> </bndbox> </object> <object> <name>rotated box</name> <pose>Unspecified</pose> <truncated>0</truncated> <occluded>0</occluded> <difficult>0</difficult> <rotated_box> <cx>441.805573</cx> <cy>1321.172485</cy> <width>606.780457</width> <height>409.866486</height> <rot>0.359418</rot> </rotated_box> <polygon> <x1>230.156912</x1> <y1>1619.152571</y1> <x2>797.184426</x2> <y2>1405.963125</y2> <x3>653.454165</x3> <y3>1023.192414</y3> <x4>86.426712</x4> <y4>1236.381875</y4> </polygon> <bndbox> <xmin>86.426712</xmin> <ymin>1023.192444</ymin> <xmax>797.184448</xmax> <ymax>1619.152588</ymax> </bndbox> </object> <object> <name>polygon</name> <pose>Unspecified</pose> <truncated>0</truncated> <occluded>0</occluded> <difficult>0</difficult> <polygon> <x1>130.462251</x1> <y1>2242.434489</y1> <x2>231.116800</x2> <y2>1834.729854</y2> <x3>975.916579</x3> <y3>2089.992226</y3> </polygon> <bndbox> <xmin>130.462250</xmin> <ymin>1834.729858</ymin> <xmax>975.916565</xmax> <ymax>2242.434570</ymax> </bndbox> </object> <object> <name>cubic_bezier</name> <pose>Unspecified</pose> <truncated>0</truncated> <occluded>0</occluded> <difficult>0</difficult> <cubic_bezier> <x1>186.306561</x1> <y1>3037.549490</y1> <x2>454.431347</x2> <y2>2544.621475</y2> <x3>1174.717934</x3> <y3>2937.756268</y3> </cubic_bezier> <bndbox> <xmin>186.306564</xmin> <ymin>2544.621582</ymin> <xmax>1174.717896</xmax> <ymax>3037.549561</ymax> </bndbox> </object> <object> <name>line</name> <pose>Unspecified</pose> <truncated>0</truncated> <occluded>0</occluded> <difficult>0</difficult> <line> <x1>1138.292962</x1> <y1>719.470419</y1> <x2>1817.358518</x2> <y2>418.130334</y2> </line> <bndbox> <xmin>1138.292969</xmin> <ymin>418.130341</ymin> <xmax>1817.358521</xmax> <ymax>719.470398</ymax> </bndbox> </object> <object> <name>point</name> <pose>Unspecified</pose> <truncated>0</truncated> <occluded>0</occluded> <difficult>0</difficult> <point> <x1>1449.096405</x1> <y1>1231.845800</y1> </point> </object> <object> <name>keypoints</name> <pose>Unspecified</pose> <truncated>0</truncated> <occluded>0</occluded> <difficult>0</difficult> <keypoints> <x1>1477.371211</x1> <y1>1652.332374</y1> <v1>2</v1> <x2>1979.029598</x2> <y2>2152.412000</y2> <v2>2</v2> <x3>1322.674793</x3> <y3>2393.763232</y3> <v3>2</v3> </keypoints> <bndbox> <xmin>1322.674805</xmin> <ymin>1652.332397</ymin> <xmax>1979.029663</xmax> <ymax>2393.763184</ymax> </bndbox> </object> <object> <name>pixels</name> <pose>Unspecified</pose> <truncated>0</truncated> <occluded>0</occluded> <difficult>0</difficult> <pixels> <id>0</id> </pixels> <bndbox> <xmin>1091.518921</xmin> <ymin>370.908264</ymin> <xmax>2183.037354</xmax> <ymax>2503.379150</ymax> </bndbox> </object> </annotation>
You can close current images and annotations folders.