CITemperatureAndTint(CIFilter)的输入参数

发布于 2024-12-22 19:49:16 字数 685 浏览 2 评论 0原文

我无法理解名为 CITemperatureAndTint 的 CIFilter 的输入参数。文档说它有两个输入参数,都是 2D CIVector。

我经常使用这个滤镜 - 通过实际代码、通过 Core Image Fun House(来自 Apple 的示例项目 - “FunHouse”)和通过 iPhoto。

我的直觉告诉我,这个过滤器应该有两个标量输入参数:一个用于温度,一个用于色调。如果您查看 iPhoto 的 UI,您会看到以下内容:

iPhotos 温度和色调 UI 的屏幕截图:

iPhotos 温度和色调 UI 的屏幕截图

正如预期的那样:一个滑块用于温度,一个滑块用于色调。 苹果如何将每个滑块的值“绑定”到 2D-Vector? akaru 已经问过这个问题,但没有得到答案:CITemperatureAndTint 具有矢量输入怎么了?

I fail to understand the input parameters of the CIFilter named CITemperatureAndTint. The documentation says it has two input parameters which are both a 2D CIVector.

I played with this filter a lot - via actual code, via Core Image Fun House (example project from Apple - "FunHouse") and via iPhoto.

My intuition says that this filter should have two scalar input parameters: One for the temperature and one for the tint. If you look at the UI of iPhoto you see this:

Screenshot of iPhotos Temperature and Tint UI:

Screenshot of iPhotos Temperature and Tint UI

As expected: One slider for the temperature and one for the hue. How did apple "bind" the value of each slider to a 2D-Vector? akaru asked this question already but got no answer: What's up with CITemperatureAndTint having vector inputs?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

旧伤慢歌 2024-12-29 19:49:16

我在苹果公司开了一个技术支持事件,并向他们提出了同样的问题。以下是苹果工程师的回答:

CITemperatureAndTint 有 3 个输入参数:Image、Neutral 和
目标中立。 Neutral 和 TargetNeutral 是 2D CIVector 类型,并且
在两者中,请注意第一个维度指的是温度
第二个维度是指色调。 CI 温度和色调是多少
过滤器的作用主要是计算一个适应 RGB 值的矩阵
来自 Neutral (srcTemperature,
srcTint) 到 TargetNeutral 定义的目标白点
(dstTemperature, dstTint),然后将此矩阵应用于输入
图像(使用 CIColorMatrix 过滤器)。如果中性且目标中性
具有相同的值,那么应用后图像不会改变
这个过滤器。我不知道 iPhoto 的实现细节,但是
我认为两个滑动条给出了温度和色调的变化(即
源和目标温度和色调值之间的差异
已经)您想要添加到源图像。

现在我必须弄清楚这个答案,但这似乎是苹果公司的一个非常好的回应。

I have opened a technical support incident at Apple and asked them the same question. Here is the answer from the Apple engineer:

CITemperatureAndTint has three input parameters: Image, Neutral and
TargetNeutral. Neutral and TargetNeutral are of 2D CIVector type, and
in both of them, note that the first dimension refers to Temperature
and the second dimension refers to Tint. What the CITemperatureAndTint
filter basically does is computing a matrix that adapts RGB values
from the source white point defined by Neutral (srcTemperature,
srcTint) to the target white point defined by TargetNeutral
(dstTemperature, dstTint), and then applying this matrix on the input
image (using the CIColorMatrix filter). If Neutral and TargetNeutral
are of the same values, then the image will not change after applying
this filter. I don't know the implementation details about iPhoto, but
I think the two slide bars give the Temperature and Tint changes (i.e.
differences between source and target Temperature and Tint values
already) that you want to add to the source image.

Now I have to get my head around this answer but it seems to be a very good response from Apple.

秋心╮凉 2024-12-29 19:49:16

它们应该是包含色温的 2D 矢量。默认值 (6500, 0) 将保持颜色不变,如所述 这里。您可以在此维基百科链接中查看哪些色温值可以提供哪些颜色。我不确定向量的第二个元素的用途。

They should be 2D vectors containing the color temperature. The default of (6500, 0) will leave the color unchanged, as described here. You can see what values for color temperature give you which colors in this wikipedia link. I'm not sure what the 2nd element of the vector is for.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文