当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Processing PImage.filter()用法及代码示例


Processing, 类PImage中的filter()用法介绍。

用法

  • pimg.filter(kind)
  • pimg.filter(kind, param)

参数

  • pimg (PImage) 任何 PImage 类型的对象
  • kind (int) 阈值、灰色、不透明、反转、后处理、模糊、侵蚀或扩张
  • param (float) 每个都是独一无二的,见上文

返回

  • void

说明

过滤由以下模式之一定义的图像:



THRESHOLD


将图像转换为黑白像素,具体取决于它们是高于还是低于 level 参数定义的阈值。该参数必须介于 0.0(黑色)和 1.0(白色)之间。如果未指定级别,则使用 0.5。



GRAY


将图像中的任何颜色转换为等效的灰度。没有使用参数。



OPAQUE


将 Alpha 通道设置为完全不透明。没有使用参数。



INVERT


将每个像素设置为其倒数。没有使用参数。



POSTERIZE


将图像的每个通道限制为参数指定的颜色数。该参数可以设置为 2 到 255 之间的值,但结果在较低范围内最为明显。



BLUR


使用指定模糊程度的 level 参数执行高斯模糊。如果不使用参数,则模糊相当于半径为 1 的高斯模糊。较大的值会增加模糊。



ERODE


减少光照区域。没有使用参数。



DILATE


增加光照区域。没有使用参数。

例子

PImage img1, img2;

void setup() {
  size(400, 400);
  img1 = loadImage("flower.jpg");
  img2 = loadImage("flower.jpg");
  img1.filter(THRESHOLD, 0.3);
  img2.filter(THRESHOLD, 0.7);
}

void draw() {
  image(img1, 0, 0);
  image(img2, width/2, 0);
}
Image output for example 1

PImage img1, img2;

void setup() {
   size(400, 400);
   
  img1 = loadImage("flower.jpg");
  img2 = loadImage("flower.jpg");
  img2.filter(GRAY);
}

void draw() {
  image(img1, 0, 0);
  image(img2, width/2, 0);
}
Image output for example 2
PImage img1, img2;
void setup() {
   size(400, 400);
  img1 = loadImage("flower.jpg");
  img2 = loadImage("flower.jpg");
  img2.filter(INVERT);
}

void draw() {
  image(img1, 0, 0);
  image(img2, width/2, 0);
}
Image output for example 3
PImage img1, img2;

void setup() {
 size(400, 400);
  img1 = loadImage("flower.jpg");
  img2 = loadImage("flower.jpg");
  img2.filter(POSTERIZE, 4);
}

void draw() {
  image(img1, 0, 0);
  image(img2, width/2, 0);
}
Image output for example 4
PImage img1, img2;

void setup() {
  size(400, 400);
  img1 = loadImage("flower.jpg");
  img2 = loadImage("flower.jpg");
  img2.filter(BLUR, 6);
}

void draw() {
  image(img1, 0, 0);
  image(img2, width/2, 0);
}
Image output for example 5
PImage img1, img2;
void setup() {
  size(400, 400);
  img1 = loadImage("flower.jpg");
  img2 = loadImage("flower.jpg");
  img2.filter(ERODE);
}
void draw() {
  image(img1, 0, 0);
  image(img2, width/2, 0);
}

Image output for example 6
PImage img1, img2;

void setup() {
  size(400, 400);
  img1 = loadImage("flower.jpg");
  img2 = loadImage("flower.jpg");
  img2.filter(DILATE);
}

void draw() {
  image(img1, 0, 0);
  image(img2, width/2, 0);
}
Image output for example 7

相关用法


注:本文由纯净天空筛选整理自processing.org大神的英文原创作品 PImage.filter()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。