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
ee5bb2a3
Commit
ee5bb2a3
authored
Jul 03, 2018
by
Davis King
Browse files
Made rectangle_transform measure area the same way the rectangle's .area() does
so that things are a little more consistent.
parent
5fa275f8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
5 additions
and
3 deletions
+5
-3
dlib/geometry/point_transforms.h
dlib/geometry/point_transforms.h
+5
-3
No files found.
dlib/geometry/point_transforms.h
View file @
ee5bb2a3
...
...
@@ -12,6 +12,7 @@
#include "rectangle.h"
#include "drectangle.h"
#include <vector>
#include <cmath>
namespace
dlib
{
...
...
@@ -218,8 +219,9 @@ namespace dlib
dpoint
bl
=
r
.
bl_corner
();
dpoint
br
=
r
.
br_corner
();
// The new rectangle would ideally have this area if we could actually rotate
// the box.
double
new_area
=
length
(
tform
(
tl
)
-
tform
(
tr
))
*
length
(
tform
(
tl
)
-
tform
(
bl
));
// the box. Note the 1+ is because that's how the rectangles calculate their
// width and height.
double
new_area
=
(
1
+
length
(
tform
(
tl
)
-
tform
(
tr
)))
*
(
1
+
length
(
tform
(
tl
)
-
tform
(
bl
)));
// But if we rotate the corners of the rectangle and then find the rectangle
// that contains them we get this, which might have a much larger area than we
...
...
@@ -233,7 +235,7 @@ namespace dlib
// the above box.
double
scale
=
std
::
sqrt
(
new_area
/
temp
.
area
());
return
centered_rect
(
center
(
temp
),
st
atic_cast
<
long
>
(
temp
.
width
()
*
scale
+
0.5
),
st
atic_cast
<
long
>
(
temp
.
height
()
*
scale
+
0.5
));
return
centered_rect
(
center
(
temp
),
st
d
::
round
(
temp
.
width
()
*
scale
),
st
d
::
round
(
temp
.
height
()
*
scale
));
}
rectangle
operator
()
(
...
...
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