Pass flags into imdecode and added test
Esse commit está contido em:
@@ -99,7 +99,7 @@ PHP_FUNCTION(opencv_imdecode)
|
||||
object_init_ex(&instance,opencv_mat_ce);
|
||||
opencv_mat_object *obj = Z_PHP_MAT_OBJ_P(&instance);
|
||||
|
||||
Mat im = imdecode(Mat(1, buf_len, CV_8UC1, buf), CV_LOAD_IMAGE_UNCHANGED);
|
||||
Mat im = imdecode(Mat(1, buf_len, CV_8UC1, buf), (int)flags);
|
||||
if(im.empty() || !im.data){
|
||||
char *error_message = (char*)malloc(strlen("Can not load image") + 1);
|
||||
strcpy(error_message,"Can not load image");
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
--TEST--
|
||||
LBPHFaceRecognizer with Decode
|
||||
--SKIPIF--
|
||||
<?php if (!extension_loaded("opencv")) print "skip"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
use CV\Face\LBPHFaceRecognizer;
|
||||
use function CV\{imdecode, cvtColor, equalizeHist};
|
||||
use const CV\{COLOR_BGR2GRAY};
|
||||
|
||||
$faceRecognizer = LBPHFaceRecognizer::create();
|
||||
|
||||
//hihozhou
|
||||
$str = file_get_contents('./tests/face_recognizer.jpg');
|
||||
$src = imdecode($str);
|
||||
$gray = cvtColor($src, COLOR_BGR2GRAY);
|
||||
equalizeHist($gray, $gray);
|
||||
|
||||
$faceRecognizer->train([$gray], [1]);
|
||||
|
||||
//Obama
|
||||
$str = file_get_contents('./tests/Obama.png');
|
||||
$src = imdecode($str);
|
||||
$gray = cvtColor($src, COLOR_BGR2GRAY);
|
||||
equalizeHist($gray, $gray);
|
||||
|
||||
//Obama grey
|
||||
$faceRecognizer->train([$gray], [41]);
|
||||
|
||||
$str = file_get_contents('./tests/Obama_gray.png');
|
||||
$src = imdecode($str);
|
||||
$gray = cvtColor($src, COLOR_BGR2GRAY);
|
||||
equalizeHist($gray, $gray);
|
||||
|
||||
$faceLabel = $faceRecognizer->predict($gray, $faceConfidence);
|
||||
|
||||
$faceLabel = $faceRecognizer->predict($gray);
|
||||
|
||||
echo "{$faceLabel}";
|
||||
?>
|
||||
--EXPECT--
|
||||
41
|
||||
Referência em uma Nova Issue
Bloquear um usuário