Ejemplo n.º 1
0
function unlockSampleToCrop()
{
    if (isset($_POST["sample"]) && is_numeric($_POST["sample"]) && $_POST["sample"] > 0) {
        $sample = AnnotationSample::find($_POST["sample"]);
        if ($sample->lock == 1) {
            $sample->lock = 0;
            $sample->save();
        }
    }
}
Ejemplo n.º 2
0
function recommendSampleClass()
{
    $response = ["success" => 0, "id" => 0, "msg" => "Unknown class", "image" => ""];
    if (isset($_POST["sample"]) && is_numeric($_POST["sample"]) && $_POST["sample"] > 0) {
        $sample = AnnotationSample::find($_POST["sample"]);
        if ($sample) {
            $client = new Client(["base_uri" => "http://alvaroarcos.co:8080/classify-ts/"]);
            $svm_class_id = intval($client->get("germany/" . $sample->image)->getBody()->getContents());
            if ($svm_class_id >= 0) {
                $class = TrafficSignClass::where('germany', $svm_class_id)->first();
                if ($class) {
                    $response = ["success" => 1, "id" => $class->id, "msg" => "Class predicted", "image" => $class->image];
                }
            }
        }
    }
    return json_encode($response);
}
Ejemplo n.º 3
0
<?php

require '../../computervision/config/common_require.php';
define("SAMPLES_PER_GROUP", 20);
if (isset($_POST["action"]) && $_POST["action"] == "loadClassificationResults" && isset($_POST["page"]) && is_numeric($_POST["page"])) {
    $samples_classification = AnnotationSample::where('class_id', '>', 0)->skip($_POST["page"] * SAMPLES_PER_GROUP)->take(SAMPLES_PER_GROUP)->with('_class')->get();
    echo json_encode($samples_classification);
    exit;
}
if (isset($_POST["action"]) && $_POST["action"] == "loadCroppedResults" && isset($_POST["page"]) && is_numeric($_POST["page"])) {
    $samples_cropped = AnnotationSample::whereNotNull('crop_x')->skip($_POST["page"] * SAMPLES_PER_GROUP)->take(SAMPLES_PER_GROUP)->get();
    echo json_encode($samples_cropped);
    exit;
}
$samples_classification = AnnotationSample::where('class_id', '>', 0)->get();
$samples_cropped = AnnotationSample::whereNotNull('crop_x')->get();
$total_groups_class = ceil($samples_classification->count() / SAMPLES_PER_GROUP);
$total_groups_crop = ceil($samples_cropped->count() / SAMPLES_PER_GROUP);
$title = "Annotation results";
include_once "include/header.inc.php";
?>
<div class="section">
    <div class="container">
        <div class="row">
            <div class="col s12">
                <div class="card-panel blue-grey darken-2">
                    <span class="white-text">Edit if there is any mistake.</span>
                </div>
            </div>
            <div class="col s12">
                <ul class="tabs z-depth-1">
Ejemplo n.º 4
0
if (isset($_POST["action"])) {
    switch ($_POST["action"]) {
        case "cropSample":
            echo processCropSample();
            break;
        case "loadNextSampleToCrop":
            echo loadNextSampleToCrop();
            break;
        case "unlockSampleToCrop":
            unlockSampleToCrop();
            break;
    }
    exit;
}
if (isset($_GET["id"]) && is_numeric($_GET["id"]) && $_GET["id"] > 0) {
    $sample = AnnotationSample::find($_GET["id"]);
}
//$samples = AnnotationSample::all();
//$samples = AnnotationSample::whereNull('crop_x')->get();
$title = "Cropper";
include_once "include/header.inc.php";
?>
<div class="section">
    <div class="container">
        <div class="row">
            <div class="col s2">
                <div class="center">
                    <!-- <a id="previous_crop_sample_btn" class="waves-effect waves-light btn-large orange"><i class="material-icons left">chevron_left</i></a>
                    <a id="next_crop_sample_btn" class="waves-effect waves-light btn-large orange"><i class="material-icons right">chevron_right</i></a>
                    <div class="clearfix" style="margin-top: 20px;"></div>-->
                    <a id="crop_sample_btn" data-sample="<?php