Add some examples
Esse commit está contido em:
Arquivo binário não exibido.
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
$i = OpenCV\Image::load("test.jpg", OpenCV\Image::LOAD_IMAGE_COLOR);
|
||||
//var_dump($i);
|
||||
//$i->setImageROI(200, 200, 200, 200);
|
||||
//var_dump($i->getImageROI());
|
||||
//$i->resetImageROI();
|
||||
//$i2 = $i->smooth(OpenCV\Image::GAUSSIAN, 31, 0, 0, 0);
|
||||
//$i2 = $i->laplace(3);
|
||||
//$i2 = $i->sobel(1, 0, 1);
|
||||
//$i2 = $i->erode(3);
|
||||
//$i2 = $i->dilate(3);
|
||||
//$i2 = $i->open(3);
|
||||
//$i2 = $i->close(3);
|
||||
//$i2 = $i->gradient(3);
|
||||
/*
|
||||
$i2 = $i->blackHat(2);
|
||||
var_dump($i2);
|
||||
try {
|
||||
$i2->save("test2.jpg");
|
||||
} catch (Exception $e) {
|
||||
var_dump($e);
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
$dst = new OpenCV\Image(250, 250, OpenCV\Image::DEPTH_8U, 3);
|
||||
var_dump($dst);
|
||||
$i->resize($dst);
|
||||
try {
|
||||
$dst->save("test3.jpg");
|
||||
} catch (Exception $e) {
|
||||
var_dump($e);
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
$dst = $i->pyrUp(OpenCV\Image::GAUSSIAN_5x5);
|
||||
$dst = $dst->pyrUp(OpenCV\Image::GAUSSIAN_5x5);
|
||||
$dst->save("pyr.jpg");
|
||||
*/
|
||||
$dst = $i->canny(10, 50, 3);
|
||||
$dst->save('canny.jpg');
|
||||
|
||||
|
||||
//var_dump($i instanceof OpenCV\Mat);
|
||||
//var_dump($i instanceof OpenCV\Arr);
|
||||
|
||||
//$m = new OpenCV\Mat(100, 100, 0);
|
||||
//var_dump($m);
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
/* Test the face detectoin feature, using a capture from the camera */
|
||||
$capture = new OpenCV\Capture(0);
|
||||
$image = $capture->queryFrame();
|
||||
$result = $image->haarDetectObjects("data/haarcascades/haarcascade_frontalface_default.xml");
|
||||
foreach ($result as $r) {
|
||||
$image->rectangle($r['x'], $r['y'], $r['width'], $r['height']);
|
||||
}
|
||||
$image = $image->convertColor(RGB2GRAY);
|
||||
$image->save('/tmp/camera.jpg');
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
$i = OpenCV\Image::load("test.jpg", OpenCV\Image::LOAD_IMAGE_COLOR);
|
||||
$hsv = $i->convertColor(OpenCV\Image::RGB2HSV);
|
||||
$hsv->save("hsv.jpg");
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
use OpenCV\Image as Image;
|
||||
use OpenCV\Histogram as Histogram;
|
||||
|
||||
$i = Image::load("test.jpg", Image::LOAD_IMAGE_COLOR);
|
||||
$dst = $i->sobel(1, 0, 1);
|
||||
$dst->save("test_sobel.jpg");
|
||||
|
||||
$dst2 = $i->canny(10, 50, 3);
|
||||
$dst2->save("test_canny.jpg");
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
$capture = OpenCV\Capture::createFileCapture('movie.avi');
|
||||
$image = $capture->queryFrame();
|
||||
$result = $image->haarDetectObjects("data/haarcascades/haarcascade_frontalface_default.xml");
|
||||
foreach ($result as $r) {
|
||||
$image->rectangle($r['x'], $r['y'], $r['width'], $r['height']);
|
||||
}
|
||||
$image->save('/tmp/video.jpg');
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
use OpenCV\Image as Image;
|
||||
use OpenCV\Histogram as Histogram;
|
||||
|
||||
$i = Image::load("test.jpg", Image::LOAD_IMAGE_COLOR);
|
||||
$result = $i->haarDetectObjects("data/haarcascades/haarcascade_frontalface_default.xml");
|
||||
|
||||
foreach ($result as $r) {
|
||||
$i->rectangle($r['x'], $r['y'], $r['width'], $r['height']);
|
||||
}
|
||||
|
||||
$i->save("haar_output.jpg");
|
||||
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
use OpenCV\Image as Image;
|
||||
use OpenCV\Histogram as Histogram;
|
||||
|
||||
/* Load the sample image */
|
||||
$i = Image::load("sample.jpg", Image::LOAD_IMAGE_COLOR);
|
||||
$hsv = $i->convertColor(Image::RGB2HSV);
|
||||
$planes = $hsv->split();
|
||||
$hist = new Histogram(1, 32, CV_HIST_ARRAY);
|
||||
$hist->calc($planes[0]);
|
||||
|
||||
/* Load the target image */
|
||||
$i2 = Image::load("target.jpg", Image::LOAD_IMAGE_COLOR);
|
||||
$hsv2 = $i2->convertColor(Image::RGB2HSV);
|
||||
$planes2 = $hsv2->split();
|
||||
$result = $planes2[0]->backProject($hist);
|
||||
|
||||
/* Dilate the image to make the objects more obvious */
|
||||
$result = $result->dilate(2);
|
||||
$result->save("back_project_output.jpg");
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
use OpenCV\Image as Image;
|
||||
use OpenCV\Histogram as Histogram;
|
||||
|
||||
$i = Image::load("test.jpg", Image::LOAD_IMAGE_COLOR);
|
||||
$dst = $i->smooth(Image::GAUSSIAN, 31, 0, 0, 0);
|
||||
$dst->save("test_smoothed.jpg");
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
/* Split the image by planes */
|
||||
$i = OpenCV\Image::load("test.jpg", OpenCV\Image::LOAD_IMAGE_COLOR);
|
||||
$split = $i->split();
|
||||
$i = 0;
|
||||
foreach ($split as $plane) {
|
||||
$i++;
|
||||
$plane->save("split_$i.jpg");
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
use OpenCV\Image as Image;
|
||||
use OpenCV\Histogram as Histogram;
|
||||
|
||||
echo "Loading sample\n";
|
||||
$im = Image::load("elephpant_sample.jpg", Image::LOAD_IMAGE_COLOR);
|
||||
$im2 = Image::load("dragonbe_elephpants.jpg", Image::LOAD_IMAGE_COLOR);
|
||||
|
||||
for ($i = 0; $i < 6; $i++) {
|
||||
$result = $im2->matchTemplate($im, $i);
|
||||
$result->save("mt_output_$i.jpg");
|
||||
}
|
||||
Referência em uma Nova Issue
Bloquear um usuário