Pono - 1 year ago 181
Swift Question

# Calculate hue angle range for red colours

I'm trying to correctly calculate colour hue angle range. Given an input default hue say

120
and a threshold value of
20
the range is between
100 - 140
(yes, I know - complex math).

Now in the application, when filtering an image, I can check if a given pixel falls into that range:

let inputHue = 120
let threshold = 20

let minHue = inputHue - threshold // 100
let maxHue = inputHue + threshold // 140

if (pixelHue > minHue && pixelHue < maxHue) {
// do something
}

Now the problem is with red colours range where the most saturated red colour is at
0/360
on the colour wheel. Given an input hue of
10
the
minHue
is now
-10
(with a threshold of
20
) and
maxHue
is
30
. Because of that negative value for
minHue
the condition fails:

let pixelHue = 355 // this falls into a valid red range I want to get
let minHue = -10
let maxHue = 30

if (pixelHue > minHue && pixelHue < maxHue) {
// do something
}

Does anyone know how to tackle this problem of a colour wheel? I'm trying to develop a general solution that would work for any given input hue (not only red colours).