Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hihozhou/php-opencv
PHP extensions for OpenCV
https://github.com/hihozhou/php-opencv
computer-vision face-detection face-recognition opencv php-extension php-facedetect php-opencv php7 phpopencv
Last synced: 23 days ago
JSON representation
PHP extensions for OpenCV
- Host: GitHub
- URL: https://github.com/hihozhou/php-opencv
- Owner: hihozhou
- License: apache-2.0
- Created: 2017-03-11T03:05:22.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-05-23T00:53:34.000Z (over 4 years ago)
- Last Synced: 2024-09-29T19:40:41.957Z (about 1 month ago)
- Topics: computer-vision, face-detection, face-recognition, opencv, php-extension, php-facedetect, php-opencv, php7, phpopencv
- Language: C++
- Homepage: https://phpopencv.org
- Size: 910 KB
- Stars: 571
- Watchers: 32
- Forks: 98
- Open Issues: 33
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-php-extensions - php-opencv - opencv 客户端 (图片处理)
README
# PHP-OPENCV - PHP extension for Opencv
[![Build Status](https://travis-ci.org/hihozhou/php-opencv.svg?branch=master)](https://travis-ci.org/hihozhou/php-opencv) [![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%207.0-8892BF.svg)](https://php.net/)
> **⚠️⚠️ NO LONGER IN ACTIVE DEVELOPMENT | 项目不再维护 ⚠️⚠️**
>Due to personal scheduling reasons, the project has been suspended for maintenance and it is hoped that the project code will provide useful value.## Document
- [PHP OpenCV Document](https://doc.phpopencv.org)## 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).
```bash
docker pull hihozhou/php-opencv
```### Compile and install php-opencv extension
```bash
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
```php
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](tests/face_recognizer.jpg)
### Image Processing
```php
//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 windowwaitkey(0);
```
result:
![Obama](tests/Obama.png)
Load image by gray
```php
$gray = imread('Obama.png',IMREAD_GRAYSCALE);
//or
use function CV\{ cvtColor};
$gray = cvtColor($im, COLOR_BGR2GRAY);```
![Obama_gray](tests/Obama_gray.png)
You can draw something.
e.g:```php
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](tests/ellipse.png)
## Features
- [x] 1.[core](http://phpopencv.org/zh-cn/docs/mat.html)
- [x] 2.[imgproc](http://phpopencv.org/zh-cn/docs/gausian_median_blur_bilateral_filter.html)
- [x] 3.highgui
- [ ] 4.contrib
- [ ] 5.features2d
- [ ] 6.flann
- [ ] 7.gpu
- [ ] 8.calib3d
- [ ] 9.legacy
- [x] 10.ml
- [ ] 11.nonfree
- [x] 12.objdetect
- [ ] 13.ocl
- [ ] 14.photo
- [ ] 15.stitching
- [ ] 16.superres
- [ ] 17.ts
- [x] 18.video
- [ ] 19.Videostab## Contributors
This project exists thanks to all the people who contribute. [[Contribute](https://github.com/hihozhou/php-opencv/graphs/contributors)].
## 感谢感谢[韩天峰](https://github.com/matyhtf)老大的指导,
感谢[韩天峰](https://github.com/matyhtf)老大的指导,
感谢[盘古大叔](https://github.com/pangudashu)的[php7-internal](https://github.com/pangudashu/php7-internal)项目以及平常的指导,
感谢`木桶技术升级交流群`和`黑夜路人技术群`、以及`PHP内核交流`的群友对技术的帮助。