Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Processing 2. Креативное программирование

.pdf
Скачиваний:
138
Добавлен:
06.03.2016
Размер:
16.65 Mб
Скачать

OpenCV 2, openFrameworks toolkit http://www.openframeworks.cc/.C++. , Processing, .

OpenCV

OpenCV .video Processing.

OpenCV. Sketch | Import Library | OpenCV. :

import hypermedia.video.*;

OpenCV. setup()capture().

OpenCV opencv;

void setup()

{

size( 640, 480 );

opencv = new OpenCV( this ); opencv.capture( width, height );

}

draw() ,image().

void draw()

{

opencv.read();

opencv.flip( OpenCV.FLIP_HORIZONTAL ); image( opencv.image(), 0, 0 );

}

180

8

:

OpenCV.. setup()OpenCV, .

import hypermedia.video.*; OpenCV opencv;

setup() OpenCV OpenCV. this -PApplet. capture() openCV. - , width, ,, - , height.

Processing, .

opencv = new OpenCV( this ); opencv.capture( width, height );

181

draw() read(). . flip() .: OpenCV.FLIP_HORIZONTAL, OpenCV. FLIP_VERTICAL OpenCV.FLIP_BOTH. opencv.image()

PImage,Processing - image().

opencv.read();

opencv.flip( OpenCV.FLIP_HORIZONTAL ); image( opencv.image(), 0, 0 );

OpenCV

OpenCV ., .

, OpenCV OpenCV. java.awt.Rectangle,- ., . setup() -OpenCV cascade() .

import hypermedia.video.*; import java.awt.Rectangle;

OpenCV opencv;

void setup()

{

size( 640, 480 );

opencv = new OpenCV( this ); opencv.capture( 320, 240 );

opencv.cascade( OpenCV.CASCADE_FRONTALFACE_ALT );

}

draw() , ,- . detect() .

.

void draw()

{

background( 0 );

opencv.read();

182

8

opencv.flip( OpenCV.FLIP_HORIZONTAL ); opencv.convert( GRAY );

scale( 2 );

image( opencv.image(), 0, 0 );

Rectangle[] faces = opencv.detect();

noStroke(); fill( 0 );

for ( int i = 0; i < faces.length; i++ ) {

rect( faces[i].x, faces[i].y, faces[i].width, faces[i].height );

}

}

, - :

, - OpenCV cascade(). OpenCV.CASCADE_FRONTALFACE_ALT. , XML

OpenCV, .

opencv.cascade( OpenCV.CASCADE_FRONTALFACE_ALT );

183

CASCADE_FRONTALFACE_ALT , .OpenCV .:

fOpenCV.CASCADE_FRONTALFACE_ALT_TREE

fOpenCV.CASCADE_FRONTALFACE_ALT

fOpenCV.CASCADE_FRONTALFACE_ALT2

fOpenCV.CASCADE_FRONTALFACE_DEFAULT

fOpenCV.CASCADE_PROFILEFACE

fOpenCV.CASCADE_FULLBODY

fOpenCV.CASCADE_LOWERBODY

fOpenCV.CASCADE_UPPERBODY

, - . -. 320 x 240 scale(2) .

detect() OpenCV .-. -.

Rectangle[] faces = opencv.detect();

OpenCV

OpenCV, -. -- Region of Interest (ROI). ROI. OpenCV .

.- ROI() draw() .

import hypermedia.video.*; import java.awt.Rectangle;

OpenCV opencv;

void setup()

{

size( 640, 480 );

184

8

opencv = new OpenCV( this ); opencv.capture( 320, 240 );

opencv.cascade( OpenCV.CASCADE_FRONTALFACE_ALT );

}

void draw()

{

background( 0 );

opencv.read();

opencv.flip( OpenCV.FLIP_HORIZONTAL ); opencv.convert( GRAY );

opencv.ROI( 160, 0, 160, 240 );

scale( 2 );

image( opencv.image(), 0, 0 );

Rectangle[] faces = opencv.detect();

noStroke(); fill( 0 );

for ( int i = 0; i < faces.length; i++ ) {

rect( faces[i].x + 160, faces[i].y, faces[i].width, faces[i].height );

}

}

. ,.

185

ROI() . . -x y . . OpenCV, ROI(). .

OpenCV

.ROI(),.

. ,.

import hypermedia.video.*;

OpenCV opencv;

void setup()

{

size( 640, 480 );

opencv = new OpenCV( this ); opencv.capture( width, height );

}

draw() . .

void draw()

{

background( 0 );

opencv.read();

opencv.flip( OpenCV.FLIP_BOTH ); opencv.convert( GRAY );

opencv.brightness( 20 );

186

8

opencv.contrast( 80 );

opencv.ROI( 160, 120, 320, 240 ); opencv.blur( OpenCV.GAUSSIAN, 41 );

image( opencv.image(), 0, 0 );

}

- ..

brightness() . contrast() -. -128 128..

blur() .. OpenCV.CV_BLUR, OpenCV.CV_GAUSSIAN, OpenCV.CV_MEDIAN OpenCV.CV_ BILATERAL.; ,.

187

9

JavaScript

:

fProcessing

fHTML

f/SVG

f3D

fProcessing.js Processing

fJavaScript

fProcessing.js jQuery

fToxiclibs.js

JAVASCRIPT Processing 2 Processing.js, JavaScriptProcessing. HTML5 canvasProcessing. 2D 3D Processing.js.

Processing.js JavaScript jQuery.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]