【发布时间】:2016-11-09 11:26:36
【问题描述】:
我正在尝试正确计算色调角度范围。给定输入默认色调120 和20 的阈值范围在100 - 140 之间(是的,我知道 - 复杂的数学)。
现在在应用程序中,当过滤图像时,我可以检查给定像素是否属于该范围:
let inputHue = 120
let threshold = 20
let minHue = inputHue - threshold // 100
let maxHue = inputHue + threshold // 140
if (pixelHue > minHue && pixelHue < maxHue) {
// do something
}
现在问题在于红色范围,其中最饱和的红色位于色轮上的0/360。给定输入色调10,minHue 现在是-10(阈值为20),maxHue 是30。由于 minHue 的负值,条件失败:
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
}
有谁知道如何解决这个色轮问题?我正在尝试开发一种适用于任何给定输入色调(不仅是红色)的通用解决方案。
提前致谢。
【问题讨论】:
标签: swift