update face comparison
This commit is contained in:
parent
1817771d88
commit
982db2b6c8
23
assets/FaceComparisonAsset.php
Normal file
23
assets/FaceComparisonAsset.php
Normal file
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
namespace app\assets;
|
||||
|
||||
use yii\web\AssetBundle;
|
||||
|
||||
class FaceComparisonAsset extends AssetBundle {
|
||||
|
||||
public $basePath = '@webroot';
|
||||
public $baseUrl = '@web';
|
||||
public $css = [
|
||||
];
|
||||
public $js = [
|
||||
'js/face-comparison.js'
|
||||
];
|
||||
public $depends = [
|
||||
'yii\web\YiiAsset',
|
||||
'app\assets\AppAsset',
|
||||
'yii\jui\JuiAsset',
|
||||
'yii\bootstrap\BootstrapAsset',
|
||||
];
|
||||
|
||||
}
|
|
@ -149,6 +149,7 @@ class ApiController extends Controller {
|
|||
}
|
||||
$allFeatures[] = [
|
||||
"id" => $value->id,
|
||||
"object_id" => $value->staff_id,
|
||||
"name" => $this->convert_vi_to_en($value->name),
|
||||
"feature1" => $feature1,
|
||||
"feature2" => $feature2
|
||||
|
|
|
@ -120,6 +120,7 @@ class ControlLogsController extends Controller {
|
|||
common::updateFeature([
|
||||
"cmd" => "update",
|
||||
"id" => $listManagement->id,
|
||||
"object_id" => $listManagement->staff_id,
|
||||
"name" => common::convert_vi_to_en($listManagement->name),
|
||||
"features" => $listManagement->allFeatures
|
||||
]);
|
||||
|
|
|
@ -175,6 +175,7 @@ class ListManagementController extends Controller {
|
|||
common::updateFeature([
|
||||
"cmd" => "update",
|
||||
"id" => $listManagement->id,
|
||||
"object_id" => $listManagement->staff_id,
|
||||
"name" => common::convert_vi_to_en($listManagement->name),
|
||||
"features" => $listManagement->allFeatures
|
||||
]);
|
||||
|
@ -282,6 +283,7 @@ class ListManagementController extends Controller {
|
|||
common::updateFeature([
|
||||
"cmd" => "update",
|
||||
"id" => $model->id,
|
||||
"object_id" => $model->staff_id,
|
||||
"name" => common::convert_vi_to_en($model->name),
|
||||
"features" => $model->allFeatures
|
||||
]);
|
||||
|
@ -300,6 +302,7 @@ class ListManagementController extends Controller {
|
|||
common::updateFeature([
|
||||
"cmd" => "delete",
|
||||
"id" => $model->id,
|
||||
"object_id" => $model->staff_id,
|
||||
"name" => common::convert_vi_to_en($model->name),
|
||||
"features" => []
|
||||
]);
|
||||
|
@ -326,6 +329,7 @@ class ListManagementController extends Controller {
|
|||
common::updateFeature([
|
||||
"cmd" => "update",
|
||||
"id" => $model->id,
|
||||
"object_id" => $model->staff_id,
|
||||
"name" => common::convert_vi_to_en($model->name),
|
||||
"features" => $model->allFeatures
|
||||
]);
|
||||
|
@ -356,6 +360,7 @@ class ListManagementController extends Controller {
|
|||
common::updateFeature([
|
||||
"cmd" => "delete",
|
||||
"id" => $staff->id,
|
||||
"object_id" => $staff->staff_id,
|
||||
"name" => common::convert_vi_to_en($staff->name),
|
||||
"features" => []
|
||||
]);
|
||||
|
@ -565,6 +570,7 @@ class ListManagementController extends Controller {
|
|||
common::updateFeature([
|
||||
"cmd" => "update",
|
||||
"id" => $model->id,
|
||||
"object_id" => $model->staff_id,
|
||||
"name" => common::convert_vi_to_en($model->name),
|
||||
"features" => $model->allFeatures
|
||||
]);
|
||||
|
@ -597,6 +603,7 @@ class ListManagementController extends Controller {
|
|||
common::updateFeature([
|
||||
"cmd" => "create",
|
||||
"id" => $model->id,
|
||||
"object_id" => $model->staff_id,
|
||||
"name" => common::convert_vi_to_en($model->name),
|
||||
"features" => $model->allFeatures
|
||||
]);
|
||||
|
@ -653,6 +660,7 @@ class ListManagementController extends Controller {
|
|||
common::updateFeature([
|
||||
"cmd" => "update",
|
||||
"id" => $model->id,
|
||||
"object_id" => $model->staff_id,
|
||||
"name" => common::convert_vi_to_en($model->name),
|
||||
"features" => $model->allFeatures
|
||||
]);
|
||||
|
@ -673,6 +681,7 @@ class ListManagementController extends Controller {
|
|||
common::updateFeature([
|
||||
"cmd" => "create",
|
||||
"id" => $model->id,
|
||||
"object_id" => $model->staff_id,
|
||||
"name" => common::convert_vi_to_en($model->name),
|
||||
"features" => $model->allFeatures
|
||||
]);
|
||||
|
@ -918,4 +927,39 @@ class ListManagementController extends Controller {
|
|||
}
|
||||
}
|
||||
|
||||
public function actionFaceComparison() {
|
||||
if (Yii::$app->request->post()) {
|
||||
$post = Yii::$app->request->post();
|
||||
Yii::$app->response->format = "json";
|
||||
$results = json_decode(file_get_contents("http://192.168.1.43:2305/compare", false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode([
|
||||
"type" => "base64",
|
||||
"img0" => base64_encode(file_get_contents("/var/www/html/BiFace_Server_Lite/web" . $post['face1'])),
|
||||
"img1" => base64_encode(file_get_contents("/var/www/html/BiFace_Server_Lite/web" . $post['face2']))
|
||||
])
|
||||
]
|
||||
])), true);
|
||||
return [
|
||||
"type1" => number_format($results['type1']['percent'] * 100, 2),
|
||||
"type2" => number_format($results['type2']['percent'] * 100, 2)
|
||||
];
|
||||
} else {
|
||||
$this->view->title = Yii::t("app", "SO_SANH_MAT");
|
||||
return $this->render('face-comparison', [
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function actionUploadFace() {
|
||||
if (Yii::$app->request->post()) {
|
||||
$post = Yii::$app->request->post();
|
||||
$model = new \app\models\UploadForm();
|
||||
$url = $model->UploadGlobal("image" . $post['imageIndex'], ["PNG", "JPG", "JPEG", "GIF"], "comparison");
|
||||
return $url;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -156,5 +156,6 @@ return [
|
|||
"SUA_LICH_TRINH" => "Edit schedule",
|
||||
"AP_DUNG_CHO_TAT_CA_DOI_TUONG_DA_CHON" => "Apply to all selected objects",
|
||||
"XOA_LICH_TRINH" => "Delete schedule",
|
||||
"BAN_CO_CHAC_CHAN_MUON_XOA_LICH_TRINH_NAY_KHONG" => "Are you sure you want to delete this schedule?"
|
||||
"BAN_CO_CHAC_CHAN_MUON_XOA_LICH_TRINH_NAY_KHONG" => "Are you sure you want to delete this schedule?",
|
||||
"SO_SANH_MAT" => "Face comparison"
|
||||
];
|
||||
|
|
|
@ -156,5 +156,6 @@ return [
|
|||
"SUA_LICH_TRINH" => "スケジュールを編集",
|
||||
"AP_DUNG_CHO_TAT_CA_DOI_TUONG_DA_CHON" => "選択したすべてのオブジェクトに適用",
|
||||
"XOA_LICH_TRINH" => "スケジュールを削除",
|
||||
"BAN_CO_CHAC_CHAN_MUON_XOA_LICH_TRINH_NAY_KHONG" => "このスケジュールを削除してもよろしいですか?"
|
||||
"BAN_CO_CHAC_CHAN_MUON_XOA_LICH_TRINH_NAY_KHONG" => "このスケジュールを削除してもよろしいですか?",
|
||||
"SO_SANH_MAT" => "顔比較"
|
||||
];
|
||||
|
|
|
@ -156,5 +156,6 @@ return [
|
|||
"SUA_LICH_TRINH" => "Sửa lịch trình",
|
||||
"AP_DUNG_CHO_TAT_CA_DOI_TUONG_DA_CHON" => "Áp dụng cho tất cả đối tượng đã chọn",
|
||||
"XOA_LICH_TRINH" => "Xóa lịch trình",
|
||||
"BAN_CO_CHAC_CHAN_MUON_XOA_LICH_TRINH_NAY_KHONG" => "Bạn có chắc chắn muốn xóa lịch trình này không?"
|
||||
"BAN_CO_CHAC_CHAN_MUON_XOA_LICH_TRINH_NAY_KHONG" => "Bạn có chắc chắn muốn xóa lịch trình này không?",
|
||||
"SO_SANH_MAT" => "So sánh mặt"
|
||||
];
|
||||
|
|
27
views/list-management/face-comparison.tpl
Normal file
27
views/list-management/face-comparison.tpl
Normal file
|
@ -0,0 +1,27 @@
|
|||
{extends file=$smarty.current_dir|cat:'/../extends.tpl'}
|
||||
{use class="yii\helpers\Url"}
|
||||
{use class="app\assets\FaceComparisonAsset"}
|
||||
{FaceComparisonAsset::register($this)|void}
|
||||
{block name='content'}<br>
|
||||
<input type="hidden" name="url_upload_face" value="{Url::to(['/list-management/upload-face'])}">
|
||||
<input type="hidden" name="url_face_comparison" value="{Url::to(['/list-management/face-comparison'])}">
|
||||
<div class="row">
|
||||
<div class="col-md-3 col-md-push-2 text-center">
|
||||
<img src="/images/user2-160x160.jpg" class="img-thumbnail" id="face1" style="width: 70%;cursor: pointer;" onclick="$('#image1').trigger('click');">
|
||||
<div class="hidden">
|
||||
<input type="file" name="image1" id="image1">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-2 col-md-push-2 text-center">
|
||||
<div style="padding-top: 100px;">
|
||||
<b class="text-red" style="font-size: 40px;" id="percent">0.00%</b>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 col-md-push-2 text-center">
|
||||
<img src="/images/user2-160x160.jpg" class="img-thumbnail" id="face2" style="width: 70%;cursor: pointer;" onclick="$('#image2').trigger('click');">
|
||||
<div class="hidden">
|
||||
<input type="file" name="image2" id="image2">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
|
@ -124,6 +124,9 @@
|
|||
])}
|
||||
</div>
|
||||
<div class="col-md-2" style="padding-right: 30px;">
|
||||
<div class="pull-right" style="margin-top: 10px;">
|
||||
<a class="btn btn-primary btn-xs" href="{Url::to(['/list-management/face-comparison'])}">{Yii::t("app", "SO_SANH_MAT")}</a>
|
||||
</div>
|
||||
<h4>{Yii::t("app", "TIM_KIEM_DU_LIEU")}</h4>
|
||||
{*<div class="form-group">
|
||||
<label class="control-label">Từ</label>
|
||||
|
|
53
web/js/face-comparison.js
Normal file
53
web/js/face-comparison.js
Normal file
|
@ -0,0 +1,53 @@
|
|||
$(function () {
|
||||
btnFace("1");
|
||||
btnFace("2");
|
||||
});
|
||||
|
||||
function btnFace(imageIndex) {
|
||||
var fData = {
|
||||
UploadImage: true,
|
||||
imageIndex: imageIndex
|
||||
};
|
||||
fData[common.csrfParam] = common.csrf;
|
||||
new afuButton({
|
||||
uploadURI: $("input[name='url_upload_face']").val(),
|
||||
formData: fData,
|
||||
wrap: {
|
||||
tagName: 'div',
|
||||
classes: ''
|
||||
},
|
||||
fileExtension: '.png,.jpg,.jpeg,.gif',
|
||||
fileSizeLimit: 1,
|
||||
classes: 'btn btn-default',
|
||||
fakeInputContent: '<span class=\'fa fa-file-image-o\'></span> Chọn hình ảnh',
|
||||
onUploaded: function (data) {
|
||||
$("#face" + imageIndex).attr("src", "/data/uploads" + data);
|
||||
common.uploadBlock(false);
|
||||
compareFace();
|
||||
}
|
||||
}).addInstance('image' + imageIndex);
|
||||
}
|
||||
|
||||
function compareFace() {
|
||||
var face1 = $("#face1").attr("src");
|
||||
var face2 = $("#face2").attr("src");
|
||||
if (face1 == "/images/user2-160x160.jpg" || face2 == "/images/user2-160x160.jpg")
|
||||
return;
|
||||
common.modalBlock(true);
|
||||
$.ajax({
|
||||
url: $("input[name='url_face_comparison']").val(),
|
||||
type: 'POST',
|
||||
data: {
|
||||
face1: face1,
|
||||
face2: face2
|
||||
},
|
||||
success: function (data) {
|
||||
common.modalBlock(false);
|
||||
$("#percent").html(data.type1 + "%<br>[" + data.type2 + "%]");
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
common.modalBlock(false);
|
||||
common.ajaxError();
|
||||
}
|
||||
});
|
||||
}
|
Loading…
Reference in New Issue
Block a user