Help us understand the problem. What is going on with this article?

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

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パッケージを利用しても大丈夫かと思います。

https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.13/opencv-2.4.13.zip/download

ビルドの際の注意点としてビルド用のディレクトリ(名前は何でも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

sankosc
東京都中央区にある三幸システム株式会社です。PHP, Android, iOS, Windows, AWS, Lambdaなどで開発をしています。新しい技術、基本的な技術など共有していきます。
https://www.sankosc.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした