Coder Social home page Coder Social logo

quarxconnect / php-opencv Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hihozhou/php-opencv

0.0 1.0 0.0 938 KB

PHP extensions for OpenCV

Home Page: https://phpopencv.org

License: Apache License 2.0

M4 0.96% JavaScript 0.83% PHP 5.60% C++ 81.23% C 10.59% Shell 0.65% Dockerfile 0.14%

php-opencv's Introduction

PHP-OPENCV - PHP extension for Opencv

Build Status Minimum PHP Version

Document

Requirements

  • OpenCV 4.0.0+
  • PHP7.0+

Installation

Use OpenCV docker(commendatory)

If you don't know how to install OpenCV, you can use my OpenCV docker image(only 300M, including opencv_contrib).

docker pull hihozhou/php-opencv

Compile and install php-opencv extension

git clone https://github.com/hihozhou/php-opencv.git
cd php-opencv
phpize
./configure --with-php-config=your php-config path
make
make install

Configure

php.ini

extension="your opencv.so path"

Example

LBPH face recognition

use CV\Face\LBPHFaceRecognizer;
//use ...;

$src = imread('facePic.jpg');
$gray = cvtColor($src, COLOR_BGR2GRAY);
equalizeHist($gray, $gray);
$faceRecognizer = LBPHFaceRecognizer::create();
/* ... */ //get $images and $labels for train
$faceRecognizer->train($images, $labels);//How to get $image and $labels, see the document
/* ... */ //Face detection using CascadeClassifier
$faceLabel = $faceRecognizer->predict($gray);
/* ... */ //draw face and name

result:

predict

Image Processing

//Obama.php
use function CV\{ imread, imshow, waitkey, namedWindow};

$im = imread('Obama.png');//load image
namedWindow('This is Obama id card',WINDOW_FULLSCREEN);//create window
imshow('This is Obama id card',$im);//show image on window

waitkey(0);

result:

Obama

Load image by gray

$gray = imread('Obama.png',IMREAD_GRAYSCALE);
//or
use  function CV\{ cvtColor};
$gray = cvtColor($im, COLOR_BGR2GRAY);

Obama_gray

You can draw something.
e.g:

use CV\{Mat,Scalar, Point, Size};
use function CV\{ellipse, imwrite, waitKey};
use const CV\{CV_8UC3};

$windowWidth = 600;
$thickness = 2;
$lineType = 8;
$matScalar = new Scalar(0,0,0);
$mat = new Mat($windowWidth, $windowWidth, CV_8UC3, $matScalar);
$point=new Point($windowWidth/2, $windowWidth/2);
$size=new Size($windowWidth/4, $windowWidth/16);
$scalar=new Scalar(255, 129, 0);
for($i = 0; $i <= 360; $i += 45){
    ellipse($mat,$point,$size,$i,0,360,$scalar,$thickness,$lineType);
}
imwrite('./tests/ellipse.png',$mat);

result:

ellipse

Features

  • 1.core
  • 2.imgproc
  • 3.highgui
  • 4.contrib
  • 5.features2d
  • 6.flann
  • 7.gpu
  • 8.calib3d
  • 9.legacy
  • 10.ml
  • 11.nonfree
  • 12.objdetect
  • 13.ocl
  • 14.photo
  • 15.stitching
  • 16.superres
  • 17.ts
  • 18.video
  • 19.Videostab

Contributors

This project exists thanks to all the people who contribute. [Contribute].

感谢

感谢韩天峰老大的指导,
感谢韩天峰老大的指导, 感谢盘古大叔php7-internal项目以及平常的指导, 感谢木桶技术升级交流群黑夜路人技术群、以及PHP内核交流的群友对技术的帮助。

php-opencv's People

Contributors

ankitpokhrel avatar hihozhou avatar morozovsk avatar tarasfrompir avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.