當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。