Show more
Read more
View product
View report
Drag


Carmen® FreeFlow is a cutting-edge je inovatívny engine na rozpoznávanie evidenčných tabuliek a softvérová vývojová súprava (SDK). Umožňuje vývojárom integrovať world-class automatic license plate recognition (ANPR/LPR) do svojich aplikácií špičkové automatické rozpoznávanie evidenčných tabuliek (ANPR/LPR) a rozpoznávanie značky, modelu, farby a kategórie vozidla (MMR). Priemyselný štandard – engine Carmen® – poskytuje mimoriadnu presnosť, pričom dosahuje viac ako 95 % úspešnosť rozpoznania aj pri nekvalitných obrazoch.
Toto univerzálne riešenie rozpoznáva evidenčné tabuľky z viac ako 160 krajín, čo z neho robí ideálnu voľbu pre globálne aplikácie.

Carmen® FreeFlow je dôveryhodnou voľbou pre projekty, ktoré vyžadujú mimoriadnu presnosť. S reálnou presnosťou na úrovni 95 % až 99 % pri rôznych typoch tabuliek zabezpečuje Carmen® FreeFlow spoľahlivé rozpoznávanie aj v náročných podmienkach.
Vďaka podpore viac ako 60,000 typov tabuliek zo 160+ krajín and a rôznych abecied— vrátane latinky, arabčiny, cyriliky, thajčiny a ďalších — ponúka Carmen® FreeFlow výnimočný globálny dosah. Predstavuje špičkovú voľbu pre vysokokvalitné ANPR/LPR, používanú v regiónoch od Brazílie po Japonsko, od Severnej Ameriky po Európu a od Blízkeho východu po Áziu a Pacifik. Integrujte ho raz a získajte výkon vysokokvalitného ANPR — kdekoľvek na svete.

Carmen® FreeFlow nie je univerzálne riešenie pre každého; ide o všestranný ANPR engine navrhnutý tak, aby sa prispôsobil konkrétnym potrebám. Umožňuje bezproblémovú integráciu vysoko presného rozpoznávania evidenčných tabuliek, ako aj voliteľného rozpoznávania značky a modelu vozidla (MMR), nebezpečných látok (HazMat) a IMO kódov. Táto flexibilita podporuje širokú škálu aplikácií, vrátane monitorovania premávky, bezpečnostných systémov, diaľničného mýta a kontrolovaných vstupov.
Carmen® FreeFlow je navrhnutý pre škálovateľnosť a ponúka flexibilné možnosti licencií, ktoré zodpovedajú veľkosti a spracovateľským požiadavkám projektu. Jeho výnimočná presnosť, aj pri menej ideálnych obrazoch, prináša nízku mieru falošných pozitív, čo je ideálne pre mýtne systémy a kontrolu rýchlosti. Engine pracuje bez problémov na platformách Windows aj Linux.

Používané vo viac než 100 000 systémoch po celom svete.

Celosvetové rozpoznávanie evidenčných tabuliek, značky, modelu a farby vozidla s jedinou integráciou.

Štyri aktualizácie vydané každý rok.

Od malých cez stredné až po veľké a zložité systémy.

SDK podporuje oba typy vstupov.

Funguje na systémoch Windows a Linux.
Carmen® FreeFlow podporuje rozpoznávanie evidenčných tabuliek pre viac než 160 krajín, pokrývajúcich viac ako 38 000 typov tabuliek. Pre informácie o podpore konkrétnej krajiny prosím kontaktujte náš tím.
Áno, Carmen® FreeFlow dokáže spracovávať statické obrázky aj video streamy.
Áno, náš softvér môžete vyskúšať bezplatne prostredníctvom nášho licenčného modelu založeného na predplatnom.
Náš SDK je dostupný buď ako doživotná licencia, alebo ako licencia založená na predplatnom.
Áno, náš SDK je možné používať v rámci licenčného modelu založeného na predplatnom, ktorý je dostupný aj bez hardvérového kľúča.
Aktualizácie engine-u vydávame štyrikrát ročne.
Áno, náš Carmen® SDK podporuje architektúry x86-64, ARM32 a ARM64.
Všestrannosť Carmen FreeFlow ho predurčuje na širokú škálu aplikácií na monitorovanie dopravy. Tu je len niekoľko z tých najčastejších použití:
#include "gxsdldr.c" #include "cmanpr.h" // If an error occurred it displays the error and terminates the program void term_if_err(int st) { int err_code; wchar_t err_str[256]; if(st) return; // No error occurred // Displays error code and description err_str[(sizeof(err_str)/sizeof(wchar_t))-1] = 0; gx_geterror(&err_code, err_str, (sizeof(err_str)/sizeof(wchar_t))-1); fprintf(stderr, "GX error (%x) occurred: %ls\n", err_code, err_str); // Terminates the program exit(1); } int main(void) { struct gxHANDLE anprhandle, imagehandle; struct gxIMAGE *image; struct cmNP *anprresult; int st; // Opens the ANPR module with EUR region st = gx_openmodule(&anprhandle, L"cmanpr", L"eur"); term_if_err(st); // Opens the image module, allocates the image structure and load the image st = gx_openmodule(&imagehandle, L"gximage", L"default"); term_if_err(st); st = gx_allocimage(imagehandle, &image); term_if_err(st); st = gx_loadimage(imagehandle, image, L"image.jpg", GX_UNDEF); term_if_err(st); // Finds the first license plate anprresult = 0; st = cm_findfirst(anprhandle, image, &anprresult); term_if_err(st); if(anprresult) { char countryCode[256]=""; // Get short country code st = cm_getcountrycode(anprhandle,anprresult->type,(int)CCT_COUNTRY_SHORT,countryCode,sizeof(countryCode)); term_if_err(st); // Displays the result, country code and type printf("Plate text: %s\n", anprresult->text); printf("Country code: %s\n", countryCode[0] ? countryCode : "No plate type"); printf("Type: %i\n", anprresult->type); // Frees up the result st = gx_globalfree(anprresult); term_if_err(st); } else { printf("No license plate found\n"); } // Frees up the resources st = gx_unrefimage(imagehandle, image); term_if_err(st); st = gx_unrefhandle(&imagehandle); term_if_err(st); st = gx_unrefhandle(&anprhandle); term_if_err(st); return 0; }
#include "gxsdldr.cpp" #include "cmanpr.h" int main() { try { // Creates the ANPR object with EUR region cm::cmAnpr anpr("eur"); // Creates the image object and load the image gxImage image; image.Load("image.jpg"); // Finds the first license plate if(anpr.FindFirst(image)) { // Get short country code gxOutStr countryCode = anpr.GetCountryCode(anpr.GetType(),(int)cm::CCT_COUNTRY_SHORT); std::wstring wCountryCode = countryCode.empty() ? L"No plate type" : countryCode; // Displays the result, country code and type std::wcout << L"Plate text: " << anpr.GetText() << std::endl; std::wcout << L"Country code: " << wCountryCode << std::endl; std::wcout << L"Type: " << anpr.GetType() << std::endl; } else { std::wcout << L"No license plate found" << std::endl; } } catch(gxError &e) { std::wcerr << L"GX error (" << e.GetErrorCode() << ") occurred: " << e.GetErrorString() << std::endl; return 1; } return 0; }
using System; using gx; using cm; namespace carmen { class MainClass { public static void Main(string[] args) { try { // Creates the ANPR object with EUR region cmAnpr anpr = new cmAnpr("eur"); // Creates the image object and load the image gxImage image = new gxImage(); image.Load("image.jpg"); // Finds the first license plate if (anpr.FindFirst(image)) { // Get short country code String countryCode = anpr.GetCountryCode(anpr.GetType(), (int)CC_TYPE.CCT_COUNTRY_SHORT); countryCode = countryCode.Length > 0 ? countryCode : "No plate type"; //Displays the result, country code and type Console.WriteLine("Plate text: {0}", anpr.GetText()); Console.WriteLine("Country code: {0}", countryCode); Console.WriteLine("Type: {0}", anpr.GetType()); } else { Console.WriteLine("No license plate found"); } } catch(gxException) { Console.Error.WriteLine("GX error (" + gxSystem.GetErrorCode() + ") occured: " + gxSystem.GetErrorString()); Environment.Exit(1); } } } }
import com.adaptiverecognition.gx.*; import com.adaptiverecognition.cm.*; public class cmanpr { static { try { System.loadLibrary("jgx"); System.loadLibrary("jcmanpr"); } catch(UnsatisfiedLinkError e) { System.err.println("Native code library failed to load." + e); System.exit(1); } } public static void main(String argv[]) { try { // Creates the ANPR object with EUR region cmAnpr anpr = new cmAnpr("eur"); // Creates the image object and load the image gxImage image = new gxImage(); image.Load("image.jpg"); // Finds the first license plate if(anpr.FindFirst(image)) { // Get short country code String countryCode = anpr.GetCountryCode(anpr.GetType(),jcmanprConstants.CCT_COUNTRY_SHORT); countryCode = countryCode.length()>0 ? countryCode : "No plate type"; // Displays the result, country code and type System.out.println("Plate text: " + anpr.GetText()); System.out.println("Country code: " + countryCode); System.out.println("Type: " + anpr.GetType()); } else { System.out.println("No license plate found"); } // Frees up resources anpr.delete(); image.delete(); } catch(RuntimeException e) { System.err.println("GX error (" + String.format("0x%08x",gxSystem.GetErrorCode()) + ") occured: " + gxSystem.GetErrorString()); System.exit(1); } } }
Imports System Imports gx Imports cm Module Main Sub Main() Try ' Creates the ANPR object with EUR region Dim anpr As cmAnpr = New cmAnpr("eur") ' Creates the image object and load the image Dim image As gxImage = New gxImage("default") image.Load("image.jpg") ' Finds the first license plate If anpr.FindFirst(image) Then ' Get short country code Dim countryCode As String countryCode = anpr.GetCountryCode(anpr.GetType(), CC_TYPE.CCT_COUNTRY_SHORT) If countryCode.Length = 0 Then countryCode = "No plate type" ' Displays the result, country code and type Console.WriteLine("Plate text: {0}", anpr.GetText()) Console.WriteLine("Country code: {0}", countryCode) Console.WriteLine("Type: {0}", anpr.GetType()) Else Console.WriteLine("No license plate found") End If Catch ex As gxException Console.Error.WriteLine("GX error (" + gxSystem.GetErrorCode().ToString() + ") occured: " + gxSystem.GetErrorString()) Environment.Exit(1) End Try End Sub End Module
Tento typ licencie sa odporúča na projekty kontroly prístupu s menej než 300 parkovacími miestami.
Pomocou tejto možnosti môžete prispôsobiť licencovanie spracovateľskej kapacite vášho hardvéru (pozri tabuľku nižšie).
Navrhnutá pre škálovateľné projekty založené na video rozpoznávaní, táto licencia je ideálna pre aplikácie, ktoré vyžadujú licencovanie podľa jednotlivých video streamov.
1 - 5
2 - 10
4 - 20
3 - 7
6 - 14
12 - 28
5 - 10
10 - 20
20 - 40
11,520
neobmedzené (môže však závisieť od rýchlosti CPU, nastavení a typu engine-u)
4 paralelné vlákna
1 / 2 / 4 paralelné vlákna
300
neobmedzené
30
-
Naši obchodní a produktoví špecialisti sú pripravení vám pomôcť. Kontaktujte nás alebo nájdite partnera vo vašej blízkosti.
Pre tých, ktorí hľadajú prelomové riešenia.
Objavte produkty, ktoré posúvajú hranice toho,
čo je možné dosiahnuť.
Každé odvetvie čelí jedinečným prekážkam. Zistite, ako môže byť Adaptive Recognition vaším partnerom pri ich efektívnom riešení a dosiahnutí lepších výsledkov.
Preskočte marketingové tvrdenia a pozrite si dôkazy.
Preskúmajte naše referenčné projekty a
prípady štúdií pre hmatateľné dôkazy
o tom, ako Adaptive Recognition prináša
výnimočné výsledky.