RectLabel



Bounding Box Software. Read writing from RectLabel on Medium. An image annotation tool to label images for bounding box object detection and segmentation. RectLabel for object detection for Mac lies within Developer Tools, more precisely General. This free Mac application is an intellectual property of Ryo Kawamura. From the developer. Download RectLabel 3.04.4 for Mac from our website for free. This Mac download was checked by our built-in antivirus and was rated as virus free. This Mac application was originally developed by RectLabel. The application lies within Design & Photo Tools, more precisely Viewers & Editors. Lookuq Lens - Object Detection and Recognition. Tiny Object Detection.

  1. Ipc Labels Reorder Salem Va
  2. Rectlabel For Linux

Rectangle Label object.

Note

Anchor point coordinates are set in pixels. You can select rectangle label's anchoring corner from ENUM_BASE_CORNER enumeration. Rectangle label's border type can be selected from ENUM_BORDER_TYPE enumeration.

The object is used to create and design the custom graphical interface.

Example

The following script creates and moves Rectangle Label object on the chart. Special functions have been developed to create and change graphical object's properties. You can use these functions 'as is' in your own applications.

//--- description
#propertydescription'Script creates 'Rectangle Label' graphical object.'
//--- display window of the input parameters during the script's launch
#propertyscript_show_inputs
//--- input parameters of the script
inputstringInpName='RectLabel'; // Label name
inputcolorInpBackColor=clrSkyBlue; // Background color
inputENUM_BORDER_TYPEInpBorder=BORDER_FLAT; // Border type
inputENUM_BASE_CORNERInpCorner=CORNER_LEFT_UPPER; // Chart corner for anchoring
inputcolorInpColor=clrDarkBlue; // Flat border color (Flat)
inputENUM_LINE_STYLEInpStyle=STYLE_SOLID; // Flat border style (Flat)
inputintInpLineWidth=3; // Flat border width (Flat)
inputboolInpBack=false; // Background object
inputboolInpSelection=true; // Highlight to move
inputboolInpHidden=true; // Hidden in the object list
inputlongInpZOrder=0; // Priority for mouse click
//+------------------------------------------------------------------+
//| Create rectangle label |
//+------------------------------------------------------------------+
bool RectLabelCreate(constlong chart_ID=0, // chart's ID
conststring name='RectLabel', // label name
constint sub_window=0, // subwindow index
constint x=0, // X coordinate
constint y=0, // Y coordinate
constint width=50, // width
constint height=18, // height
constcolor back_clr=C'236,233,216', // background color
constENUM_BORDER_TYPE border=BORDER_SUNKEN, // border type
constENUM_BASE_CORNER corner=CORNER_LEFT_UPPER, // chart corner for anchoring
constcolor clr=clrRed, // flat border color (Flat)
constENUM_LINE_STYLE style=STYLE_SOLID, // flat border style
constint line_width=1, // flat border width
constbool back=false, // in the background
constbool selection=false, // highlight to move
constbool hidden=true, // hidden in the object list
constlong z_order=0) // priority for mouse click
{
//--- reset the error value
ResetLastError();
//--- create a rectangle label
if(!ObjectCreate(chart_ID,name,OBJ_RECTANGLE_LABEL,sub_window,0,0))
{
Print(__FUNCTION__,
': failed to create a rectangle label! Error code = ',GetLastError());
return(false);
}
//--- set label coordinates
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
//--- set label size
ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width);
ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height);
//--- set background color
ObjectSetInteger(chart_ID,name,OBJPROP_BGCOLOR,back_clr);
//--- set border type
ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_TYPE,border);
//--- set the chart's corner, relative to which point coordinates are defined
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
//--- set flat border color (in Flat mode)
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
//--- set flat border line style
ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style);
//--- set flat border width
ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,line_width);
//--- display in the foreground (false) or background (true)
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
//--- enable (true) or disable (false) the mode of moving the label by mouse
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
//--- hide (true) or display (false) graphical object name in the object list
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
//--- set the priority for receiving the event of a mouse click in the chart
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//--- successful execution
return(true);
}
//+------------------------------------------------------------------+
//| Move rectangle label |
//+------------------------------------------------------------------+
bool RectLabelMove(constlong chart_ID=0, // chart's ID
conststring name='RectLabel', // label name
constint x=0, // X coordinate
constint y=0) // Y coordinate
{
//--- reset the error value
ResetLastError();
//--- move the rectangle label
if(!ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x))
{
Print(__FUNCTION__,
': failed to move X coordinate of the label! Error code = ',GetLastError());
return(false);
}
if(!ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y))
{
Print(__FUNCTION__,
': failed to move Y coordinate of the label! Error code = ',GetLastError());
return(false);
}
//--- successful execution
return(true);
}
//+------------------------------------------------------------------+
//| Change the size of the rectangle label |
//+------------------------------------------------------------------+
bool RectLabelChangeSize(constlong chart_ID=0, // chart's ID
conststring name='RectLabel', // label name
constint width=50, // label width
constint height=18) // label height
{
//--- reset the error value
ResetLastError();
//--- change label size
if(!ObjectSetInteger(chart_ID,name,OBJPROP_XSIZE,width))
{
Print(__FUNCTION__,
': failed to change the label's width! Error code = ',GetLastError());
return(false);
}
if(!ObjectSetInteger(chart_ID,name,OBJPROP_YSIZE,height))
{
Print(__FUNCTION__,
': failed to change the label's height! Error code = ',GetLastError());
return(false);
}
//--- successful execution
return(true);
}
//+------------------------------------------------------------------+
//| Change rectangle label border type |
//+------------------------------------------------------------------+
bool RectLabelChangeBorderType(constlong chart_ID=0, // chart's ID
conststring name='RectLabel', // label name
constENUM_BORDER_TYPE border=BORDER_SUNKEN) // border type
{
//--- reset the error value
ResetLastError();
//--- change border type
if(!ObjectSetInteger(chart_ID,name,OBJPROP_BORDER_TYPE,border))
{
Print(__FUNCTION__,
': failed to change the border type! Error code = ',GetLastError());
return(false);
}
//--- successful execution
return(true);
}
//+------------------------------------------------------------------+
//| Delete the rectangle label |
//+------------------------------------------------------------------+
bool RectLabelDelete(constlong chart_ID=0, // chart's ID
conststring name='RectLabel') // label name
{
//--- reset the error value
ResetLastError();
//--- delete the label
if(!ObjectDelete(chart_ID,name))
{
Print(__FUNCTION__,
': failed to delete a rectangle label! Error code = ',GetLastError());
return(false);
}
//--- successful execution
return(true);
}
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
voidOnStart()
{
//--- chart window size
long x_distance;
long y_distance;
//--- set window size
if(!ChartGetInteger(0,CHART_WIDTH_IN_PIXELS,0,x_distance))
{
Print('Failed to get the chart width! Error code = ',GetLastError());
return;
}
if(!ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS,0,y_distance))
{
Print('Failed to get the chart height! Error code = ',GetLastError());
return;
}
//--- define rectangle label coordinates
int x=(int)x_distance/4;
int y=(int)y_distance/4;
//--- set label size
int width=(int)x_distance/4;
int height=(int)y_distance/4;
//--- create a rectangle label
if(!RectLabelCreate(0,InpName,0,x,y,width,height,InpBackColor,InpBorder,InpCorner,
InpColor,InpStyle,InpLineWidth,InpBack,InpSelection,InpHidden,InpZOrder))
{
return;
}
//--- redraw the chart and wait one second
ChartRedraw();
Sleep(1000);
//--- change the size of the rectangle label
int steps=(int)MathMin(x_distance/4,y_distance/4);
for(int i=0;i<steps;i++)
{
//--- resize
width+=1;
height+=1;
if(!RectLabelChangeSize(0,InpName,width,height))
return;
//--- check if the script's operation has been forcefully disabled
if(IsStopped())
return;
//--- redraw the chart and wait for 0.01 seconds
ChartRedraw();
Sleep(10);
}
//--- 1 second of delay
Sleep(1000);
//--- change border type
if(!RectLabelChangeBorderType(0,InpName,BORDER_RAISED))
return;
//--- redraw the chart and wait for 1 second
ChartRedraw();
Sleep(1000);
//--- change border type
if(!RectLabelChangeBorderType(0,InpName,BORDER_SUNKEN))
return;
//--- redraw the chart and wait for 1 second
ChartRedraw();
Sleep(1000);
//--- delete the label
RectLabelDelete(0,InpName);
ChartRedraw();
//--- wait for 1 second
Sleep(1000);
//---
}

RectLabel

I want to create my own training dataset for object detection in image. Does anyone know some good image labeling tools?

p.s. Labelme is not suitable for my case as it is web-based and the data uploaded will be in public.

Thanks in advance!

editretagflag offensiveclosemergedelete

Comments

you could try the one from opencv/apps

you could try the one from dlibit's in dlib/tools/imglab

Ipc Labels Reorder Salem Va

Like being said by @berak, OpenCV got it's own tool for some months now. If you have suggestions for improvements, please sent back some feedback!

Hi, any document about how to use it ? Thanks

It is quite straightforward. Supply it with a folder of images and an output location of the text file. It will then open up and allow you to annotate regions. I have yet to build documentation for it, havent got the time yet due to research project deadlines.

RectLabel

Rectlabel For Linux

Hello, try this one;

http://alpslabel.wordpress.com