gpt4 book ai didi

ios - 过滤后保留负值

转载 作者:行者123 更新时间:2023-11-28 08:31:04 25 4
gpt4 key购买 nike

考虑真正简单的差异内核

kernel vec4 diffKernel(__sample image1, __sample image2)
{
return vec4(image1.rgb - image2.rgb, 1.0);
}

用作 CIColorKernel 时,这会产生两个图像之间的差异。但是,image1.rgb < image2.rgb 的任何值由于 CIKernel 中内核输出的“钳制”性质,(逐点)将被强制为零。

对于许多图像处理算法,例如那些涉及图像金字塔的算法(请参阅我关于如何在 Core Image 中实现这一点的其他问题),重要的是保留这些负值以备后用(例如重建金字塔) .如果0在它们的位置重新使用 ,您实际上会得到不正确的输出。

我已经看到这样一种方法是只存储 abs(image1.rgb - image2.rgb)制作一个新图像,无论负号是否附加到该值,其 RGB 值存储 0 或 1,然后使用 -1 进行乘法混合加权到正确的地方。

还有哪些其他方法可以存储像素值的符号?也许我们可以使用未使用的 alpha channel ?

最佳答案

我实际上最终弄清楚了这一点——您可以使用 CIContext 中的一个选项来确保使用 kCIFormatAf 键计算事物。这意味着在该上下文中完成的任何计算都将以浮点精度完成,因此超出 [0,1] 范围的值会从一个过滤器保留到下一个过滤器!

关于ios - 过滤后保留负值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38884982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com