41 lines
1.4 KiB
C#
41 lines
1.4 KiB
C#
using System;
|
|
using System.Net.Http;
|
|
using System.Threading.Tasks;
|
|
using OpenCvSharp;
|
|
|
|
namespace AIParkingApplication
|
|
{
|
|
public class EngineApiController
|
|
{
|
|
private HttpClient httpClientEngine;
|
|
|
|
public EngineApiController(string engineBaseAddress)
|
|
{
|
|
httpClientEngine = new HttpClient { BaseAddress = new Uri(engineBaseAddress), Timeout = TimeSpan.FromMilliseconds(5000) };
|
|
}
|
|
|
|
public async Task<OcrResult> SendEngineRequestAsync(Mat plateImage, PlateType plateType)
|
|
{
|
|
string plateImageBase64 = Convert.ToBase64String(plateImage.ToBytes());
|
|
try
|
|
{
|
|
var request = new PlateRequestEngineModel
|
|
{
|
|
Img64 = plateImageBase64,
|
|
Mode = plateType == PlateType.Square ? "square" : "long",
|
|
Display = "full"
|
|
};
|
|
HttpResponseMessage response = await httpClientEngine.PostAsJsonAsync("/get-from-frame", request);
|
|
response.EnsureSuccessStatusCode();
|
|
var ocrResult = await response.Content.ReadAsAsync<OcrResult>();
|
|
return ocrResult;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Console.WriteLine($"SendEngineRequest : {ex.Message}");
|
|
return new OcrResult();
|
|
}
|
|
}
|
|
}
|
|
}
|