2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

PHPでOpenCVを使うまで(OpenCV-for-PHP)

Last updated at Posted at 2020-08-21

PHPでOpenCVを利用する方法はいくつかあるようですが
OpenCV-for-PHPを利用する方法を紹介します。

[mgdm/OpenCV-forPHP]
https://github.com/mgdm/OpenCV-for-PHP

注意:
OpenCV-for-PHPはOpenCVの全ての関数がラップされていないので
利用したいOpenCVの関数が準備されていない場合、ご自身でOpenCV-for-PHP
ソースコードの改修・ビルドが必要になります。

インストール前準備

インストールに必要なミドルウェアとバージョン
OpenCV 2.4.13
PHP5.2

動作確認できたOS
CentOS5
CentOS7

OpenCV2.4 インストール

OpenCVのビルドにgccとcmakeが必要なためそれぞれインストールします。
cmakeは、ソースコードcmake-2.8.12.1.tar.gzをダウンロードしてきて
ビルドしました。rpmパッケージがあればそちらを利用しても大丈夫と思います。

gccインストール
yum install gcc44 gcc44-c++
cmakeインストール
cd /usr/local/src
tar xzvf cmake-2.8.12.1.tar.gz
cd cmake-2.8.12.1
.configure
make
make install
opencvインストール

OpenCV2.1以降が要求されますが、2.4以降に実装されている機能を利用したいため
OpenCV2.4.13をダウンロードしました。
こちらもrpmパッケージを利用しても大丈夫かと思います。

ビルドの際の注意点としてビルド用のディレクトリ(名前は何でもOK、手順ではbuildディレクトリ)を作成する必要があります。

cd /usr/local/src
unzip opencv-2.4.13.zip
cd opencv-2.4.13
mkdir build
cd build
cmake -D BUILD_EXAMPLES=YES -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv -D BUILD_NEW_PYTHON_SUPPORT=NO -D WITH_1394=OFF -D CMAKE_C_COMPILER=gcc44 -D CMAKE_CXX_COMPILER=g++44 ../
make
make install

ライブラリ及びパッケージ登録

cd /etc/ld.so.conf.d
vi opencv.conf
opencv.conf
/usr/local/opencv/lib
ldconfig
cd /usr/lib/pkgconfig
ln -s /usr/local/opencv/lib/pkgconfig/opencv.pc .

PHP5.4インストール

OpenCV-for-PHPのビルド時に
PHP5.2以降を要求されますが、こちらの環境の都合上5.4をインストール
しました。

CentOS5の場合の手順になりますが、CentOS7の場合もyumレポジトリの追加以外は
ほぼ同様になります。

インストール済みのPHPを削除

# yum remove php php-*

PHP5.4のインストール
(利用するパッケージは環境に応じて選択してください。)

rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-5.rpm  
yum --enablerepo=epel install libedit
yum --enablerepo=epel install t1lib
yum install --enablerepo=remi php php-pdo php-cli php-bcmath php-mbstring php-devel php-common php-mysql php-ldap php-gd
yum install --enablerepo=remi php-mcrypt php-pear

php.ini設定
date.timezone、mbstringの文字コード等設定を行います。

OpenCV-for-PHPのインストール

gitインストール

yum install --enablerepo=epel git

OpenCV-for-PHPのビルド

cd /usr/local/src
git clone git://github.com/mgdm/OpenCV-for-PHP.git
cd OpenCV-for-PHP
phpize
.configure
make install
vi /etc/php.d/opencv.ini
opencv.ini
extension=opencv.so

php -mでopencvが存在することを確認します。

php -m
[PHP Modules]
..略..
opencv
..略..

以上になります。

使い方は、OpenCV-for-PHP(https://github.com/mgdm/OpenCV-for-PHP)
内のexampleが参考になります。

全てのOpenCV関数が揃ってるわけではないため

OpenCVのリファレンスを参照して
https://docs.opencv.org/2.4/modules/refman.html

OpenCV-for-PHPのソースコード改修を行います。


参考情報
https://qiita.com/Kogarasi/items/8c5e58821374cd7f332b

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?