- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 iOS 上的 Swift 中使用 CIColorMatrix,但我得到的结果与我对它的工作原理的理解不符。
documentation定义为:
s.r = dot(s, redVector)
s.g = dot(s, greenVector)
s.b = dot(s, blueVector)
s.a = dot(s, alphaVector)
s = s + bias
假设我有一个 RGBA 值 [255, 0, 0, 255](100% 红色)的输入像素。然后我将向量 [0.5, 0, 0, 0] 应用到红色 channel 。这不应该导致 127 的红色 channel 值吗?
(255*0.5)+(0*0)+(0*0)+(255*0) = 127.5
出于某种原因,使用这些值,CIColorMatrix 给我的值是 187。这不是他们说的dot()的定义吗?
这是一个代码片段(输入图像全是红色)。
// Before this, the RGB values are [255, 0, 0]
let vec = CIVector(x: 0.5, y: 0, z: 0, w: 0)
let filter = CIFilter(name: "CIColorMatrix")
filter!.setDefaults()
// Default bias is [0,0,0,0] (explicitly setting it as such doesn't change the result).
filter!.setValue(myImage, forKey: kCIInputImageKey)
filter!.setValue(vec, forKey: "inputRVector")
// After this, the RGB values are [187, 0, 0]
我在这里遗漏或误解了什么?
最佳答案
所有 Core Image 过滤器都在执行它们的 CIContext
的工作颜色空间中运行。过滤器内核也适用于 alpha 未预乘像素值,而过滤器输出是预乘的。如果您看到的结果不是您所期望的,请检查您的工作和输出颜色空间是否按照您的需要进行了配置,并确保您没有对 alpha 预乘做任何有趣的事情。
关于ios - CIColorMatrix 数学没有意义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35385299/
我正在尝试在 iOS 上的 Swift 中使用 CIColorMatrix,但我得到的结果与我对它的工作原理的理解不符。 documentation定义为: s.r = dot(s, redVecto
我正在尝试创建一个 CIFilter 来转换以下 QR 码: 收件人: 这是我正在使用的代码: let invert = CIFilter(name: "CIColorInvert") invert!
我在反转 CIImage 颜色时卡住了。我正在从 CGImage 创建 CIImage,然后应用 CIColorInvert 过滤器或 CIColorMatrix 过滤器,但它们都无法正常工作。当将
以下 Swift 函数应该使用指定的“tintColor”对灰度图像“greyImage”进行着色: import UIKit func colorizeImage(greyImage : UIIma
我是一名优秀的程序员,十分优秀!