Show more
Read more
View product
View report
Drag


Carmen® ADR es una herramienta fundamental para mejorar la seguridad en el transporte de materiales peligrosos. Este potente software ofrece una precisión inigualable en el reconocimiento de los códigos ADR e IMDG, asegurando una identificación rápida de mercancías peligrosas. Con sus capacidades de integración fluida, Carmen® ADR permite optimizar operaciones y brindar a los equipos de emergencia información crítica, creando así un entorno más seguro para todos.

Carmen® ADR trasciende las limitaciones geográficas. Nuestra biblioteca de software ofrece soporte completo para una amplia gama de símbolos de mercancías peligrosas, incluidos los códigos ADR, E-ADR, HIN, KEMLER e IMO. Esto garantiza un funcionamiento ininterrumpido sin importar la ubicación o el sistema de etiquetado utilizado, convirtiéndolo en una solución verdaderamente global para la identificación de materiales peligrosos.
La integración es sencilla. El software cuenta con una API fácil de usar que permite integrarlo fácilmente en tu infraestructura existente, minimizando las interrupciones y facilitando la adopción de las potentes capacidades de reconocimiento de Carmen® ADR.

Carmen® ADR va más allá del reconocimiento básico de códigos al identificar también códigos vacíos que representan múltiples mercancías peligrosas. Esta capacidad avanzada mejora la seguridad en carreteras, puentes, túneles y todas las áreas donde se transportan materiales peligrosos.
Este software funciona con diferentes sistemas y permite personalizar la salida, facilitando su uso e integración. Estas características avanzadas te permiten aprovechar todo el potencial de Carmen® ADR, maximizando la precisión, eficiencia y valor general.

Se reconocen los códigos ADR, eADR, HIN, KEMLER e IMO (IMDG)

Utilizado en miles de sistemas en todo el mundo

Desde sistemas pequeños y medianos hasta grandes y complejos

El SDK soporta el procesamiento de imágenes

Funciona en Windows y Linux.

Se lanzan cuatro actualizaciones por año
Carmen® ADR reconoce una amplia gama de códigos de mercancías peligrosas, incluidos los códigos ADR, eADR, HIN, KEMLER e IMO (IMDG).
Los requisitos mínimos del sistema para Carmen® ADR son una CPU de 2 GHz, 1 GB de RAM y 1 GB de disco duro. Es compatible con sistemas operativos Windows (64 bits) y Linux (32/64 bits).
Carmen® ADR puede procesar imágenes fijas desde archivos o memoria en varios formatos como BMP, PNG, JPEG y RAW. La salida incluye los datos ADR reconocidos, niveles de confianza y la ubicación de cada código en la imagen.
Carmen® ADR cuenta con una API fácil de usar, que soporta lenguajes de programación como C/C++, C#, Visual Basic .NET y Java para Windows, y C/C++ y Java para Linux. Esto hace que la integración sea sencilla y eficiente.
Carmen® ADR recibe cuatro actualizaciones por año para asegurar que se mantenga actualizado con los nuevos estándares y tecnologías, mejorando su precisión y rendimiento.
Carmen® ADR incluye bibliotecas de desarrollo (.dll, .so), una aplicación demo, códigos de ejemplo para cada lenguaje de programación y un controlador de red neuronal. También se proporciona documentación digital completa para facilitar la integración.
La excepcional precisión y funcionalidad integral de Carmen® ADR lo convierten en una herramienta valiosa para diversas aplicaciones centradas en la identificación segura y eficiente de materiales peligrosos.
Aquí hay algunos de los usos más comunes:
/** \file ********************************************************************* * * cmanpr01 – CMANPR sample program * * 2006-2021 (c) Adaptive Recognition Hungary Inc. (http://www.adaptiverecognition.com) ******************************************************************************/ /** * Show an ANPR process * * Purpose: * At the beginning, the application is checking if everything is all right with the gxsd.dat syntax, if not, the execution will stop and will notify the user about the problem. * Shows how to do an ANPR on an image and print out the result in text */ #include “gxsdldr.c” #include “gximage.h” #include “cmanpr.h” #include “gxproperty.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; struct gxHANDLE prophandle; char propstat[512] = “”; wchar_t engname[256]=L””; int st; int b_islic; /** Open the container reader */ st = gx_openmodulea(&prophandle, “gxproperty”, “default”); term_if_err(st); if (!gx_ispropertiesvalid(prophandle, propstat, 512)) { printf(“The gxsd.dat file is invalid.\n%s\n”, propstat); exit(1); } printf(“The syntax of the gxsd.dat file is fine!\n\n”); // Opens the ANPR module with default properties st = gx_openmodule(&anprhandle, L”cmanpr”, L”default”); term_if_err(st); // Opens the image module and allocates the image structure st = gx_openmodule(&imagehandle, L”gximage”, L”default”); term_if_err(st); st = gx_allocimage(imagehandle, &image); term_if_err(st); // Gets the name of the default engine st = gx_getmoduleproperty(anprhandle,L”anprname”,engname,256); term_if_err(st); printf(“Engine: ‘%ls’\n\n”, engname); // Checks the licenses for the default engine b_islic = 0; st = cm_findlicenses4engine(anprhandle,0,0,&b_islic,0,0); term_if_err(st); if (!b_islic) { printf(“Cannot find licenses for the current engine!!!\n”); exit(1); } // Loads the sample image st = gx_loadimage(imagehandle, image, L”../../../data/plate.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 cc[256]=””; // Get short country code st = cm_getcountrycode(anprhandle,anprresult->type,(int)CCT_COUNTRY_SHORT,cc,sizeof(cc)); term_if_err(st); //Displays the result, Country code and type printf(“Plate text: ‘%s’; Country code: ‘%s’ (%i)\n”, anprresult->text, cc[0]?cc:”No plate type”, anprresult->type); // Frees up the result st = gx_globalfree(anprresult); term_if_err(st); } else { // No plate 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; } //——————————————————————————
/** \file ********************************************************************* * * cmanpr01 – CMANPR sample program * * 2006-2021 (c) Adaptive Recognition Hungary Inc. (http://www.adaptiverecognition.com) ******************************************************************************/ /** * Show an ANPR process * * Purpose: * At the beginning, the application is checking if everything is all right with the gxsd.dat syntax, if not, the execution will stop and will notify the user about the problem. * Shows how to do an ANPR on an image and print out the result in text */ #include “gxsdldr.cpp” #include “gximage.h” #include “cmanpr.h” #include “gxproperty.h” //—————————————————————————— using namespace std; using namespace gx; using namespace cm; //—————————————————————————— int main(void) { try { gxProperty gxProperty; gxProperty.IsPropertiesValid(); cout << “The syntax of the gxsd.dat file is fine!\n” << endl; // Creates the ANPR object cmAnpr anpr(“default”); // Creates the image object gxImage image(“default”); // Gets the name of the default engine wcout << L”Engine: ‘” << anpr.GetProperty(L”anprname”) << L”‘\n\n”; // Checks the licenses for the default engine if (!anpr.CheckLicenses4Engine(L””,0)) { wcout << L”Cannot find licenses for the current engine!!!\n”; return 1; } // Loads the sample image image.Load(“../../../data/plate.jpg”); // Finds the first license plate if(anpr.FindFirst(image)) { // Get short country code gxOutStr cc = anpr.GetCountryCode(anpr.GetType(),(int)CCT_COUNTRY_SHORT); //Displays the result, Country code and type wcout << L”Plate text: ‘” << anpr.GetText() << L”‘; Country code: ‘” << (cc.length()>0?cc: L”No plate type”) << L”‘ (” << anpr.GetType() << L”)\n”; } else { wcout << L”No license plate found\n”; } } catch(gxError &e) { // Displays error code and description wcerr << L”GX error (” << e.GetErrorCode() << “) occurred: ” << e.GetErrorString() << L”\n”; // Terminates the program return 1; } return 0; } //——————————————————————————
/** \file ********************************************************************* * * cmanpr01 – CMANPR sample program * * 2006-2021 (c) Adaptive Recognition Hungary Inc. (http://www.adaptiverecognition.com) ******************************************************************************/ /** * Show an ANPR process * * Purpose: * At the beginning, the application is checking if everything is all right with the gxsd.dat syntax, if not, the execution will stop and will notify the user about the problem. * Shows how to do an ANPR on an image and print out the result in text */ using System; using gx; using cm; namespace cmanpr01 { class MainClass { public static void Main(string[] args) { try { gxProperty gxProperty = new gxProperty(); gxProperty.IsPropertiesValid(); Console.WriteLine(“The syntax of the gxsd.dat file is fine!\n”); // Creates the ANPR object cmAnpr anpr = new cmAnpr(“eur”); // Creates the image object gxImage image = new gxImage(“default”); // Gets the name of the default engine Console.WriteLine(“Engine: ‘{0}'”, anpr.GetProperty(“anprname”)); Console.WriteLine(); // Checks the licenses for the default engine if (!anpr.CheckLicenses4Engine(“”, 0)) { Console.WriteLine(“Cannot find licenses for the current engine!!!”); return; } //Console.ReadKey(); // Loads the sample image image.Load(“../../../../../../data/plate.jpg”); // Finds the first license plate if (anpr.FindFirst(image)) { // Get short country code String cc = anpr.GetCountryCode(anpr.GetType(), (int)CC_TYPE.CCT_COUNTRY_SHORT); //Displays the result, Country code and type Console.WriteLine(“Plate text: ‘{0}’; Country code: ‘{1}’ ({2})”, anpr.GetText(), cc.Length > 0 ? cc : “No plate type”, anpr.GetType()); } else { Console.WriteLine(“No license plate found”); } Console.ReadKey(); } catch(gxException) { Console.Error.WriteLine(“GX error (” + gxSystem.GetErrorCode() + “) occured: ” + gxSystem.GetErrorString()); Console.ReadKey(); } } } }
/** \file ********************************************************************* * * cmanpr01 – CMANPR sample program * * 2006-2021 (c) Adaptive Recognition Hungary Inc. (http://www.adaptiverecognition.com) ******************************************************************************/ /** * Show an ANPR process * * Purpose: * At the beginning, the application is checking if everything is all right with the gxsd.dat syntax, if not, the execution will stop and will notify the user about the problem. * Shows how to do an ANPR on an image and print out the result in text */ import com.adaptiverecognition.gx.*; import com.adaptiverecognition.cm.*; public class cmanpr01 { 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 { gxProperty gxProperty = new gxProperty(); gxProperty.IsPropertiesValid(); System.out.println(“The syntax of the gxsd.dat file is fine!\n”); // Creates the ANPR object cmAnpr anpr = new cmAnpr(“default”); // Creates the image object gxImage image = new gxImage(“default”); //Gets the name of the default engine System.out.println(“Engine: ‘” + anpr.GetProperty(“anprname”) + “‘”); System.out.println(); // Checks the licenses for the default engine if (!anpr.CheckLicenses4Engine(“”,0)) { System.out.println(“Cannot find licenses for the current engine!!!\n”); System.exit(1); } // Loads the sample image image.Load(“../../data/plate.jpg”); // Finds the first license plate if(anpr.FindFirst(image)) { // Get short country code String cc = anpr.GetCountryCode(anpr.GetType(),jcmanprConstants.CCT_COUNTRY_SHORT); //Displays the result, Country code and type System.out.println(“Plate text: ‘”+anpr.GetText()+”‘; Country code: ‘” + (cc.length()>0?cc: “No plate 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); } } }
‘/** \file ********************************************************************* ‘ * ‘ * cmanpr01 – CMANPR sample program ‘ * ‘ * 2006-2021 (c) Adaptive Recognition Hungary Inc. (http://www.adaptiverecognition.com) ‘ ******************************************************************************/ ‘ ‘/** ‘ * Show an ANPR process ‘ * ‘ * Purpose: ‘ * At the beginning, the application is checking if everything is all right with the gxsd.dat syntax, if not, the execution will stop and will notify the user about the problem. ‘ * Shows how to do an ANPR on an image and print out the result in text ‘ */ Imports System Imports gx Imports cm Module Main Sub Main() Try Dim gxProperty As gxProperty = New gxProperty gxProperty.IsPropertiesValid() Console.WriteLine(“The syntax of the gxsd.dat file is fine!”) Console.WriteLine() ‘ Creates the ANPR object Dim anpr As cmAnpr = New cmAnpr(“default”) ‘ Creates the image object Dim image As gxImage = New gxImage(“default”) ‘ Gets the name of the default engine Console.WriteLine(“Engine: ‘{0}'”, anpr.GetProperty(“anprname”)) Console.WriteLine() ‘ Checks the licenses for the default engine If Not anpr.CheckLicenses4Engine(“”, 0) Then Console.WriteLine(“Cannot find licenses for the current engine!!!”) Exit Sub End If ‘ Loads the sample image image.Load(“../../../../../../data/plate.jpg”) ‘ Finds the first license plate If anpr.FindFirst(image) Then ‘ Get short country code Dim cc As String cc = anpr.GetCountryCode(anpr.GetType(), CC_TYPE.CCT_COUNTRY_SHORT) If cc.Length = 0 Then cc = “No plate type” ‘ Displays the result, Country code and type Console.WriteLine(“Plate text: ‘{0}’; Country code: ‘{1}’ ({2})”, anpr.GetText(), cc, anpr.GetType()) Else Console.WriteLine(“No license plate found”) End If Console.ReadKey() Catch ex As gxException Console.Error.WriteLine(“GX error (” + gxSystem.GetErrorCode().ToString() + “) occured: ” + gxSystem.GetErrorString()) Console.ReadKey() End Try End Sub End Module
1 - 5
2 - 10
4 - 20
3 - 7
6 - 14
12 - 28
5 - 10
10 - 20
20 - 40
Nuestros expertos en ventas y productos están aquí para ayudar. Contáctenos o encuentre un afiliado cerca de su ubicación.
Para quienes buscan avances innovadores.
Explora productos que superan los límites de lo que puedes lograr.
Every industry faces unique obstacles. Discover how Adaptive Recognition can be your partner in tackling them head-on and emerging stronger.
Vaya más allá de las afirmaciones, vea las pruebas. Explore nuestros proyectos de referencia y casos prácticos para obtener evidencia tangible de cómo el Reconocimiento Adaptativo ofrece resultados excepcionales.