javascript实现PS魔术棒功能:总述

作者: matrixy 分类: Javascript,图像处理 发布时间: 2018-01-15 00:57

  最近因工作需要,使用javascript做了一个类似于Photoshop魔术棒的功能,整个过程磕磕碰碰,总算是完成了,我果然最爱的就是图像处理了。

  photoshop魔术棒是通过点选图像上某一点,根据预设的相似度阈值向周边漫延,将相连续的相似颜色的匹配作为选区的功能,这个功能可能是作为PS菜鸟最常用的功能了。当然我做的版本跟PS的不完全一样,我的需求是通过鼠标在图像上按住移动进行颜色采样,通过采样的颜色确定颜色范围,进而扩展到最大能漫延的区域,从而确定选区,最终得到选区外轮廓顶点,这个系列篇分为如下几个章节:

  1. 颜色相似度的计算
  2. 邻近相似色的漫延
  3. 边缘跟踪算法
  4. 边缘的平滑化

一直还没有抽出时间来写的,先贴个git吧。
https://github.com/glaciall/magic-wand-tool

2条评论
  • 2018年12月3日 上午10:34

    你好,我看了你的代码,把相似色的算法改进了一下,取相似色更准确呢。colorDiff : function(x, y, z, r, g, b)
    {
    var mean =(x + r) / 2 ;
    var R = x- r;
    var G = y – g;
    var B = z – b;
    return Math.sqrt( (2+mean/256)*(R**2)+4*(G**2)+(2+(255-mean)/256)*(B**2) )
    },

  • lillylanty

    2018年12月3日 上午10:35

    好像看不到留言啊,,,,作者。

发表评论

电子邮件地址不会被公开。 必填项已用*标注