テスト部分
PHP は顔を使用して単純な顔認識システムを実装します
プロセス
プロセスは 2 つの部分に分けることができ、1 つはトレーニング、もう 1 つはテストです。
face++ が提供する API の使用方法については、http://blog.csdn.net/jianjian1992/article/details/46640483 を参照してください。
コードは http にあります。 ://download.csdn.net /detail/jianjian1992/8866839無料ダウンロード。
インターフェース
インターフェース
以下に示すように、初めて使用するため、使用方法が紹介されます。はい、多くのことがあまり明確ではありません。そのため、インターフェイスは使いやすさを第一の目標として比較的シンプルに作られています。
実装の詳細
index.html はウェルカムインターフェイスです。いくつかの小さな問題を記録します
中国語の使用
head部分に文字セットを追加してutf-8を使うだけです!
<meta http-equiv="Content-Type" content="text/html; charset = utf-8">
テキストの中央揃えと背景の設定
HTML の先頭にスタイルを追加して、本文の表示効果を設定します。
テキストの表示を中央に設定します。高さ、幅、マージン上、マージン左を使用して、ページ上で本文部分を表示する位置を設定します。
背景は画像URLで設定され中央に表示されます。
<style>body{ text-align:left; height:500px; width:600px; top:50%; margin-top:130px; margin-left:550px; background-image:url(./imgs/back.jpg); background-position:center; background-repeat:repeat-y;}</style>
ボタン ページ ジャンプ
onClick は、ジャンプするインターフェイスを記録するために位置を使用します。
<input type="button" value="点击进入测试" onclick="location='test.php' ">
トレーニング パート
には、2 つのパートが含まれます:
- startTrain.php はトレーニングディレクトリに入るために使用され、
- train.php はトレーニングデータをサーバーに転送し、トレーニング成功フラグを出力するために使用されます
startTrain.php
この部分は、php の選択フォルダーを確認しましたが、方法が見つかりませんでした。そのため、 を使用してディレクトリに入りました。
は、フォームを送信した後、実際のトレーニングのために train.php にジャンプします。

train.php
この部分は 2 つの関数を実装します:- 入力ディレクトリに従ってすべてのトレーニング画像を検索します。そして、すべての画像パスを記録します
- すべてのトレーニング画像から顔を 1 つずつ検出し、トレーニング モデルに顔を追加します
ディレクトリの検索
php でディレクトリ内のすべてのファイルを検索するのに非常に便利です。 listDir 関数は dir.php にあります。
この関数は、$dir ディレクトリ名に基づいて取得したすべてのファイル名を $names に格納し、すべてのファイル パス名を $img_urls に格納します。
注意すべき点は、中国語のファイル名である場合、結果を取得するには
$file = iconv("gb2312","UTF-8",$file);
php で文字列を検索するには、strstr 関数を使用できます。
たとえば、次の $file_name = strstr($file,'.',true) は、'.' の前の部分を検索します。 $file.If strstr($file,'.',false) の場合は、'.' の後ろの部分です。
動的配列を追加するには、array_push を使用するだけです。
ああ、リソースを閉じるのを忘れないでください。 opendir($dir) がある場合は、対応する closedir($dir) が存在する必要があります。
function listDir($dir, &$names, &$img_urls){ if(is_dir($dir)) { if ($dh = opendir($dir)) { while (($file = readdir($dh)) !== false) { if((is_dir($dir."/".$file)) && $file!="." && $file!="..") { //echo "文件名:",$file,"
"; listDir($dir."/".$file."/"); } else { $file = iconv("gb2312","UTF-8",$file); if($file!="." && $file!="..") { //var_dump($file); $file_name = strstr($file, '.', true); //echo $file_name."
"; array_push($names, $file_name); array_push($img_urls, $dir."/".$file); } } } closedir($dh); } }}
train.php で次のコードを使用して、トレーニング用のすべての画像の URL を取得します。
$img_url = array();$person_name = array();$trainDir = $_GET["trainDir"];listDir($trainDir, $person_name, $img_url);echo "从目录中我们得到了 ".sizeof($img_url)." 张图片".<br>;
$response = $facepp->execute('/group/delete', array('group_name' => 'oldpeople_qiaoxi'));$response = $facepp->execute('/group/create', array('group_name' => 'oldpeople_qiaoxi'));
$params['img'] = $img;$params['attribute'] = 'gender,age,race,smiling,glass,pose';$response = $facepp->execute('/detection/detect',$params);
$response = $facepp->execute('/person/delete', array('person_name' => $person_name[$i],'group_name' => 'oldpeople_qiaoxi'));$response = $facepp->execute('/person/create', array('person_name' => $person_name[$i],'group_name' => 'oldpeople_qiaoxi'));$response = $facepp->execute('/person/add_face', array('person_name' => $person_name[$i], 'face_id' => $face_id, 'group_name' => 'oldpeople_qiaoxi'));
$response = $facepp->execute('/train/identify', array('group_name' => 'oldpeople_qiaoxi'));
テスト部分
この部分には以下が含まれます2 つの部分:
- test.php はテスト画像の選択を担当します
- recognition.php はテスト画像を
test.php 部分
は次のように表示されます。
ファイル選択部分は とすると、フォームが認識.php に送信されます。
recognition.php セクション
まず画像の URL を取得します。
$img_url = $_GET["testImgPath"];
$response = $facepp->execute('/recognition/identify', array('group_name' => 'oldpeople_qiaoxi', 'img' => $img_url));
$person_name = array("ami" => "艾米", "dongjian" => "张东健", "xiaowang" => "小王");

版权声明:本文为博主原创文章,未经博主允许不得转载。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









多くのユーザーはスマートウォッチを選ぶときにファーウェイブランドを選択しますが、その中でもファーウェイ GT3pro と GT4 は非常に人気のある選択肢であり、多くのユーザーはファーウェイ GT3pro と GT4 の違いに興味を持っています。 Huawei GT3pro と GT4 の違いは何ですか? 1. 外観 GT4: 46mm と 41mm、材質はガラスミラー + ステンレススチールボディ + 高解像度ファイバーバックシェルです。 GT3pro: 46.6mm および 42.9mm、材質はサファイアガラス + チタンボディ/セラミックボディ + セラミックバックシェルです。 2. 健全な GT4: 最新の Huawei Truseen5.5+ アルゴリズムを使用すると、結果はより正確になります。 GT3pro: ECG 心電図と血管と安全性を追加

ファイルのサイズを取得するには、Java の File.length() 関数を使用します。ファイル操作を扱うとき、ファイル サイズは非常に一般的な要件です。Java では、ファイルのサイズを取得するための非常に便利な方法、つまり length( ) File クラスのメソッド。この記事では、このメソッドを使用してファイルのサイズを取得する方法と、対応するコード例を紹介します。まず、サイズを取得したいファイルを表す File オブジェクトを作成する必要があります。 File オブジェクトを作成する方法は次のとおりです: Filef

オープン ソースの詳細については、次のサイトを参照してください。 51CTO Honmeng 開発者コミュニティ https://ost.51cto.com 実行環境 DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. アプリケーションを作成するには、[ファイル] をクリックします。 >新しいファイル ->プロジェクトの作成。テンプレートを選択します: [OpenHarmony] EmptyAbility: プロジェクト名 shici、アプリケーション パッケージ名 com.nut.shici、およびアプリケーションの保存場所 XXX (中国語、特殊文字、スペースは含まれません) を入力します。 CompileSDK10、モデル: ステージ。デバイス

PHP BLOB をファイルに変換する方法: 1. PHP サンプル ファイルを作成します; 2. 「function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' })」を通じて} 」メソッドを使用して、Blob をファイルに変換できます。

Java の File.renameTo() 関数を使用してファイルの名前を変更する Java プログラミングでは、ファイルの名前を変更する必要がよくあります。 Java には、ファイル操作を処理するための File クラスが用意されており、その renameTo() 関数でファイルの名前を簡単に変更できます。この記事では、Java の File.renameTo() 関数を使用してファイルの名前を変更する方法と、対応するコード例を紹介します。 File.renameTo() 関数は、File クラスのメソッドです。

Windows 11 で Snipping Tool が機能しない理由 問題の根本原因を理解すると、適切な解決策を見つけるのに役立ちます。 Snipping Tool が正しく動作しない主な理由は次のとおりです。 フォーカス アシスタントがオンになっている: これにより、Snipping Tool が開かなくなります。破損したアプリケーション: 起動時にスニッピング ツールがクラッシュする場合は、破損している可能性があります。古いグラフィック ドライバー: 互換性のないドライバーは、スニッピング ツールに干渉する可能性があります。他のアプリケーションからの干渉: 実行中の他のアプリケーションが Snipping Tool と競合する可能性があります。証明書の有効期限が切れています: アップグレード プロセス中のエラーにより、この問題が発生する可能性があります。これらの簡単な解決策は、ほとんどのユーザーに適しており、特別な技術知識は必要ありません。 1. Windows および Microsoft Store アプリを更新する

ファイルの親パスを取得するには、Java の File.getParent() 関数を使用します Java プログラミングでは、ファイルやフォルダーを操作する必要がよくあります。場合によっては、ファイルの親パス、つまりファイルが存在するフォルダーのパスを取得する必要があることがあります。 Java の File クラスには、ファイルまたはフォルダーの親パスを取得する getParent() メソッドが用意されています。 File クラスは、ファイルとフォルダーを Java で抽象表現したもので、ファイルとフォルダーを操作するための一連のメソッドを提供します。その中で、手に入れてください

ファイルの親ディレクトリを取得するには、Java の File.getParentFile() 関数を使用します Java プログラミングでは、ファイルやフォルダーを操作する必要がよくあります。ファイルの親ディレクトリを取得する必要がある場合は、Java が提供する File.getParentFile() 関数を使用できます。この記事では、この関数の使用方法とコード例を説明します。 Java の File クラスは、ファイルやフォルダーを操作するために使用される主なクラスです。ファイルのプロパティを取得および操作するための多くのメソッドを提供します
