Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
D
dlib
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
钟尚武
dlib
Commits
6dbb0d81
Commit
6dbb0d81
authored
Mar 18, 2012
by
Davis King
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added a heatmap colormap.
parent
8cef8ff9
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
86 additions
and
2 deletions
+86
-2
colormaps.h
dlib/image_transforms/colormaps.h
+63
-1
colormaps_abstract.h
dlib/image_transforms/colormaps_abstract.h
+23
-1
No files found.
dlib/image_transforms/colormaps.h
View file @
6dbb0d81
...
...
@@ -3,7 +3,7 @@
#ifndef DLIB_RANDOMLY_COlOR_IMAGE_H__
#define DLIB_RANDOMLY_COlOR_IMAGE_H__
#include "
randomly_color_image
_abstract.h"
#include "
colormaps
_abstract.h"
#include "../hash.h"
#include "../pixel.h"
#include "../matrix.h"
...
...
@@ -63,6 +63,68 @@ namespace dlib
return
matrix_op
<
op
>
(
op
(
img
));
}
// ----------------------------------------------------------------------------------------
template
<
typename
T
>
struct
op_heatmap
:
does_not_alias
{
op_heatmap
(
const
T
&
img_
,
const
double
max_val_
,
const
double
min_val_
)
:
img
(
img_
),
max_val
(
max_val_
),
min_val
(
min_val_
){}
const
T
&
img
;
const
double
max_val
;
const
double
min_val
;
const
static
long
cost
=
7
;
const
static
long
NR
=
0
;
const
static
long
NC
=
0
;
typedef
rgb_pixel
type
;
typedef
const
rgb_pixel
const_ret_type
;
typedef
typename
T
::
mem_manager_type
mem_manager_type
;
typedef
row_major_layout
layout_type
;
const_ret_type
apply
(
long
r
,
long
c
)
const
{
// scale the gray value into the range [0, 1]
const
double
gray
=
put_in_range
(
0
,
1
,
(
get_pixel_intensity
(
img
[
r
][
c
])
-
min_val
)
/
(
max_val
-
min_val
));
rgb_pixel
pix
(
0
,
0
,
0
);
pix
.
red
=
static_cast
<
unsigned
char
>
(
std
::
min
(
gray
/
0
.
4
,
1
.
0
)
*
255
+
0
.
5
);
if
(
gray
>
0
.
4
)
{
pix
.
green
=
static_cast
<
unsigned
char
>
(
std
::
min
((
gray
-
0
.
4
)
/
0
.
4
,
1
.
0
)
*
255
+
0
.
5
);
}
if
(
gray
>
0
.
8
)
{
pix
.
blue
=
static_cast
<
unsigned
char
>
(
std
::
min
((
gray
-
0
.
8
)
/
0
.
2
,
1
.
0
)
*
255
+
0
.
5
);
}
return
pix
;
}
long
nr
()
const
{
return
img
.
nr
();
}
long
nc
()
const
{
return
img
.
nc
();
}
};
template
<
typename
image_type
>
const
matrix_op
<
op_heatmap
<
image_type
>
>
heatmap
(
const
image_type
&
img
,
double
max_val
,
double
min_val
=
0
)
{
typedef
op_heatmap
<
image_type
>
op
;
return
matrix_op
<
op
>
(
op
(
img
,
max_val
,
min_val
));
}
// ----------------------------------------------------------------------------------------
}
...
...
dlib/image_transforms/colormaps_abstract.h
View file @
6dbb0d81
...
...
@@ -3,7 +3,6 @@
#undef DLIB_RANDOMLY_COlOR_IMAGE_ABSTRACT_H__
#ifdef DLIB_RANDOMLY_COlOR_IMAGE_ABSTRACT_H__
#include "randomly_color_image_abstract.h"
#include "../hash.h"
#include "../pixel.h"
#include "../matrix.h"
...
...
@@ -32,6 +31,29 @@ namespace dlib
- The returned matrix will have the same dimensions as img.
!*/
// ----------------------------------------------------------------------------------------
template
<
typename
image_type
>
const
matrix_exp
heatmap
(
const
image_type
&
img
,
double
max_val
,
double
min_val
=
0
);
/*!
requires
- image_type is an implementation of array2d/array2d_kernel_abstract.h
- pixel_traits<image_type::type> must be defined
ensures
- Interprets img as a grayscale image and returns a new matrix
which represents a colored version of img. In particular, the
colors will depict img using a heatmap where pixels with a
value <= min_val are black and larger pixel values become
more red, then yellow, and then white as they approach max_val.
- The returned matrix will have the same dimensions as img.
!*/
// ----------------------------------------------------------------------------------------
}
...
...
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