加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:19:21 所属栏目:百科 来源:网络整理
导读:我正在使用在服务器上完成的自动化过程来替换PhotoShop中完成的手动过程.目前在PhotoShop中,“颜色范围”工具用于使用“模糊性”因子选择一系列颜色,并根据部分过程从黑色或白色开始. 我的初始方法包括在L * a * b颜色空间中使用发光阈值,以及候选颜色和黑/
我正在使用在服务器上完成的自动化过程来替换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),否则您将不会.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读