Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Processing:Справочник языка Processing/PImage/filter()

Материал из Онлайн справочника
Перейти к: навигация, поиск


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


filter() [1]

Класс

PImage

Обозначение

filter()

Описание

Накладывает на изображение фильтр, заданный с помощью одного из этих параметров:

  • THRESHOLD – Делает пиксели изображения черными или белыми в зависимости от того, преодолевают ли они пороговое значение, заданное в параметре level. Значение в нем должно быть в диапазоне от «0.0» (черный) до «1.0» (белый). Если параметра level указано не будет, будет использовано пороговое значение по умолчанию – «0.5».
  • GRAY – Конвертирует все цвета изображения в эквивалентные монохромные цвета. Второй параметр не используется.
  • OPAQUE – Делает альфа-канал полностью непрозрачным. Второй параметр не используется.
  • INVERT – Инвертирует значение каждого пикселя. Второй параметр не используется.
  • POSTERIZE – Ограничивает каждый канал изображения на количество цветов, заданных во втором параметре level. В нем можно указать значение в диапазоне 2-255, но результат наиболее заметен, если это значение будет небольшим.
  • BLUR – Выполняет размытие по Гауссу. Во втором параметре level задается степень размытия. Если второго параметра указано не будет, результат будет эквивалентен гауссову размытию с радиусом 1. Чем больше значение в параметре level, тем больше размытие.
  • ERODE – Ослабляет светлые участки. Второй параметр не используется.
  • DILATE – Усиливает светлые участки. Второй параметр не используется.

Синтаксис

pimg.filter(kind)
pimg.filter(kind, level)

Параметры

pimg  – любой объект типа PImage. Тип данных – PImage
kind  – фильтр изображения. Возможные варианты - THRESHOLD, GRAY, OPAQUE, INVERT, POSTERIZE, BLUR, ERODE и DILATE. Тип данных – int
level – уникальный для каждого фильтра. Тип данных – float

Возвращаемое значение

void

Пример

№1

Processing PImage filter 0 threshold.png


  1. PImage img1, img2;
  2.  
  3. void setup() {
  4.   size(100, 100);
  5.   img1 = loadImage("apples.jpg");
  6.   img2 = loadImage("apples.jpg");
  7.   img1.filter(THRESHOLD, 0.3);
  8.   img2.filter(THRESHOLD, 0.7);
  9. }
  10.  
  11. void draw() {
  12.   image(img1, 0, 0);
  13.   image(img2, width/2, 0);
  14. }

№2

Processing PImage filter 1 gray.png


  1. PImage img1, img2;
  2.  
  3. void setup() {
  4.   img1 = loadImage("apples.jpg");
  5.   img2 = loadImage("apples.jpg");
  6.   img2.filter(GRAY);
  7. }
  8.  
  9. void draw() {
  10.   image(img1, 0, 0);
  11.   image(img2, width/2, 0);
  12. }

№3

Processing PImage filter 2 invert.png


  1. PImage img1, img2;
  2.  
  3. void setup() {
  4.   img1 = loadImage("apples.jpg");
  5.   img2 = loadImage("apples.jpg");
  6.   img2.filter(INVERT);
  7. }
  8.  
  9. void draw() {
  10.   image(img1, 0, 0);
  11.   image(img2, width/2, 0);
  12. }

№4

Processing PImage filter 3 posterize.png


  1. PImage img1, img2;
  2.  
  3. void setup() {
  4.   img1 = loadImage("apples.jpg");
  5.   img2 = loadImage("apples.jpg");
  6.   img2.filter(POSTERIZE, 4);
  7. }
  8.  
  9. void draw() {
  10.   image(img1, 0, 0);
  11.   image(img2, width/2, 0);
  12. }

№5

Processing PImage filter 4 blur.png


  1. PImage img1, img2;
  2.  
  3. void setup() {
  4.   img1 = loadImage("apples.jpg");
  5.   img2 = loadImage("apples.jpg");
  6.   img2.filter(BLUR, 6);
  7. }
  8.  
  9. void draw() {
  10.   image(img1, 0, 0);
  11.   image(img2, width/2, 0);
  12. }

№6

Processing PImage filter 5 erode.png


  1. PImage img1, img2;
  2.  
  3. void setup() {
  4.   img1 = loadImage("apples.jpg");
  5.   img2 = loadImage("apples.jpg");
  6.   img2.filter(ERODE);
  7. }
  8.  
  9. void draw() {
  10.   image(img1, 0, 0);
  11.   image(img2, width/2, 0);
  12. }

№7

Processing PImage filter 6 dilate.png


  1. PImage img1, img2;
  2.  
  3. void setup() {
  4.   img1 = loadImage("apples.jpg");
  5.   img2 = loadImage("apples.jpg");
  6.   img2.filter(DILATE);
  7. }
  8.  
  9. void draw() {
  10.   image(img1, 0, 0);
  11.   image(img2, width/2, 0);
  12. }

См.также

Внешние ссылки

  1. processing.org - filter()