mirror of
https://github.com/opencv/opencv.git
synced 2025-06-11 11:45:30 +08:00
Merge pull request #17260 from jsxyhelu:add_deepgreen_colormap
This commit is contained in:
commit
508bd3f55d
BIN
modules/imgproc/doc/pics/colorscale_deepgreen.jpg
Normal file
BIN
modules/imgproc/doc/pics/colorscale_deepgreen.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
@ -4376,7 +4376,8 @@ enum ColormapTypes
|
||||
COLORMAP_CIVIDIS = 17, //!< 
|
||||
COLORMAP_TWILIGHT = 18, //!< 
|
||||
COLORMAP_TWILIGHT_SHIFTED = 19, //!< 
|
||||
COLORMAP_TURBO = 20 //!< 
|
||||
COLORMAP_TURBO = 20, //!< 
|
||||
COLORMAP_DEEPGREEN = 21 //!< 
|
||||
};
|
||||
|
||||
/** @example samples/cpp/falsecolor.cpp
|
||||
|
@ -297,6 +297,28 @@ namespace colormap
|
||||
}
|
||||
};
|
||||
|
||||
// Equals the colormap "deepgreen".
|
||||
class DeepGreen : public ColorMap {
|
||||
public:
|
||||
DeepGreen() : ColorMap() {
|
||||
init(256);
|
||||
}
|
||||
DeepGreen(int n) : ColorMap() {
|
||||
init(n);
|
||||
}
|
||||
void init(int n) {
|
||||
static const float r[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.04761904761904762f, 0.09523809523809523f, 0.1428571428571428f, 0.1904761904761905f, 0.2380952380952381f, 0.2857142857142857f, 0.3333333333333333f, 0.3809523809523809f, 0.4285714285714285f, 0.4761904761904762f, 0.5238095238095238f, 0.5714285714285714f, 0.6190476190476191f, 0.6666666666666666f, 0.7142857142857143f, 0.7619047619047619f, 0.8095238095238095f, 0.8571428571428571f, 0.9047619047619048f, 0.9523809523809523f, 1 };
|
||||
static const float g[] = { 0, 0.01587301587301587f, 0.03174603174603174f, 0.04761904761904762f, 0.06349206349206349f, 0.07936507936507936f, 0.09523809523809523f, 0.1111111111111111f, 0.126984126984127f, 0.1428571428571428f, 0.1587301587301587f, 0.1746031746031746f, 0.1904761904761905f, 0.2063492063492063f, 0.2222222222222222f, 0.2380952380952381f, 0.253968253968254f, 0.2698412698412698f, 0.2857142857142857f, 0.3015873015873016f, 0.3174603174603174f, 0.3333333333333333f, 0.3492063492063492f, 0.3650793650793651f, 0.3809523809523809f, 0.3968253968253968f, 0.4126984126984127f, 0.4285714285714285f, 0.4444444444444444f, 0.4603174603174603f, 0.4761904761904762f, 0.492063492063492f, 0.5079365079365079f, 0.5238095238095238f, 0.5396825396825397f, 0.5555555555555556f, 0.5714285714285714f, 0.5873015873015873f, 0.6031746031746031f, 0.6190476190476191f, 0.6349206349206349f, 0.6507936507936508f, 0.6666666666666666f, 0.6825396825396826f, 0.6984126984126984f, 0.7142857142857143f, 0.7301587301587301f, 0.746031746031746f, 0.7619047619047619f, 0.7777777777777778f, 0.7936507936507936f, 0.8095238095238095f, 0.8253968253968254f, 0.8412698412698413f, 0.8571428571428571f, 0.873015873015873f, 0.8888888888888888f, 0.9047619047619048f, 0.9206349206349206f, 0.9365079365079365f, 0.9523809523809523f, 0.9682539682539683f, 0.9841269841269841f, 1 };
|
||||
static const float b[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.02380952380952381f, 0.04761904761904762f, 0.07142857142857142f, 0.09523809523809523f, 0.119047619047619f, 0.1428571428571428f, 0.1666666666666667f, 0.1904761904761905f, 0.2142857142857143f, 0.2380952380952381f, 0.2619047619047619f, 0.2857142857142857f, 0.3095238095238095f, 0.3333333333333333f, 0.3571428571428572f, 0.3809523809523809f, 0.4047619047619048f, 0.4285714285714285f, 0.4523809523809524f, 0.4761904761904762f, 0.5f, 0.5238095238095238f, 0.5476190476190477f, 0.5714285714285714f, 0.5952380952380952f, 0.6190476190476191f, 0.6428571428571429f, 0.6666666666666666f, 0.6904761904761905f, 0.7142857142857143f, 0.7380952380952381f, 0.7619047619047619f, 0.7857142857142857f, 0.8095238095238095f, 0.8333333333333334f, 0.8571428571428571f, 0.8809523809523809f, 0.9047619047619048f, 0.9285714285714286f, 0.9523809523809523f, 0.9761904761904762f, 1 };
|
||||
Mat X = linspace(0, 1, 64);
|
||||
this->_lut = ColorMap::linear_colormap(X,
|
||||
Mat(64, 1, CV_32FC1, (void*)r).clone(), // red
|
||||
Mat(64, 1, CV_32FC1, (void*)g).clone(), // green
|
||||
Mat(64, 1, CV_32FC1, (void*)b).clone(), // blue
|
||||
n); // number of sample points
|
||||
}
|
||||
};
|
||||
|
||||
// Equals the GNU Octave colormap "ocean".
|
||||
class Ocean : public ColorMap {
|
||||
public:
|
||||
@ -742,6 +764,7 @@ namespace colormap
|
||||
colormap == COLORMAP_BONE ? (colormap::ColorMap*)(new colormap::Bone) :
|
||||
colormap == COLORMAP_CIVIDIS ? (colormap::ColorMap*)(new colormap::Cividis) :
|
||||
colormap == COLORMAP_COOL ? (colormap::ColorMap*)(new colormap::Cool) :
|
||||
colormap == COLORMAP_DEEPGREEN ? (colormap::ColorMap*)(new colormap::DeepGreen) :
|
||||
colormap == COLORMAP_HOT ? (colormap::ColorMap*)(new colormap::Hot) :
|
||||
colormap == COLORMAP_HSV ? (colormap::ColorMap*)(new colormap::HSV) :
|
||||
colormap == COLORMAP_INFERNO ? (colormap::ColorMap*)(new colormap::Inferno) :
|
||||
|
Loading…
Reference in New Issue
Block a user