ホームページ >バックエンド開発 >PHPチュートリアル >PHP 画像トリミング拡張機能 Tclip を MacOS にインストールする、_PHP チュートリアル
Tclip は画像のトリミングに使用され、次の機能があります:
顔認識を実行できます。写真に顔が含まれている場合、顔部分は自動的に重要な領域とみなされ、トリミングされません。
他の重要な領域を自動的に識別します。画像内に顔が認識されない場合は、特徴分布に基づいて濃い領域が計算されます。
要約すると、画像のトリミング時に、画像内の重要な領域が自動的に識別され、保持されます。
ソースコードアドレス: https://github.com/exinnet/tclip
opencvをインストールする
github の手順によると、CentOS へのインストールは問題ありませんが、私の MacOS ではハングします。
最初に発生する問題は、opencv をインストールできないことです。幸いなことに、最新の opencv-2.4.11 を github からダウンロードし、正常にインストールできました。
ダウンロードアドレス: https://github.com/Itseez/opencv/releases
最新バージョンのOpenCV 2.4.11を使用してください
依存関係をインストールする
opencv をインストールする前に、いくつかの依存関係パッケージをインストールします:
コードをコピーします コードは次のとおりです:
brew install gtk+ pkgconfig libpng zlib libjpeg libtiff cmake
ヒント: brew のインストールと使用については、http://brew.sh/
を参照してください。opencvをインストールする
opencv のインストールを開始します:
コードをコピーします コードは次のとおりです:
tar zxf opencv-2.4.11.tar.gz
cd opencv-2.4.11
cmakeCMakeLists.txt
作成&&作成インストール
php tclipをインストールします
まずダウンロード: https://github.com/exinnet/tclip/archive/master.zip
続いて:
コードをコピーします コードは次のとおりです:
tclip-master.zip を解凍します
cd tclip-master/php_ext
ぴぴせ
./configure
他に何も起こらなければ、この時点であなたは死んでいるはずです。
コードをコピーします コードは次のとおりです:
デフォルトのパスにある opencv.pc ファイルを確認しています.../usr/lib/pkgconfig にあります
/usr/local/lib/pkgconfig にあります
構成: エラー: pkg-config opencv --libs --cflags opencv の結果がありません
コメントでは、一部のネチズンも同様の問題に遭遇し、次の修正を提案しました:
config.m4の判定文test ${i:${#i}-3} = ".so"をtest ${i:${#i}-6} = ".dylib"に変更して、 46 行の .so の名前を .dylib に変更します
まだ結果なしエラーが表示されます~
コードをコピーします コードは次のとおりです:
-I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv _不自由- lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab
これは間違っていると感じたので、Linux のインストールが成功したサーバーにアクセスして実行したところ、次のような出力が得られました。
コードは次のとおりです:
-I/usr/local/include/opencv -I/usr/local/include /usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_contrib.so /usr/local/lib/libopencv_core.so /usr /local/lib/libopencv_features2d.so /usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so /usr/local/lib/libopencv_highgui.so /usr/local/lib/libopencv_imgproc.so /usr /local/lib/libopencv_legacy.so /usr/local/lib/libopencv_ml.so /usr/local/lib/libopencv_nonfree.so /usr/local/lib/libopencv_objdetect.so /usr/local/lib/libopencv_photo.so /usr /local/lib/libopencv_stitching.so /usr/local/lib/libopencv_ts.so /usr/local/lib/libopencv_video.so /usr/local/lib/libopencv_videostab.so
彼の判断コードをもう一度見てください:
コードは次のとおりです:
OPENCV_FLAGS="`pkg-config opencv --libs --cflags opencv`"
$OPENCV_FLAGS の私のために;そうしてください
if テスト ${i:0:2} = "-I" ;then
PHP_ADD_INCLUDE(${i:2})
elif テスト ${i:${#i}-3} = ".so" ;then
dir_name=`ディレクトリ名 $i`
file_name=${i/$dir_name/}
file_name=${file_name//lib/}
file_name=${file_name/.so/}
PHP_ADD_LIBRARY_WITH_PATH($file_name,$dir_name,TCLIP_SHARED_LIBADD)
それ以外
AC_MSG_ERROR([pkg-config opencv --libs --cflags opencv の結果がありません])
ふぃ
完了しました
Linux では出力はすべて特定の .so パスであり、MacOS ではすべて相対パスであり、config.m4 では特定のパスと拡張子に基づいて判断されることがすぐにわかりました。問題を理解すると、解決策は簡単です。 。
コードをコピーします コードは次のとおりです:
OPENCV_FLAGS="-I/usr/local/include/opencv -I/usr/local/include /usr/local/lib/libopencv_calib3d.dylib /usr/local/lib/libopencv_contrib.dylib /usr/local/lib/libopencv_core. dylib /usr/local/lib/libopencv_features2d.dylib /usr/local/lib/libopencv_flann.dylib /usr/local/lib/libopencv_gpu.dylib /usr/local/lib/libopencv_highgui.dylib /usr/local/lib/libopencv_imgproc dylib /usr/local/lib/libopencv_legacy.dylib /usr/local/lib/libopencv_ml.dylib /usr/local/lib/libopencv_nonfree.dylib /usr/local/lib/libopencv_objdetect.dylib /usr/local/lib/libopencv_photo. dylib /usr/local/lib/libopencv_stitching.dylib /usr/local/lib/libopencv_ts.dylib /usr/local/lib/libopencv_video.dylib /usr/local/lib/libopencv_videostab.dylib"
実行継続:
コードをコピーします コードは次のとおりです:
ぴぴせ
./configure
作る
インストールする
インストールは正常に完了しました。
以上がこの記事の全内容です。皆さんに気に入っていただければ幸いです。
この記事を友達と共有したり、コメントを残してください。皆様のご支援に心より感謝申し上げます。