140 lines
4.1 KiB
C#
140 lines
4.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace AgroBase.Models
|
|
{
|
|
class CameraModel
|
|
{
|
|
}
|
|
|
|
public class CameraCoordenadasModel
|
|
{
|
|
public List<CameraCoordenadasFrameModel> frames { get; set; }
|
|
}
|
|
|
|
public class CameraCoordenadasFrameModel
|
|
{
|
|
public double timestamp { get; set; }
|
|
public OAKCameraModel device_data { get; set; } = new OAKCameraModel();
|
|
public double x_max { get; set; }
|
|
public double y_max { get; set; }
|
|
public CameraCoordenadasObjetoModel[] objetos { get; set; } = new List<CameraCoordenadasObjetoModel>().ToArray();
|
|
|
|
public CameraCoordenadasFrameModel Clone()
|
|
{
|
|
return new CameraCoordenadasFrameModel()
|
|
{
|
|
timestamp = timestamp,
|
|
x_max = x_max,
|
|
y_max = y_max,
|
|
objetos = objetos.ToArray(),
|
|
device_data = device_data?.Clone()
|
|
};
|
|
}
|
|
}
|
|
|
|
public class CameraCoordenadasObjetoModel
|
|
{
|
|
public int id { get; set; }
|
|
public string descricao { get; set; }
|
|
public int x { get; set; }
|
|
public int y { get; set; }
|
|
public int altura { get; set; }
|
|
public int largura { get; set; }
|
|
public double confianca { get; set; }
|
|
}
|
|
|
|
public class CameraAnguloModel
|
|
{
|
|
public double timestamp { get; set; }
|
|
public double angulo { get; set; }
|
|
public int distancia_esquerda { get; set; }
|
|
public int distancia_direita { get; set; }
|
|
}
|
|
|
|
public class CameraDeepLabV3PlusModel
|
|
{
|
|
public double timestamp { get; set; }
|
|
public OAKCameraModel device_data { get; set; }
|
|
public double x_max { get; set; }
|
|
public double y_max { get; set; }
|
|
public OAKDLiteSubdivisoesModel subdivisoes { get; set; }
|
|
public List<List<int>> depth_data { get; set; } = new List<List<int>>();
|
|
public List<CameraDeepLabV3PlusClasseModel> Classes { get; set; } = new List<CameraDeepLabV3PlusClasseModel>();
|
|
|
|
public CameraDeepLabV3PlusModel Clone()
|
|
{
|
|
return new CameraDeepLabV3PlusModel()
|
|
{
|
|
timestamp = timestamp,
|
|
device_data = device_data?.Clone(),
|
|
x_max = x_max,
|
|
y_max = y_max,
|
|
depth_data = new List<List<int>>(depth_data),
|
|
Classes = new List<CameraDeepLabV3PlusClasseModel>(Classes),
|
|
subdivisoes = subdivisoes?.Clone()
|
|
};
|
|
}
|
|
}
|
|
|
|
public class OAKDLiteSubdivisoesModel
|
|
{
|
|
public int x_max { get; set; }
|
|
public int y_max { get; set; }
|
|
|
|
public SubdivisaoModel subdivisoes_cima { get; set; }
|
|
public SubdivisaoModel subdivisoes_chao { get; set; }
|
|
|
|
public OAKDLiteSubdivisoesModel Clone()
|
|
{
|
|
return new OAKDLiteSubdivisoesModel()
|
|
{
|
|
x_max = x_max,
|
|
y_max = y_max,
|
|
subdivisoes_chao = subdivisoes_chao?.Clone(),
|
|
subdivisoes_cima = subdivisoes_cima?.Clone()
|
|
};
|
|
}
|
|
}
|
|
|
|
public class SubdivisaoModel
|
|
{
|
|
public int num_linhas { get; set; }
|
|
public int num_colunas { get; set; }
|
|
public List<CelulaModel> celulas { get; set; }
|
|
|
|
public SubdivisaoModel Clone()
|
|
{
|
|
return new SubdivisaoModel()
|
|
{
|
|
num_linhas = num_linhas,
|
|
num_colunas = num_colunas,
|
|
celulas = new List<CelulaModel>(celulas)
|
|
};
|
|
}
|
|
}
|
|
|
|
public class CelulaModel
|
|
{
|
|
public int linha { get; set; }
|
|
public int coluna { get; set; }
|
|
|
|
public int x { get; set; }
|
|
public int y { get; set; }
|
|
|
|
public int largura { get; set; }
|
|
public int altura { get; set; }
|
|
|
|
public double profundidade_media { get; set; }
|
|
public double profundidade_calibragem { get; set; }
|
|
}
|
|
|
|
public class CameraDeepLabV3PlusClasseModel
|
|
{
|
|
public string Classe { get; set; }
|
|
public int[][] Contornos { get; set; }
|
|
}
|
|
|
|
}
|