Експорт послідовності зображень у Processing

Processing – це прекрасний інструмент для створення відео У ранніх версія Processing був клас MovieMaker, який дозволяв вам конвертувати ваш скетч в QuickTime movie У Processing 2 цей клас видалений і тепер замість нього встановлений GStreamer framework У цьому прикладі ви навчитеся експортувати вашу роботу у вигляді последовельності зображень, щоб потім створити з них відео

Як це робиться

Нижче наведено повний код для цього прикладу Я використовував обєкти PVector для Рісане на екрані ліній і кіл, що рухаються за принципом броунівського руху Коли скетч досягне 900-го кадру, додаток зупиниться

int randomNum l

PVector[] points float radius = 2

void setup()

{

size( 1280, 720 )

smooth()

background( 234, 228, 17 ) points = new PVector[64]

for ( int i = 0 i &lt pointslength i++ ) {

points[i] = new PVector(random(width), random(height))

}

frameRate( 30 )

randomNum = floor( random( 10000, 90000 ) )

noFill()

stroke( 0, 64 )

}

void draw()

{

for ( int i = 0 i &lt pointslength i++ ) { float newX = points[i]x + random( -10, 10 )

float newY = points[i]y + random( -10, 10 ) stroke( i*4, 64 )

line( points[i]x, points[i]y, newX, newY ) ellipse( newX, newY, radius, radius )

points[i]x = newX points[i]y = newY

}

radius++

if ( radius &gt 10 ) { radius = 2

}

saveFrame(&quotimages/export-&quot+randomNum+&quot-#####tga&quot)

// save 900 frames = 30 sec @ 30 fps if ( frameCount &gt= 900 ) {

exit()

}

}

Після запуску скетчу ви знайдете в папці images в папці ваего скетчу послідовність зображень типу TGA

Найважливіше у створенні відео – це правильно встановити розмір і частоту кадрів у функції setup () вашого скетчу Я задав розмір кадру 1280 x 720 пікселів і частоту кадрів 30 кадрів в секунду Це дасть вам уявлення про те, як виглядатиме відео коли ви запустите скетч Цей формат відео хороший для розміщення відео на таких веайтах як Vimeo і YouTube Але зверніть увагу, що якщо в кожному кадрі ви робите складні обчислення, це може пригальмувати скетч і реальна частота кадрів буде менше, ніж та, яку ви вкажете у функції frameRate ()

Кожен кадр буде збережений за допомогою функції saveFrame () В імені файлу зображення я використовував випадкове ціле число під імям randomNum, тому в одній і тій же папці можна зберегти кілька послідовностей зображень Зробити вихід з скетчу після збереження послідовності зображень також буде гарною ідеєю Це робиться за допомогою функції exit () Якщо потрібно 30-скекундное відео, знадобиться зберегти 900 кадрів Розрахувати це кількість просто: число кадрів в секунду x число секунд = кількість кадрів

Я зберіг послідовність зображень у форматі TGA Це найпростіший спосіб зберегти зображення в Processing, так як формат TGA не стискується Ви можете використовувати PNG або JPEG, але памятайте, що це сповільнить ваш скетч

Джерело: Ян Вантомм, Processing 2: креативне програмування, переклад з англійської Олександри Мішутіної, Published by Packt Publishing Ltd, 2012, BIRMINGHAM – MUMBAI

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*