Skip to content

Commit 0a2f957

Browse files
author
steve
committed
Pass flags into imdecode and added test
1 parent 3b7d414 commit 0a2f957

File tree

2 files changed

+43
-1
lines changed

2 files changed

+43
-1
lines changed

source/opencv2/opencv_imgcodecs.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ PHP_FUNCTION(opencv_imdecode)
9999
object_init_ex(&instance,opencv_mat_ce);
100100
opencv_mat_object *obj = Z_PHP_MAT_OBJ_P(&instance);
101101

102-
Mat im = imdecode(Mat(1, buf_len, CV_8UC1, buf), CV_LOAD_IMAGE_UNCHANGED);
102+
Mat im = imdecode(Mat(1, buf_len, CV_8UC1, buf), (int)flags);
103103
if(im.empty() || !im.data){
104104
char *error_message = (char*)malloc(strlen("Can not load image") + 1);
105105
strcpy(error_message,"Can not load image");

tests/faceRecognizerDecode.phpt

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
--TEST--
2+
LBPHFaceRecognizer with Decode
3+
--SKIPIF--
4+
<?php if (!extension_loaded("opencv")) print "skip"; ?>
5+
--FILE--
6+
<?php
7+
use CV\Face\LBPHFaceRecognizer;
8+
use function CV\{imdecode, cvtColor, equalizeHist};
9+
use const CV\{COLOR_BGR2GRAY};
10+
11+
$faceRecognizer = LBPHFaceRecognizer::create();
12+
13+
//hihozhou
14+
$str = file_get_contents('./tests/face_recognizer.jpg');
15+
$src = imdecode($str);
16+
$gray = cvtColor($src, COLOR_BGR2GRAY);
17+
equalizeHist($gray, $gray);
18+
19+
$faceRecognizer->train([$gray], [1]);
20+
21+
//Obama
22+
$str = file_get_contents('./tests/Obama.png');
23+
$src = imdecode($str);
24+
$gray = cvtColor($src, COLOR_BGR2GRAY);
25+
equalizeHist($gray, $gray);
26+
27+
//Obama grey
28+
$faceRecognizer->train([$gray], [41]);
29+
30+
$str = file_get_contents('./tests/Obama_gray.png');
31+
$src = imdecode($str);
32+
$gray = cvtColor($src, COLOR_BGR2GRAY);
33+
equalizeHist($gray, $gray);
34+
35+
$faceLabel = $faceRecognizer->predict($gray, $faceConfidence);
36+
37+
$faceLabel = $faceRecognizer->predict($gray);
38+
39+
echo "{$faceLabel}";
40+
?>
41+
--EXPECT--
42+
41

0 commit comments

Comments
 (0)