Processing:Библиотеки/Video/Класс Capture: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
 
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


=Capture<ref>[https://processing.org/reference/libraries/video/Capture.html processing.org - Capture]</ref>=
=Capture<ref>[https://processing.org/reference/libraries/video/Capture.html processing.org - Capture]</ref>=
Строка 111: Строка 111:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Текущая версия от 11:58, 20 мая 2023


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



Capture[1]

Обозначение

Capture

Описание

Тип данных для хранения и манипуляции видеокадрами от подключенных устройств вроде камеры. Для получения списка названий подключенных устройств используйте функцию Capture.list(). Если воспользоваться конструктором без cameraName, он попытается воспользоваться последним устройством, который использовала программа QuickTime.

Методы

Конструктор

Capture(parent)
Capture(parent, requestConfig)
Capture(parent, requestWidth, requestHeight)
Capture(parent, requestWidth, requestHeight, frameRate)
Capture(parent, requestWidth, requestHeight, cameraName)
Capture(parent, requestWidth, requestHeight, cameraName, frameRate)

Параметры

parent         как правило, используется «this». Тип данных  PApplet
requestWidth   ширина кадра. Тип данных  int
requestHeight  высота кадра. Тип данных  int
frameRate      количество кадров, считываемых в секунду. Тип данных  int
cameraName     название камеры. Тип данных  String

Пример

import processing.video.*;

Capture cam;

void setup() {
  size(640, 480);

  String[] cameras = Capture.list();
  
  if (cameras.length == 0) {
    println("There are no cameras available for capture.");
        //  "Нет доступных камер для видеозахвата."
    exit();
  } else {
    println("Available cameras:");
        //  "Доступные камеры:"
    for (int i = 0; i < cameras.length; i++) {
      println(cameras[i]);
    }
    
    // камера может быть инициализирована напрямую
    // при помощи элемента из массива, возвращенного функцией list():
    cam = new Capture(this, cameras[0]);
    cam.start();     
  }      
}

void draw() {
  if (cam.available() == true) {
    cam.read();
  }
  image(cam, 0, 0);
  // строчка ниже делает то же самое и быстрее,
  // если мы просто рисуем изображение,
  // не меняя его размер, а также без трансформаций и наклонов.
  //set(0, 0, cam);
}

См.также

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