我的初始方法包括在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的“颜色范围”算法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)