在线图像处理,用于处理黑色背景图像。打印黑色背景图像的效果可能非常糟糕,于是这个页面诞生了。通过码指令来对图像进行操作,或者点击下方已有的配置(目前很捞)快速处理。具体的指令请看下面。


 自带配置:    

说明:

打开图像后输入指令,点击执行,即可进行处理。语法:指令 参数1 参数2 ... 参数N;,即使用 作为参数和指令的分隔符,使用;或者换行作为指令结束标志。
目前支持的指令:
gray:转为灰度图像。
flip:翻转图像颜色。
chan:设定待处理的通道。参数:all/1/2/3 all为所有通道,1/2/3分别指的是R/G/B通道。
set:修改指定范围像素,有几种不同的使用方式。

  1. 改动区间内部像素。set 10 60 255可将像素值在区间[10, 60]内的像素设置为255。set <10 255可将值小于10的像素设置为255。set >200 255可将值大于200的像素设置为255。
  2. 改动某一像素范围像素。set 128,45,34 10 255,将像数值在以(128,45,34)为中心、10为半径的区域内部的像素的值修改为255。
  3. 值参数可以为像素。如set >200 255,0,0可以将大于200的像素转换为(255,0,0)中对应通道的值,即将大于200的R通道像素改为255,大于200的G和B通道像素改为0,类似于多条指令精简,可以配合chan使用。

blur:高斯模糊。参数1:radius,参数2:sigma。如:blur 1 1
move:像数值加减操作。参数1:val(加减值),如move -10为所有像数值减去10,可以配合chan使用。
div:减色处理(见百度),这里用于将图像像素分成N个块。参数1:bin(分割块数),如div 2将像数值在[0, 127]处的修改为64,将像数值在[128, 255]处的修改为192,其他情况类似,这里的分块针对每一个通道生效,而且可以用chan指定要处理的通道。

实际上处理过程中图像一直都是RGBA类型,使用chan改变下一步要处理的通道只对RGB三通道生效。实际上使用gray后并不会删去图像的通道,只是图像RGB三个通道的值都一样了。处理过程中,图像的A通道一直都是不变的,也是不可修改的。

通道搭配使用实例:

默认chan指定的是all,即同时修改rgb三通道,使用flip、set只会修改chan指定的通道。
指定通道后,翻转颜色,然后去除绿色。

chan 1; flip
chan 2; set 0 255 0

其他实例请看配置。若有较好的配置,可评论。

其他

注意语法,注意处理顺序,可以写一条指令执行一次,以查看效果。处理图像过程中,若发现边缘毛刺非常多,可以通过blur * *进行高斯模糊处理。一般较为简单的图,执行gray;flip即可。对于内容非常复杂的图,不建议使用高斯模糊。

下次更新

  1. 添加颜色选择。在某个范围内选定某种颜色进行操作。
  2. 背景自动识别。(大片黑色/灰色背景)
  3. 添加拖动条,不必手动修改数值。(感觉意义不大)
    算了我不更了,用的时候慢慢调参吧。

参考:
Javascript图像处理
canvas的getImageData不支持跨域的解决方法
js实现图片虚化