模拟PhotoShop的“颜色范围”算法

模拟PhotoShop的“颜色范围”算法,第1张

概述我正在使用在服务器上完成的自动化过程来替换PhotoShop中完成的手动过程.目前在PhotoShop中,“颜色范围”工具用于使用“模糊性”因子选择一系列颜色,并根据部分过程从黑色或白色开始. 我的初始方法包括在L * a * b颜色空间中使用发光阈值,以及候选颜色和黑/白之间的DE94.在这两种情况下,我选择了不应该选择的颜色和/或没有选择应该的颜色. 我的希望是,我应该使用锥体而不是球体来选择 我正在使用在服务器上完成的自动化过程来替换PhotoShop中完成的手动过程.目前在PhotoShop中,“颜色范围”工具用于使用“模糊性”因子选择一系列颜色,并根据部分过程从黑色或白色开始.

我的初始方法包括在L * a * b颜色空间中使用发光阈值,以及候选颜色和黑/白之间的DE94.在这两种情况下,我选择了不应该选择的颜色和/或没有选择应该的颜色.

我的希望是,我应该使用锥体而不是球体来选择.

任何人都可以看出PhotoShop在做什么,如果我正确的方向?另外,如果有一个图书馆在那里做这将是令人敬畏的,我正在C写这个.

解决方法 从我在Photoshop中看到的算法可能类似于以下内容:

>定义一个计算两种颜色的接近度的函数:例如,在颜色空间中使用欧几里得距离,即使用Euclidean distance formula计算RGB空间中两个像素的颜色之间的距离.
>接下来,使用fallof函数调整每个像素的强度,
例如Gaussian function.你可能需要调整
一些参数.要澄清:你计算两个距离
RGB空间中的像素(不是2D像素坐标中的距离),以及
然后将其馈送到将提供结果的衰减功能
介于0.0和1.0之间.乘以电流的所有颜色分量
具有衰减功能的结果的像素.这样做
图像的每个像素.
>如果要添加效果的range参数,只需使用
同样的衰减功能,每个像素再次,但这次喂它
所选像素与电流之间的欧氏距离
像素在像素的2D空间中(像素之间的距离)
图像上的坐标).

如果您只想选择某些像素,则不需要直接在图像中的像素上应用效果,您可以将衰减值存储在0.0到1.0范围内的双精度矩阵中.然后,选择一个阈值以上,您将选择给定的像素.

例如,如果在坐标(x,y)处的像素的步骤2产生0.8,并且步骤3产生0.5,则具有坐标x和y的矩阵元素的值应该是0.8 * 0.5 = 0.4.如果您选择阈值低于0.4,您将选择像素(x,y),否则您将不会.

总结

以上是内存溢出为你收集整理的模拟PhotoShop的“颜色范围”算法全部内容,希望文章能够帮你解决模拟PhotoShop的“颜色范围”算法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1246158.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存