Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
dlib
Commits
19c6106a
"tools/vscode:/vscode.git/clone" did not exist on "c255e73baa9be3ca8b58bd17b49bb1a996745405"
Commit
19c6106a
authored
Jun 19, 2011
by
Davis King
Browse files
Added more gui elements. Now it can load and display images and a few other things.
parent
24dd65f0
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
86 additions
and
5 deletions
+86
-5
tools/imglab/src/metadata_editor.cpp
tools/imglab/src/metadata_editor.cpp
+81
-5
tools/imglab/src/metadata_editor.h
tools/imglab/src/metadata_editor.h
+5
-0
No files found.
tools/imglab/src/metadata_editor.cpp
View file @
19c6106a
...
@@ -5,6 +5,10 @@
...
@@ -5,6 +5,10 @@
#include <dlib/array.h>
#include <dlib/array.h>
#include <dlib/queue.h>
#include <dlib/queue.h>
#include <dlib/static_set.h>
#include <dlib/static_set.h>
#include <dlib/misc_api.h>
#include <dlib/image_io.h>
#include <dlib/array2d.h>
#include <dlib/pixel.h>
using
namespace
std
;
using
namespace
std
;
using
namespace
dlib
;
using
namespace
dlib
;
...
@@ -15,11 +19,18 @@ metadata_editor::
...
@@ -15,11 +19,18 @@ metadata_editor::
metadata_editor
(
metadata_editor
(
const
std
::
string
&
filename_
const
std
::
string
&
filename_
)
:
)
:
filename
(
filename_
),
mbar
(
*
this
),
mbar
(
*
this
),
lb_images
(
*
this
),
lb_images
(
*
this
),
image_pos
(
0
)
image_pos
(
0
),
display
(
*
this
),
overlay_label_name
(
*
this
),
overlay_label
(
*
this
)
{
{
file
metadata_file
(
filename_
);
filename
=
metadata_file
.
full_name
();
set_current_dir
(
get_parent_directory
(
metadata_file
).
full_name
());
cout
<<
"current dir: "
<<
get_current_dir
()
<<
endl
;
load_image_dataset_metadata
(
metadata
,
filename
);
load_image_dataset_metadata
(
metadata
,
filename
);
dlib
::
array
<
std
::
string
>::
expand_1a
files
;
dlib
::
array
<
std
::
string
>::
expand_1a
files
;
...
@@ -31,9 +42,10 @@ metadata_editor(
...
@@ -31,9 +42,10 @@ metadata_editor(
lb_images
.
load
(
files
);
lb_images
.
load
(
files
);
lb_images
.
enable_multiple_select
();
lb_images
.
enable_multiple_select
();
select_image
(
0
);
lb_images
.
set_click_handler
(
*
this
,
&
metadata_editor
::
on_lb_images_clicked
);
lb_images
.
set_click_handler
(
*
this
,
&
metadata_editor
::
on_lb_images_clicked
);
overlay_label_name
.
set_text
(
"Next Label: "
);
overlay_label
.
set_width
(
200
);
mbar
.
set_number_of_menus
(
1
);
mbar
.
set_number_of_menus
(
1
);
mbar
.
set_menu_name
(
0
,
"File"
,
'F'
);
mbar
.
set_menu_name
(
0
,
"File"
,
'F'
);
...
@@ -47,10 +59,14 @@ metadata_editor(
...
@@ -47,10 +59,14 @@ metadata_editor(
mbar
.
menu
(
0
).
add_menu_item
(
menu_item_text
(
"Quit"
,
static_cast
<
base_window
&>
(
*
this
),
&
drawable_window
::
close_window
,
'Q'
));
mbar
.
menu
(
0
).
add_menu_item
(
menu_item_text
(
"Quit"
,
static_cast
<
base_window
&>
(
*
this
),
&
drawable_window
::
close_window
,
'Q'
));
// set the size of this window
// set the size of this window and center on the screen .
set_size
(
430
,
380
);
set_size
(
500
,
400
);
unsigned
long
width
,
height
;
get_display_size
(
width
,
height
);
set_pos
((
width
-
500
)
/
2
,
(
height
-
400
)
/
2
);
on_window_resized
();
on_window_resized
();
select_image
(
0
);
set_title
(
"Image Dataset Metadata Editor"
);
set_title
(
"Image Dataset Metadata Editor"
);
show
();
show
();
...
@@ -151,6 +167,12 @@ on_window_resized(
...
@@ -151,6 +167,12 @@ on_window_resized(
lb_images
.
set_pos
(
0
,
mbar
.
bottom
()
+
1
);
lb_images
.
set_pos
(
0
,
mbar
.
bottom
()
+
1
);
lb_images
.
set_size
(
180
,
height
-
mbar
.
height
());
lb_images
.
set_size
(
180
,
height
-
mbar
.
height
());
overlay_label_name
.
set_pos
(
lb_images
.
right
()
+
10
,
mbar
.
bottom
()
+
(
overlay_label
.
height
()
-
overlay_label_name
.
height
())
/
2
+
1
);
overlay_label
.
set_pos
(
overlay_label_name
.
right
(),
mbar
.
bottom
()
+
1
);
display
.
set_pos
(
lb_images
.
right
(),
overlay_label
.
bottom
()
+
3
);
display
.
set_size
(
width
-
display
.
left
(),
height
-
display
.
top
());
}
}
// ----------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------
...
@@ -165,7 +187,15 @@ on_keydown (
...
@@ -165,7 +187,15 @@ on_keydown (
drawable_window
::
on_keydown
(
key
,
is_printable
,
state
);
drawable_window
::
on_keydown
(
key
,
is_printable
,
state
);
if
(
is_printable
)
if
(
is_printable
)
{
if
(
key
==
'\t'
)
{
overlay_label
.
give_input_focus
();
overlay_label
.
select_all_text
();
}
return
;
return
;
}
if
(
key
==
base_window
::
KEY_UP
)
if
(
key
==
base_window
::
KEY_UP
)
{
{
...
@@ -198,6 +228,7 @@ select_image(
...
@@ -198,6 +228,7 @@ select_image(
lb_images
.
select
(
idx
);
lb_images
.
select
(
idx
);
image_pos
=
idx
;
image_pos
=
idx
;
load_image
(
idx
);
}
}
}
}
...
@@ -209,7 +240,52 @@ on_lb_images_clicked(
...
@@ -209,7 +240,52 @@ on_lb_images_clicked(
)
)
{
{
image_pos
=
idx
;
image_pos
=
idx
;
load_image
(
idx
);
}
// ----------------------------------------------------------------------------------------
void
metadata_editor
::
load_image
(
unsigned
long
idx
)
{
if
(
idx
>=
metadata
.
images
.
size
())
return
;
array2d
<
rgb_pixel
>
img
;
display
.
clear_overlay
();
try
{
dlib
::
load_image
(
img
,
metadata
.
images
[
idx
].
filename
);
}
catch
(
exception
&
e
)
{
message_box
(
"Error loading image"
,
e
.
what
());
}
if
(
display
.
width
()
<
img
.
nc
()
||
display
.
height
()
<
img
.
nr
()
)
{
unsigned
long
screen_width
,
screen_height
;
get_display_size
(
screen_width
,
screen_height
);
unsigned
long
needed_width
=
display
.
left
()
+
img
.
nc
()
+
4
;
unsigned
long
needed_height
=
display
.
top
()
+
img
.
nr
()
+
4
;
if
(
needed_width
<
screen_width
*
0.8
&&
needed_height
<
screen_height
*
0.8
)
{
set_size
(
needed_width
,
needed_height
);
on_window_resized
();
}
}
display
.
set_image
(
img
);
}
}
// ----------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------
tools/imglab/src/metadata_editor.h
View file @
19c6106a
...
@@ -33,6 +33,7 @@ private:
...
@@ -33,6 +33,7 @@ private:
void
on_lb_images_clicked
(
unsigned
long
idx
);
void
on_lb_images_clicked
(
unsigned
long
idx
);
void
select_image
(
unsigned
long
idx
);
void
select_image
(
unsigned
long
idx
);
void
save_metadata_to_file
(
const
std
::
string
&
file
);
void
save_metadata_to_file
(
const
std
::
string
&
file
);
void
load_image
(
unsigned
long
idx
);
std
::
string
filename
;
std
::
string
filename
;
dlib
::
image_dataset_metadata
::
dataset
metadata
;
dlib
::
image_dataset_metadata
::
dataset
metadata
;
...
@@ -40,6 +41,10 @@ private:
...
@@ -40,6 +41,10 @@ private:
dlib
::
menu_bar
mbar
;
dlib
::
menu_bar
mbar
;
dlib
::
list_box
lb_images
;
dlib
::
list_box
lb_images
;
unsigned
long
image_pos
;
unsigned
long
image_pos
;
dlib
::
image_display
display
;
dlib
::
label
overlay_label_name
;
dlib
::
text_field
overlay_label
;
};
};
// ----------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment