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
f6e23cab
Commit
f6e23cab
authored
Aug 27, 2017
by
Davis King
Browse files
Gave upsample_image_dataset() an option to limit upsampling on really large images.
parent
238febcc
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
41 additions
and
22 deletions
+41
-22
dlib/image_transforms/interpolation.h
dlib/image_transforms/interpolation.h
+32
-19
dlib/image_transforms/interpolation_abstract.h
dlib/image_transforms/interpolation_abstract.h
+9
-3
No files found.
dlib/image_transforms/interpolation.h
View file @
f6e23cab
...
...
@@ -10,6 +10,7 @@
#include "image_pyramid.h"
#include "../simd.h"
#include "../image_processing/full_object_detection.h"
#include <limits>
namespace
dlib
{
...
...
@@ -1289,7 +1290,8 @@ namespace dlib
>
void
upsample_image_dataset
(
image_array_type
&
images
,
std
::
vector
<
std
::
vector
<
rectangle
>
>&
objects
std
::
vector
<
std
::
vector
<
rectangle
>
>&
objects
,
unsigned
long
max_image_size
=
std
::
numeric_limits
<
unsigned
long
>::
max
()
)
{
// make sure requires clause is not broken
...
...
@@ -1303,6 +1305,8 @@ namespace dlib
typename
image_array_type
::
value_type
temp
;
pyramid_type
pyr
;
for
(
unsigned
long
i
=
0
;
i
<
images
.
size
();
++
i
)
{
if
(
images
[
i
].
size
()
<=
max_image_size
)
{
pyramid_up
(
images
[
i
],
temp
,
pyr
);
swap
(
temp
,
images
[
i
]);
...
...
@@ -1312,6 +1316,7 @@ namespace dlib
}
}
}
}
template
<
typename
pyramid_type
,
...
...
@@ -1319,7 +1324,8 @@ namespace dlib
>
void
upsample_image_dataset
(
image_array_type
&
images
,
std
::
vector
<
std
::
vector
<
mmod_rect
>>&
objects
std
::
vector
<
std
::
vector
<
mmod_rect
>>&
objects
,
unsigned
long
max_image_size
=
std
::
numeric_limits
<
unsigned
long
>::
max
()
)
{
// make sure requires clause is not broken
...
...
@@ -1333,6 +1339,8 @@ namespace dlib
typename
image_array_type
::
value_type
temp
;
pyramid_type
pyr
;
for
(
unsigned
long
i
=
0
;
i
<
images
.
size
();
++
i
)
{
if
(
images
[
i
].
size
()
<=
max_image_size
)
{
pyramid_up
(
images
[
i
],
temp
,
pyr
);
swap
(
temp
,
images
[
i
]);
...
...
@@ -1342,6 +1350,7 @@ namespace dlib
}
}
}
}
template
<
typename
pyramid_type
,
...
...
@@ -1350,7 +1359,8 @@ namespace dlib
void
upsample_image_dataset
(
image_array_type
&
images
,
std
::
vector
<
std
::
vector
<
rectangle
>
>&
objects
,
std
::
vector
<
std
::
vector
<
rectangle
>
>&
objects2
std
::
vector
<
std
::
vector
<
rectangle
>
>&
objects2
,
unsigned
long
max_image_size
=
std
::
numeric_limits
<
unsigned
long
>::
max
()
)
{
// make sure requires clause is not broken
...
...
@@ -1366,6 +1376,8 @@ namespace dlib
typename
image_array_type
::
value_type
temp
;
pyramid_type
pyr
;
for
(
unsigned
long
i
=
0
;
i
<
images
.
size
();
++
i
)
{
if
(
images
[
i
].
size
()
<=
max_image_size
)
{
pyramid_up
(
images
[
i
],
temp
,
pyr
);
swap
(
temp
,
images
[
i
]);
...
...
@@ -1379,6 +1391,7 @@ namespace dlib
}
}
}
}
// ----------------------------------------------------------------------------------------
...
...
dlib/image_transforms/interpolation_abstract.h
View file @
f6e23cab
...
...
@@ -677,7 +677,8 @@ namespace dlib
>
void
upsample_image_dataset
(
image_array_type
&
images
,
std
::
vector
<
std
::
vector
<
rectangle
>
>&
objects
std
::
vector
<
std
::
vector
<
rectangle
>
>&
objects
,
unsigned
long
max_image_size
=
std
::
numeric_limits
<
unsigned
long
>::
max
()
);
/*!
requires
...
...
@@ -690,6 +691,7 @@ namespace dlib
pyramid_type. Therefore, #images[i] will contain the larger upsampled
version of images[i]. It also adjusts all the rectangles in objects so that
they still bound the same visual objects in each image.
- Input images already containing more than max_image_size pixels are not upsampled.
- #images.size() == image.size()
- #objects.size() == objects.size()
- for all valid i:
...
...
@@ -704,7 +706,8 @@ namespace dlib
>
void
upsample_image_dataset
(
image_array_type
&
images
,
std
::
vector
<
std
::
vector
<
mmod_rect
>>&
objects
std
::
vector
<
std
::
vector
<
mmod_rect
>>&
objects
,
unsigned
long
max_image_size
=
std
::
numeric_limits
<
unsigned
long
>::
max
()
);
/*!
requires
...
...
@@ -717,6 +720,7 @@ namespace dlib
pyramid_type. Therefore, #images[i] will contain the larger upsampled
version of images[i]. It also adjusts all the rectangles in objects so that
they still bound the same visual objects in each image.
- Input images already containing more than max_image_size pixels are not upsampled.
- #images.size() == image.size()
- #objects.size() == objects.size()
- for all valid i:
...
...
@@ -732,7 +736,8 @@ namespace dlib
void
upsample_image_dataset
(
image_array_type
&
images
,
std
::
vector
<
std
::
vector
<
rectangle
>
>&
objects
,
std
::
vector
<
std
::
vector
<
rectangle
>
>&
objects2
std
::
vector
<
std
::
vector
<
rectangle
>
>&
objects2
,
unsigned
long
max_image_size
=
std
::
numeric_limits
<
unsigned
long
>::
max
()
);
/*!
requires
...
...
@@ -746,6 +751,7 @@ namespace dlib
pyramid_type. Therefore, #images[i] will contain the larger upsampled
version of images[i]. It also adjusts all the rectangles in objects and
objects2 so that they still bound the same visual objects in each image.
- Input images already containing more than max_image_size pixels are not upsampled.
- #images.size() == image.size()
- #objects.size() == objects.size()
- #objects2.size() == objects2.size()
...
...
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