Falcon(Python)で画像分類(apple-orange)のWebAPIとPHPフロントエンド
諸事情により、Wordpressのドメインから、pythonのWEB APIサーバに画像を送り、結果をWordpressのドメインで受け取って表示をしたい!
そのためには、
(1)バックエンドとして、Facon(Python)で、画像を受け取って、画像分類の結果w返すWEB APIを構築
(2)フロントエンドとして、PHPで、画像をWebAPIに送って、結果を受け取って表示するページを構築
する必要がある。できるかな?
(環境)
Panasonic CF-RZ4
Windows 8.1 Pro
Anaconda 4.4.0
Python 3.5
PHP 5.6.23
(1)バックエンドの構築
FalconというPythonのWEB API作成用フレームワークを使用する。インストールなどは以下のリンクへ。
http://twosquirrel.mints.ne.jp/?p=20670
モデルの構築、学習などは、以下のリンクへ。
http://twosquirrel.mints.ne.jp/?p=19448
下記に、apple_orange_model.jsonと、apple_orange_weights.h5の作成方法を記載。
http://twosquirrel.mints.ne.jp/?p=20440
ということで、フォルダ構成は以下の通り。
falcon.predict.py を、以下のように記載して保存。
(2)フロントエンドの構築
Windowsのローカル環境でxamppを起動し、phpを用いる。
C:/xampp/htdocs/ の中に、index.html と、api.php を作成し、以下のコードをコピペ。
https://github.com/adash333/falcon_apple_orange/blob/master/index.html
api.php を変更してみる。
localhost で、index.html を開いて、適当な画像をアップロードしてsubmit
コマンドプロンプト
curl -X POST http://localhost:8000/debug -H "Content-Type: multipart/form-data" -F "file=@pikachu.jpg"
(3)おの、最後に、bool(true)が余計で非常に困った。
https://stackoverflow.com/questions/37811377/php-json-decode-returns-int1
curl_exec($ch) のせいで、最後にbool(true)がかえってきてしまうらしい。非常に困った。
https://qiita.com/kkyouhei/items/bc70a6974fb02f9a45f1
phpのcurlの結果はデフォルトで"出力"されるので注意
eiryu
2015年11月20日に更新
https://qiita.com/eiryu/items/bdcc91fee0f6e33f13d8
おおっ?
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
stdClass Object ?
2007-08-06
■[php]phpで、json_encodeした配列に、json_decodeするとオブジェクトで返って来てしまう
http://d.hatena.ne.jp/kasahi/20070806/1186419785
=> 第2引数にtrueを入れると、配列になるとのこと
配列の中身を取り出して表示する。
やっと、やりたかったことができそう。
phpのコードは以下に記載。
全体のコードは、以下のリンクへ
https://github.com/adash333/falcon_apple_orange
(参考)
フォームデータを送信する
https://developer.mozilla.org/ja/docs/Learn/HTML/Forms/Sending_and_retrieving_form_data
ディスカッション
コメント一覧
まだ、コメントがありません