{"id":2241,"date":"2024-07-25T06:40:15","date_gmt":"2024-07-25T06:40:15","guid":{"rendered":"https:\/\/adaptiverecognition.com\/?post_type=product&p=2241"},"modified":"2025-10-08T08:59:54","modified_gmt":"2025-10-08T08:59:54","slug":"carmen-adr-hazardous-material-signs-recognition","status":"publish","type":"product","link":"https:\/\/adaptiverecognition.com\/hu\/products\/carmen-adr-hazardous-material-signs-recognition\/","title":{"rendered":"Carmen\u00ae ADR-k\u00f3d felismer\u00e9s"},"excerpt":{"rendered":"

A Carmen\u00ae ADR<\/strong> fejleszt\u0151i k\u00e9szlettel (SDK) integr\u00e1lhat\u00f3 szoftver, amely t\u00e1mogatja a vesz\u00e9lyes \u00e1rukhoz kapcsol\u00f3d\u00f3 jel\u00f6l\u00e9sek felismer\u00e9s\u00e9t, bele\u00e9rtve az ADR t\u00e1bl\u00e1kat, HIN sz\u00e1mokat \u00e9s IMO (IMDG) k\u00f3dokat.<\/p>","protected":false},"featured_media":10827,"parent":0,"template":"","category-for-product":[54],"class_list":["post-2241","product","type-product","status-publish","has-post-thumbnail","hentry","category-for-product-software"],"acf":{"source_campaign":"CMP-01148-B5P1L","preferred_product_type":"","subject_postfix":"","pick_casy_studies_for_this_product":[1368,674,1353,1377],"product_card_name":"Dangerous Goods Code Recognition Engine with Software Development Kit","product_menu_name":"Carmen\u00ae<\/sup> ADR Hazardous Materials Recognition<\/span>","product_name_on_product_page":"Carmen\u00ae ADR
Hazardous Materials Recognition<\/span>","hero_image_for_product_page":8369,"product_hero_image_on_product_page":10827,"product_hero_image_clickable_url":"","on_product_page_excerpt":"Superiorly Accurate Dangerous Goods Code
Recognition with Carmen\u00ae ADR Software Library","test_product_video":"","product_page_flexible":[{"acf_fc_layout":"simple_text","title_of_the_section":"Complete ANPR\/LPR & Hazmat recognition
for enhanced safety<\/span>","simple_text":"

Carmen\u00ae ADR is a critical tool for enhancing safety in the transportation<\/strong> of hazardous materials. This powerful software delivers unmatched accuracy in recognizing ADR and IMDG codes, ensuring quick identification of dangerous goods<\/strong>. With seamless integration capabilities, Carmen\u00ae ADR empowers you to streamline your operations and empower first responders with critical information, ultimately creating a safer environment for everyone<\/strong>.<\/p>"},{"acf_fc_layout":"image_and_text_leftright","image_and_text_leftright":[{"title_left_right":"Global Recognition,
Simplified Integration<\/span>","description_of_the_left_right":"Carmen\u00ae ADR transcends geographical limitations. Our software library offers comprehensive support for a wide range of dangerous goods symbols<\/strong>, including ADR, E-ADR, HIN, KEMLER, and IMO codes. This ensures uninterrupted operation regardless of location<\/strong> or the specific labeling system used, making it a truly global solution for dangerous goods identification.\r\nIntegration is straightforward. The software features a user-friendly API, allowing for easy integration into your existing infrastructure<\/strong>. This minimizes disruption to your workflow and streamlines the adoption of Carmen\u00ae ADR\u2019s powerful recognition capabilities.","image":11078,"lint_to_image":""},{"title_left_right":"Increasing Safety
with ADR Recognition <\/span>","description_of_the_left_right":"Carmen\u00ae ADR goes beyond basic code recognition by also identifying empty codes that represent multiple dangerous goods. This advanced capability enhances safety on roads, bridges, tunnels<\/strong>, and all areas where hazardous materials are transported.<\/span>\u00a0<\/span>\r\n\r\nThis software works with different systems and lets you customize the output<\/strong>, making it easy to use and integrate. These advanced features empower you to leverage Carmen\u00ae ADR\u2019s full potential,\u00a0maximizing accuracy, efficiency, and overall value<\/strong>.<\/span>\u00a0<\/span>","image":11083,"lint_to_image":""}]},{"acf_fc_layout":"highligted_features_new","highligted_features_new":[{"feature_image__icon_new":7671,"feature_title_new":"Supported
Codes","feature_description_new":"ADR, eADR, HIN, KEMLER, and IMO (IMDG) codes recognized."},{"feature_image__icon_new":7672,"feature_title_new":"Tried
& Tested","feature_description_new":"Used in thousands of systems worldwide."},{"feature_image__icon_new":7670,"feature_title_new":"Scalability","feature_description_new":"From small through medium, to large and complex systems."},{"feature_image__icon_new":7673,"feature_title_new":"Image-based
Code Recognition","feature_description_new":"SDK supports image processing"},{"feature_image__icon_new":7674,"feature_title_new":"Major OP Systems
Supported","feature_description_new":"Runs on Windows and Linux."},{"feature_image__icon_new":7675,"feature_title_new":"Regular
Engine Updates","feature_description_new":"Four updates released per year."}]},{"acf_fc_layout":"product_flexi_accordion","accordion_title":"FAQ","description_":"","accordion_fields":[{"accordion_title_repeater":"What types of dangerous goods codes does Carmen\u00ae ADR recognize?","accordion_description":"Carmen\u00ae ADR recognizes a wide range of dangerous goods codes, including ADR, eADR, HIN, KEMLER, and IMO (IMDG) codes."},{"accordion_title_repeater":"What are the system requirements for running Carmen\u00ae ADR?","accordion_description":"The minimum system requirements for Carmen\u00ae ADR are a 2 GHz CPU, 1 GB RAM, and 1 GB HDD. It supports both Windows (64-bit) and Linux (32\/64-bit) operating systems\u200b."},{"accordion_title_repeater":"How does Carmen\u00ae ADR handle different image formats for code recognition?","accordion_description":"Carmen\u00ae ADR can process still images from files or memory in various formats such as BMP, PNG, JPEG, and RAW. The output includes the recognized ADR data, confidence levels, and the location of each code on the image."},{"accordion_title_repeater":"What are the integration options for Carmen\u00ae ADR with existing systems?","accordion_description":"Carmen\u00ae ADR features a user-friendly API, supporting programming languages such as C\/C++, C#, Visual Basic .NET, and Java for Windows, and C\/C++ and Java for Linux. This makes integration straightforward and efficient\u200b."},{"accordion_title_repeater":"How frequently is Carmen\u00ae ADR updated?","accordion_description":"Carmen\u00ae ADR receives four updates per year to ensure it stays current with new standards and technologies, enhancing its accuracy and performance."},{"accordion_title_repeater":"What additional tools are provided for easy integration and development?","accordion_description":"Carmen\u00ae ADR includes development libraries (.dll, .so files), a demo application, sample codes for each programming language, and a neural network controller. Comprehensive digital documentation is also provided to facilitate integration."}],"contact_button_below":null},{"acf_fc_layout":"application_accordion","application_title":"Most common
applications<\/span>","application_description":"Carmen\u00ae ADR\u2019s exceptional accuracy and comprehensive functionality make it a valuable tool for various applications focused on the safe and efficient identification of hazardous materials. Here are just a few of the most common uses:","application_fields":[{"application_title_repeater":"Traffic Monitoring"},{"application_title_repeater":"Border Security"},{"application_title_repeater":"Logistics & Supply Chain Management"},{"application_title_repeater":"Waste Management"},{"application_title_repeater":"Chemical & Manufacturing Industries"},{"application_title_repeater":"Emergency Response"}],"button_text_accordion_below":"Contact our team today","application_button_url_accordion_below":"\/contact-us"},{"acf_fc_layout":"sample_codes","sample_codes_repeater":[{"code_name":"C","copy_the_code_here":"\/** \\file *********************************************************************\r\n*\r\n* cmanpr01 \u2013 CMANPR sample program\r\n*\r\n* 2006-2021 (c) Adaptive Recognition Hungary Inc. (http:\/\/www.adaptiverecognition.com)\r\n******************************************************************************\/\r\n\r\n\/**\r\n* Show an ANPR process\r\n*\r\n* Purpose:\r\n* 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.\r\n* Shows how to do an ANPR on an image and print out the result in text\r\n*\/\r\n\r\n#include \u201cgxsdldr.c\u201d\r\n#include \u201cgximage.h\u201d\r\n#include \u201ccmanpr.h\u201d\r\n#include \u201cgxproperty.h\u201d\r\n\/\/\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\r\n\/\/ If an error occurred it displays the error and terminates the program\r\nvoid term_if_err(int st) {\r\nint err_code;\r\nwchar_t err_str[256];\r\n\r\nif(st) return; \/\/ No error occurred\r\n\/\/ Displays error code and description\r\nerr_str[(sizeof(err_str)\/sizeof(wchar_t))-1] = 0;\r\ngx_geterror(&err_code, err_str, (sizeof(err_str)\/sizeof(wchar_t))-1);\r\nfprintf(stderr, \u201cGX error (%x) occurred: %ls\\n\u201d, err_code, err_str);\r\n\/\/ Terminates the program\r\nexit(1);\r\n}\r\n\/\/\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\r\nint main(void) {\r\nstruct gxHANDLE anprhandle, imagehandle;\r\nstruct gxIMAGE *image;\r\nstruct cmNP *anprresult;\r\nstruct gxHANDLE prophandle;\r\nchar propstat[512] = \u201c\u201d;\r\nwchar_t engname[256]=L\u201d\u201d;\r\nint st;\r\nint b_islic;\r\n\r\n\/** Open the container reader *\/\r\nst = gx_openmodulea(&prophandle, \u201cgxproperty\u201d, \u201cdefault\u201d);\r\nterm_if_err(st);\r\n\r\nif (!gx_ispropertiesvalid(prophandle, propstat, 512))\r\n{\r\nprintf(\u201cThe gxsd.dat file is invalid.\\n%s\\n\u201d, propstat);\r\nexit(1);\r\n}\r\nprintf(\u201cThe syntax of the gxsd.dat file is fine!\\n\\n\u201d);\r\n\r\n\/\/ Opens the ANPR module with default properties\r\nst = gx_openmodule(&anprhandle, L\u201dcmanpr\u201d, L\u201ddefault\u201d);\r\nterm_if_err(st);\r\n\r\n\/\/ Opens the image module and allocates the image structure\r\nst = gx_openmodule(&imagehandle, L\u201dgximage\u201d, L\u201ddefault\u201d);\r\nterm_if_err(st);\r\nst = gx_allocimage(imagehandle, &image);\r\nterm_if_err(st);\r\n\r\n\/\/ Gets the name of the default engine\r\nst = gx_getmoduleproperty(anprhandle,L\u201danprname\u201d,engname,256);\r\nterm_if_err(st);\r\nprintf(\u201cEngine: \u2018%ls\u2019\\n\\n\u201d, engname);\r\n\r\n\/\/ Checks the licenses for the default engine\r\nb_islic = 0;\r\nst = cm_findlicenses4engine(anprhandle,0,0,&b_islic,0,0);\r\nterm_if_err(st);\r\nif (!b_islic)\r\n{\r\nprintf(\u201cCannot find licenses for the current engine!!!\\n\u201d);\r\nexit(1);\r\n}\r\n\r\n\/\/ Loads the sample image\r\nst = gx_loadimage(imagehandle, image, L\u201d..\/..\/..\/data\/plate.jpg\u201d, GX_UNDEF);\r\nterm_if_err(st);\r\n\r\n\/\/ Finds the first license plate\r\nanprresult = 0;\r\nst = cm_findfirst(anprhandle, image, &anprresult);\r\nterm_if_err(st);\r\n\r\nif(anprresult) {\r\nchar cc[256]=\u201d\u201d;\r\n\/\/ Get short country code\r\nst = cm_getcountrycode(anprhandle,anprresult->type,(int)CCT_COUNTRY_SHORT,cc,sizeof(cc));\r\nterm_if_err(st);\r\n\/\/Displays the result, Country code and type\r\nprintf(\u201cPlate text: \u2018%s\u2019; Country code: \u2018%s\u2019 (%i)\\n\u201d, anprresult->text, cc[0]?cc:\u201dNo plate type\u201d, anprresult->type);\r\n\r\n\/\/ Frees up the result\r\nst = gx_globalfree(anprresult);\r\nterm_if_err(st);\r\n} else {\r\n\/\/ No plate\r\nprintf(\u201cNo license plate found\\n\u201d);\r\n}\r\n\r\n\/\/ Frees up the resources\r\nst = gx_unrefimage(imagehandle, image);\r\nterm_if_err(st);\r\nst = gx_unrefhandle(&imagehandle);\r\nterm_if_err(st);\r\nst = gx_unrefhandle(&anprhandle);\r\nterm_if_err(st);\r\n\r\nreturn 0;\r\n}\r\n\/\/\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014"},{"code_name":"C++","copy_the_code_here":"\/** \\file *********************************************************************\r\n*\r\n* cmanpr01 \u2013 CMANPR sample program\r\n*\r\n* 2006-2021 (c) Adaptive Recognition Hungary Inc. (http:\/\/www.adaptiverecognition.com)\r\n******************************************************************************\/\r\n\r\n\/**\r\n* Show an ANPR process\r\n*\r\n* Purpose:\r\n* 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.\r\n* Shows how to do an ANPR on an image and print out the result in text\r\n*\/\r\n\r\n#include \u201cgxsdldr.cpp\u201d\r\n#include \u201cgximage.h\u201d\r\n#include \u201ccmanpr.h\u201d\r\n#include \u201cgxproperty.h\u201d\r\n\/\/\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\r\n\r\nusing namespace std;\r\nusing namespace gx;\r\nusing namespace cm;\r\n\r\n\/\/\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\r\nint main(void) {\r\ntry {\r\ngxProperty gxProperty;\r\ngxProperty.IsPropertiesValid();\r\ncout << \u201cThe syntax of the gxsd.dat file is fine!\\n\u201d << endl;\r\n\r\n\/\/ Creates the ANPR object\r\ncmAnpr anpr(\u201cdefault\u201d);\r\n\/\/ Creates the image object\r\ngxImage image(\u201cdefault\u201d);\r\n\r\n\/\/ Gets the name of the default engine\r\nwcout << L\u201dEngine: \u2018\u201d << anpr.GetProperty(L\u201danprname\u201d) << L\u201d\u2018\\n\\n\u201d;\r\n\r\n\/\/ Checks the licenses for the default engine\r\nif (!anpr.CheckLicenses4Engine(L\u201d\u201d,0))\r\n{\r\nwcout << L\u201dCannot find licenses for the current engine!!!\\n\u201d;\r\nreturn 1;\r\n}\r\n\r\n\/\/ Loads the sample image\r\nimage.Load(\u201c..\/..\/..\/data\/plate.jpg\u201d);\r\n\r\n\/\/ Finds the first license plate\r\nif(anpr.FindFirst(image)) {\r\n\/\/ Get short country code\r\ngxOutStr cc = anpr.GetCountryCode(anpr.GetType(),(int)CCT_COUNTRY_SHORT);\r\n\/\/Displays the result, Country code and type\r\nwcout << L\u201dPlate text: \u2018\u201d << anpr.GetText() << L\u201d\u2018; Country code: \u2018\u201d << (cc.length()>0?cc: L\u201dNo plate type\u201d) << L\u201d\u2018 (\u201d << anpr.GetType() << L\u201d)\\n\u201d;\r\n} else {\r\nwcout << L\u201dNo license plate found\\n\u201d;\r\n}\r\n\r\n} catch(gxError &e) {\r\n\r\n\/\/ Displays error code and description\r\nwcerr << L\u201dGX error (\u201d << e.GetErrorCode() << \u201c) occurred: \u201d << e.GetErrorString() << L\u201d\\n\u201d;\r\n\/\/ Terminates the program\r\nreturn 1;\r\n}\r\n\r\nreturn 0;\r\n}\r\n\/\/\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014"},{"code_name":"C#","copy_the_code_here":"\/** \\file *********************************************************************\r\n*\r\n* cmanpr01 \u2013 CMANPR sample program\r\n*\r\n* 2006-2021 (c) Adaptive Recognition Hungary Inc. (http:\/\/www.adaptiverecognition.com)\r\n******************************************************************************\/\r\n\r\n\/**\r\n* Show an ANPR process\r\n*\r\n* Purpose:\r\n* 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.\r\n* Shows how to do an ANPR on an image and print out the result in text\r\n*\/\r\n\r\nusing System;\r\nusing gx;\r\nusing cm;\r\n\r\nnamespace cmanpr01\r\n{\r\nclass MainClass\r\n{\r\npublic static void Main(string[] args)\r\n{\r\ntry {\r\ngxProperty gxProperty = new gxProperty();\r\ngxProperty.IsPropertiesValid();\r\nConsole.WriteLine(\u201cThe syntax of the gxsd.dat file is fine!\\n\u201d);\r\n\r\n\/\/ Creates the ANPR object\r\ncmAnpr anpr = new cmAnpr(\u201ceur\u201d);\r\n\/\/ Creates the image object\r\ngxImage image = new gxImage(\u201cdefault\u201d);\r\n\r\n\/\/ Gets the name of the default engine\r\nConsole.WriteLine(\u201cEngine: \u2018{0}'\u201d, anpr.GetProperty(\u201canprname\u201d));\r\nConsole.WriteLine();\r\n\r\n\/\/ Checks the licenses for the default engine\r\nif (!anpr.CheckLicenses4Engine(\u201c\u201d, 0))\r\n{\r\nConsole.WriteLine(\u201cCannot find licenses for the current engine!!!\u201d);\r\nreturn;\r\n}\r\n\/\/Console.ReadKey();\r\n\/\/ Loads the sample image\r\nimage.Load(\u201c..\/..\/..\/..\/..\/..\/data\/plate.jpg\u201d);\r\n\r\n\/\/ Finds the first license plate\r\nif (anpr.FindFirst(image)) {\r\n\/\/ Get short country code\r\nString cc = anpr.GetCountryCode(anpr.GetType(), (int)CC_TYPE.CCT_COUNTRY_SHORT);\r\n\/\/Displays the result, Country code and type\r\nConsole.WriteLine(\u201cPlate text: \u2018{0}\u2019; Country code: \u2018{1}\u2019 ({2})\u201d, anpr.GetText(), cc.Length > 0 ? cc : \u201cNo plate type\u201d, anpr.GetType());\r\n} else {\r\nConsole.WriteLine(\u201cNo license plate found\u201d);\r\n}\r\nConsole.ReadKey();\r\n} catch(gxException) {\r\nConsole.Error.WriteLine(\u201cGX error (\u201d + gxSystem.GetErrorCode() + \u201c) occured: \u201d + gxSystem.GetErrorString());\r\nConsole.ReadKey();\r\n}\r\n}\r\n}\r\n}"},{"code_name":"Java","copy_the_code_here":"\/** \\file *********************************************************************\r\n*\r\n* cmanpr01 \u2013 CMANPR sample program\r\n*\r\n* 2006-2021 (c) Adaptive Recognition Hungary Inc. (http:\/\/www.adaptiverecognition.com)\r\n******************************************************************************\/\r\n\r\n\/**\r\n* Show an ANPR process\r\n*\r\n* Purpose:\r\n* 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.\r\n* Shows how to do an ANPR on an image and print out the result in text\r\n*\/\r\n\r\nimport com.adaptiverecognition.gx.*;\r\nimport com.adaptiverecognition.cm.*;\r\n\r\npublic class cmanpr01 {\r\n\r\nstatic {\r\ntry {\r\nSystem.loadLibrary(\u201cjgx\u201d);\r\nSystem.loadLibrary(\u201cjcmanpr\u201d);\r\n} catch(UnsatisfiedLinkError e) {\r\nSystem.err.println(\u201cNative code library failed to load.\u201d + e);\r\nSystem.exit(1);\r\n}\r\n}\r\n\r\npublic static void main(String argv[]) {\r\ntry {\r\ngxProperty gxProperty = new gxProperty();\r\ngxProperty.IsPropertiesValid();\r\nSystem.out.println(\u201cThe syntax of the gxsd.dat file is fine!\\n\u201d);\r\n\r\n\/\/ Creates the ANPR object\r\ncmAnpr anpr = new cmAnpr(\u201cdefault\u201d);\r\n\/\/ Creates the image object\r\ngxImage image = new gxImage(\u201cdefault\u201d);\r\n\r\n\/\/Gets the name of the default engine\r\nSystem.out.println(\u201cEngine: \u2018\u201d + anpr.GetProperty(\u201canprname\u201d) + \u201c\u2018\u201d);\r\nSystem.out.println();\r\n\r\n\/\/ Checks the licenses for the default engine\r\nif (!anpr.CheckLicenses4Engine(\u201c\u201d,0)) {\r\nSystem.out.println(\u201cCannot find licenses for the current engine!!!\\n\u201d);\r\nSystem.exit(1);\r\n}\r\n\r\n\/\/ Loads the sample image\r\nimage.Load(\u201c..\/..\/data\/plate.jpg\u201d);\r\n\r\n\/\/ Finds the first license plate\r\nif(anpr.FindFirst(image)) {\r\n\/\/ Get short country code\r\nString cc = anpr.GetCountryCode(anpr.GetType(),jcmanprConstants.CCT_COUNTRY_SHORT);\r\n\/\/Displays the result, Country code and type\r\nSystem.out.println(\u201cPlate text: \u2018\u201d+anpr.GetText()+\u201d\u2018; Country code: \u2018\u201d + (cc.length()>0?cc: \u201cNo plate type\u201d) + \u201c\u2018 (\u201d + anpr.GetType() + \u201c)\u201d);\r\n} else {\r\nSystem.out.println(\u201cNo license plate found\u201d);\r\n}\r\n\r\n\/\/ Frees up resources\r\nanpr.delete();\r\nimage.delete();\r\n\r\n} catch(RuntimeException e) {\r\nSystem.err.println(\u201cGX error (\u201d + String.format(\u201c0x%08x\u201d,gxSystem.GetErrorCode()) + \u201c) occured: \u201d + gxSystem.GetErrorString());\r\nSystem.exit(1);\r\n}\r\n}\r\n}"},{"code_name":"Visual Basic","copy_the_code_here":"\u2018\/** \\file *********************************************************************\r\n\u2018 *\r\n\u2018 * cmanpr01 \u2013 CMANPR sample program\r\n\u2018 *\r\n\u2018 * 2006-2021 (c) Adaptive Recognition Hungary Inc. (http:\/\/www.adaptiverecognition.com)\r\n\u2018 ******************************************************************************\/\r\n\u2018\r\n\u2018\/**\r\n\u2018 * Show an ANPR process\r\n\u2018 *\r\n\u2018 * Purpose:\r\n\u2018 * 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.\r\n\u2018 * Shows how to do an ANPR on an image and print out the result in text\r\n\u2018 *\/\r\n\r\nImports System\r\nImports gx\r\nImports cm\r\n\r\nModule Main\r\nSub Main()\r\nTry\r\nDim gxProperty As gxProperty = New gxProperty\r\ngxProperty.IsPropertiesValid()\r\nConsole.WriteLine(\u201cThe syntax of the gxsd.dat file is fine!\u201d)\r\nConsole.WriteLine()\r\n\r\n\u2018 Creates the ANPR object\r\nDim anpr As cmAnpr = New cmAnpr(\u201cdefault\u201d)\r\n\u2018 Creates the image object\r\nDim image As gxImage = New gxImage(\u201cdefault\u201d)\r\n\r\n\u2018 Gets the name of the default engine\r\nConsole.WriteLine(\u201cEngine: \u2018{0}'\u201d, anpr.GetProperty(\u201canprname\u201d))\r\nConsole.WriteLine()\r\n\r\n\u2018 Checks the licenses for the default engine\r\nIf Not anpr.CheckLicenses4Engine(\u201c\u201d, 0) Then\r\nConsole.WriteLine(\u201cCannot find licenses for the current engine!!!\u201d)\r\nExit Sub\r\nEnd If\r\n\r\n\u2018 Loads the sample image\r\nimage.Load(\u201c..\/..\/..\/..\/..\/..\/data\/plate.jpg\u201d)\r\n\r\n\u2018 Finds the first license plate\r\nIf anpr.FindFirst(image) Then\r\n\u2018 Get short country code\r\nDim cc As String\r\ncc = anpr.GetCountryCode(anpr.GetType(), CC_TYPE.CCT_COUNTRY_SHORT)\r\nIf cc.Length = 0 Then cc = \u201cNo plate type\u201d\r\n\u2018 Displays the result, Country code and type\r\nConsole.WriteLine(\u201cPlate text: \u2018{0}\u2019; Country code: \u2018{1}\u2019 ({2})\u201d, anpr.GetText(), cc, anpr.GetType())\r\nElse\r\nConsole.WriteLine(\u201cNo license plate found\u201d)\r\nEnd If\r\nConsole.ReadKey()\r\nCatch ex As gxException\r\nConsole.Error.WriteLine(\u201cGX error (\u201d + gxSystem.GetErrorCode().ToString() + \u201c) occured: \u201d + gxSystem.GetErrorString())\r\nConsole.ReadKey()\r\nEnd Try\r\nEnd Sub\r\nEnd Module"}]},{"acf_fc_layout":"comparision_table_final","comparison_block_title":"Licesing Guidelines Based on
Processing Power and Requirements<\/span>","comparison_table_writeable_column_titles":[{"comparison_table_writeable_column_title":"Single License (Image\/Sec)"},{"comparison_table_writeable_column_title":"Dual License (Image\/Sec)"},{"comparison_table_writeable_column_title":"Quad License (Image\/Sec)"}],"comparison_datas_final":[{"row_title_final":"i3 processor","row_cell_contents_final":[{"row_cell_content_final":"1 - 5"},{"row_cell_content_final":"2 - 10"},{"row_cell_content_final":"4 - 20"}]},{"row_title_final":"i5 processor","row_cell_contents_final":[{"row_cell_content_final":"3 - 7"},{"row_cell_content_final":"6 - 14"},{"row_cell_content_final":"12 - 28"}]},{"row_title_final":"i7 processor","row_cell_contents_final":[{"row_cell_content_final":"5 - 10"},{"row_cell_content_final":"10 - 20"},{"row_cell_content_final":"20 - 40"}]}],"small_text_under_comparison_table":""},{"acf_fc_layout":"doc_links","first_button_text":"Quick Access to Datasheet","first_button_url":"\/app\/uploads\/DOC\/Software\/Carmen\/ANPR\/Dangerous_Goods\/dangerous_goods_datasheet.pdf","second_button_text":"All Downloadable Material","secund_button_url":"\/doc\/software\/carmen-adr-software-library-for-hazmat-code-recognition\/"}],"tags_for_search_separate_with_comma___":"carmen, adr, dangerous goods, dangerous, goods, hazard, hazardous, poison, truck, imo, hin, kemler, e-adr, software, code, recognition, imdg","select_references_for_this_product":[5537,5687,5656,5657]},"yoast_head":"\nCarmen\u00ae ADR Code Recognition Software | Accurate Hazardous Materials Identification<\/title>\n<meta name=\"description\" content=\"Ensure safety in hazardous materials transportation with Carmen\u00ae ADR Code Recognition Software Library. Recognize ADR, eADR, HIN, KEMLER, and IMO (IMDG) codes with superior accuracy. Seamlessly integrate with existing systems for efficient dangerous goods identification.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/adaptiverecognition.com\/hu\/products\/carmen-adr-hazardous-material-signs-recognition\/\" \/>\n<meta property=\"og:locale\" content=\"hu_HU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Carmen\u00ae ADR Code Recognition\" \/>\n<meta property=\"og:description\" content=\"Ensure safety in hazardous materials transportation with Carmen\u00ae ADR Code Recognition Software Library. Recognize ADR, eADR, HIN, KEMLER, and IMO (IMDG) codes with superior accuracy. Seamlessly integrate with existing systems for efficient dangerous goods identification.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/adaptiverecognition.com\/hu\/products\/carmen-adr-hazardous-material-signs-recognition\/\" \/>\n<meta property=\"og:site_name\" content=\"Adaptive Recognition | Image Capturing and Analytics\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-08T08:59:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/adaptiverecognition.com\/wp-content\/uploads\/2024\/04\/hazmat-imo-code-recognition-carmen-adr-product-image-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"840\" \/>\n\t<meta property=\"og:image:height\" content=\"560\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Becs\u00fclt olvas\u00e1si id\u0151\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 perc\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/products\\\/carmen-adr-hazardous-material-signs-recognition\\\/\",\"url\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/products\\\/carmen-adr-hazardous-material-signs-recognition\\\/\",\"name\":\"Carmen\u00ae ADR Code Recognition Software | Accurate Hazardous Materials Identification\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/products\\\/carmen-adr-hazardous-material-signs-recognition\\\/#primaryimage\"},\"image\":{\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/products\\\/carmen-adr-hazardous-material-signs-recognition\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/hazmat-imo-code-recognition-carmen-adr-product-image-1.png\",\"datePublished\":\"2024-07-25T06:40:15+00:00\",\"dateModified\":\"2025-10-08T08:59:54+00:00\",\"description\":\"Ensure safety in hazardous materials transportation with Carmen\u00ae ADR Code Recognition Software Library. Recognize ADR, eADR, HIN, KEMLER, and IMO (IMDG) codes with superior accuracy. Seamlessly integrate with existing systems for efficient dangerous goods identification.\",\"breadcrumb\":{\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/products\\\/carmen-adr-hazardous-material-signs-recognition\\\/#breadcrumb\"},\"inLanguage\":\"hu\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/adaptiverecognition.ar.local\\\/products\\\/carmen-adr-hazardous-material-signs-recognition\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"hu\",\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/products\\\/carmen-adr-hazardous-material-signs-recognition\\\/#primaryimage\",\"url\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/hazmat-imo-code-recognition-carmen-adr-product-image-1.png\",\"contentUrl\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/wp-content\\\/uploads\\\/2024\\\/04\\\/hazmat-imo-code-recognition-carmen-adr-product-image-1.png\",\"width\":840,\"height\":560,\"caption\":\"hazmat-imo-code-recognition-carmen-adr-product-image-1\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/products\\\/carmen-adr-hazardous-material-signs-recognition\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Product Categories\",\"item\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/products\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Software for traffic and goods transport monitoring\",\"item\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/product-categories\\\/software\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Carmen\u00ae ADR Code Recognition\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/#website\",\"url\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/\",\"name\":\"Adaptive Recognition | Image Capturing and Analytics\",\"description\":\"Adaptive Recognition is a leading provider of ANPR\\\/ALPR cameras, license plate recognition solutions, and ID document verification systems, enhancing traffic management and identity security worldwide.\",\"publisher\":{\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"hu\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/#organization\",\"name\":\"Adaptive Recognition\",\"alternateName\":\"ARH\",\"url\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"hu\",\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/adaptive_recognition_favicon.png\",\"contentUrl\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/adaptive_recognition_favicon.png\",\"width\":512,\"height\":512,\"caption\":\"Adaptive Recognition\"},\"image\":{\"@id\":\"http:\\\/\\\/adaptiverecognition.ar.local\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/adaptive-recognition\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Carmen\u00ae ADR Code Recognition Software | Accurate Hazardous Materials Identification","description":"Ensure safety in hazardous materials transportation with Carmen\u00ae ADR Code Recognition Software Library. Recognize ADR, eADR, HIN, KEMLER, and IMO (IMDG) codes with superior accuracy. Seamlessly integrate with existing systems for efficient dangerous goods identification.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/adaptiverecognition.com\/hu\/products\/carmen-adr-hazardous-material-signs-recognition\/","og_locale":"hu_HU","og_type":"article","og_title":"Carmen\u00ae ADR Code Recognition","og_description":"Ensure safety in hazardous materials transportation with Carmen\u00ae ADR Code Recognition Software Library. Recognize ADR, eADR, HIN, KEMLER, and IMO (IMDG) codes with superior accuracy. Seamlessly integrate with existing systems for efficient dangerous goods identification.","og_url":"https:\/\/adaptiverecognition.com\/hu\/products\/carmen-adr-hazardous-material-signs-recognition\/","og_site_name":"Adaptive Recognition | Image Capturing and Analytics","article_modified_time":"2025-10-08T08:59:54+00:00","og_image":[{"width":840,"height":560,"url":"https:\/\/adaptiverecognition.com\/wp-content\/uploads\/2024\/04\/hazmat-imo-code-recognition-carmen-adr-product-image-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Becs\u00fclt olvas\u00e1si id\u0151":"1 perc"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/adaptiverecognition.com\/products\/carmen-adr-hazardous-material-signs-recognition\/","url":"https:\/\/adaptiverecognition.com\/products\/carmen-adr-hazardous-material-signs-recognition\/","name":"Carmen\u00ae ADR Code Recognition Software | Accurate Hazardous Materials Identification","isPartOf":{"@id":"https:\/\/adaptiverecognition.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/adaptiverecognition.com\/products\/carmen-adr-hazardous-material-signs-recognition\/#primaryimage"},"image":{"@id":"https:\/\/adaptiverecognition.com\/products\/carmen-adr-hazardous-material-signs-recognition\/#primaryimage"},"thumbnailUrl":"https:\/\/adaptiverecognition.com\/wp-content\/uploads\/2024\/04\/hazmat-imo-code-recognition-carmen-adr-product-image-1.png","datePublished":"2024-07-25T06:40:15+00:00","dateModified":"2025-10-08T08:59:54+00:00","description":"Ensure safety in hazardous materials transportation with Carmen\u00ae ADR Code Recognition Software Library. Recognize ADR, eADR, HIN, KEMLER, and IMO (IMDG) codes with superior accuracy. Seamlessly integrate with existing systems for efficient dangerous goods identification.","breadcrumb":{"@id":"https:\/\/adaptiverecognition.com\/products\/carmen-adr-hazardous-material-signs-recognition\/#breadcrumb"},"inLanguage":"hu","potentialAction":[{"@type":"ReadAction","target":["https:\/\/adaptiverecognition.com\/products\/carmen-adr-hazardous-material-signs-recognition\/"]}]},{"@type":"ImageObject","inLanguage":"hu","@id":"https:\/\/adaptiverecognition.com\/products\/carmen-adr-hazardous-material-signs-recognition\/#primaryimage","url":"https:\/\/adaptiverecognition.com\/wp-content\/uploads\/2024\/04\/hazmat-imo-code-recognition-carmen-adr-product-image-1.png","contentUrl":"https:\/\/adaptiverecognition.com\/wp-content\/uploads\/2024\/04\/hazmat-imo-code-recognition-carmen-adr-product-image-1.png","width":840,"height":560,"caption":"hazmat-imo-code-recognition-carmen-adr-product-image-1"},{"@type":"BreadcrumbList","@id":"https:\/\/adaptiverecognition.com\/products\/carmen-adr-hazardous-material-signs-recognition\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/adaptiverecognition.com\/"},{"@type":"ListItem","position":2,"name":"Product Categories","item":"https:\/\/adaptiverecognition.com\/products\/"},{"@type":"ListItem","position":3,"name":"Software for traffic and goods transport monitoring","item":"https:\/\/adaptiverecognition.com\/product-categories\/software\/"},{"@type":"ListItem","position":4,"name":"Carmen\u00ae ADR Code Recognition"}]},{"@type":"WebSite","@id":"https:\/\/adaptiverecognition.com\/#website","url":"https:\/\/adaptiverecognition.com\/","name":"Adaptive Recognition | Image Capturing and Analytics","description":"Adaptive Recognition is a leading provider of ANPR\/ALPR cameras, license plate recognition solutions, and ID document verification systems, enhancing traffic management and identity security worldwide.","publisher":{"@id":"https:\/\/adaptiverecognition.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/adaptiverecognition.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"hu"},{"@type":"Organization","@id":"https:\/\/adaptiverecognition.com\/#organization","name":"Adaptive Recognition","alternateName":"ARH","url":"https:\/\/adaptiverecognition.com\/","logo":{"@type":"ImageObject","inLanguage":"hu","@id":"https:\/\/adaptiverecognition.com\/#\/schema\/logo\/image\/","url":"https:\/\/adaptiverecognition.com\/wp-content\/uploads\/2024\/09\/adaptive_recognition_favicon.png","contentUrl":"https:\/\/adaptiverecognition.com\/wp-content\/uploads\/2024\/09\/adaptive_recognition_favicon.png","width":512,"height":512,"caption":"Adaptive Recognition"},"image":{"@id":"https:\/\/adaptiverecognition.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/adaptive-recognition\/"]}]}},"_links":{"self":[{"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/product\/2241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/types\/product"}],"version-history":[{"count":39,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/product\/2241\/revisions"}],"predecessor-version":[{"id":20571,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/product\/2241\/revisions\/20571"}],"acf:post":[{"embeddable":true,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/reference\/5657"},{"embeddable":true,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/reference\/5656"},{"embeddable":true,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/reference\/5687"},{"embeddable":true,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/reference\/5537"},{"embeddable":true,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/case-study\/1377"},{"embeddable":true,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/case-study\/1353"},{"embeddable":true,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/case-study\/674"},{"embeddable":true,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/case-study\/1368"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/media\/10827"}],"wp:attachment":[{"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/media?parent=2241"}],"wp:term":[{"taxonomy":"category-for-product","embeddable":true,"href":"https:\/\/adaptiverecognition.com\/hu\/wp-json\/wp\/v2\/category-for-product?post=2241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}