You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CIImage ChromaKey滤镜无法过滤目标颜色问题求助

图片背景色透明化残留问题

我需要将图片中的指定颜色设置为透明,比如去除图片里的深红色区域并让其变为透明状态(在PDF中查看时,透明区域会匹配侧边的粉色背景)。我参考Apple官方文档的代码进行了如下修改:

// 第三层循环内的代码
let hue = getHue(red: red, green: green, blue: blue)
let wantedHue = getHue(red: myPixel.redComponent, green: myPixel.greenComponent, blue: myPixel.blueComponent)
let isHueInRange = hue >= wantedHue - 0.1 && hue <= wantedHue + 0.1
let alpha:CGFloat = isHueInRange  ? 0 : 1

处理后仍存在颜色残留,背景并未完全透明。由于需要动态移除图片背景色(图片仅包含文字和矩形,无复杂对象与混色情况),我获取了图片首个像素的色调并手动设置了0.2的允许范围,同时假设图片中不存在与目标色调相似的颜色。

补充信息:

  • 目标移除颜色:rgb(200, 39, 39) - hsv(200, 80.5, 78.4)
  • 残留颜色:rgb(246, 215, 210) - hsv(352, 14.6, 96.5)

原始图片:
原始图片

处理后图片:
处理后图片

内容的提问来源于stack exchange,提问作者Jason Krowl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:01:24