From c98a3cfe389457175ce96df357b63d4cd34b621a Mon Sep 17 00:00:00 2001 From: Matthew Hill Date: Fri, 21 Oct 2016 20:39:01 -0400 Subject: [PATCH] Removed C# binding --- src/bindings/csharp/openalpr-net.sln | 68 -- .../csharp/openalpr-net/AssemblyInfo.cpp | 40 -- src/bindings/csharp/openalpr-net/Stdafx.cpp | 5 - src/bindings/csharp/openalpr-net/Stdafx.h | 7 - src/bindings/csharp/openalpr-net/app.ico | Bin 1078 -> 0 bytes src/bindings/csharp/openalpr-net/app.rc | Bin 2558 -> 0 bytes .../csharp/openalpr-net/bitmapmat-net.cpp | 41 -- .../csharp/openalpr-net/bitmapmat-net.h | 51 -- src/bindings/csharp/openalpr-net/config-net.h | 655 ------------------ src/bindings/csharp/openalpr-net/helper-net.h | 93 --- src/bindings/csharp/openalpr-net/lock-net.h | 18 - .../openalpr-net/motiondetector-net.cpp | 71 -- .../csharp/openalpr-net/motiondetector-net.h | 52 -- .../csharp/openalpr-net/openalpr-net.cpp | 484 ------------- .../csharp/openalpr-net/openalpr-net.h | 23 - .../csharp/openalpr-net/openalpr-net.vcxproj | 187 ----- .../openalpr-net/openalpr-net.vcxproj.filters | 73 -- .../openalpr-net/openalpr-net.vcxproj.user | 3 - src/bindings/csharp/openalpr-net/resource.h | 3 - src/bindings/csharp/openalpr-net/types-net.h | 19 - .../csharp/openalprnet-cli/CommandLine.cs | 82 --- .../csharp/openalprnet-cli/Program.cs | 140 ---- .../Properties/AssemblyInfo.cs | 36 - .../openalprnet-cli/openalprnet-cli.csproj | 96 --- .../openalprnet-windemo/Form1.Designer.cs | 192 ----- .../csharp/openalprnet-windemo/Form1.cs | 187 ----- .../csharp/openalprnet-windemo/Form1.resx | 123 ---- .../csharp/openalprnet-windemo/Program.cs | 39 -- .../Properties/AssemblyInfo.cs | 36 - .../Properties/Resources.Designer.cs | 63 -- .../Properties/Resources.resx | 117 ---- .../Properties/Settings.Designer.cs | 26 - .../Properties/Settings.settings | 7 - .../csharp/openalprnet-windemo/app.config | 3 - .../csharp/openalprnet-windemo/appicon.ico | Bin 1150 -> 0 bytes .../openalprnet-windemo.csproj | 132 ---- 36 files changed, 3172 deletions(-) delete mode 100644 src/bindings/csharp/openalpr-net.sln delete mode 100644 src/bindings/csharp/openalpr-net/AssemblyInfo.cpp delete mode 100644 src/bindings/csharp/openalpr-net/Stdafx.cpp delete mode 100644 src/bindings/csharp/openalpr-net/Stdafx.h delete mode 100644 src/bindings/csharp/openalpr-net/app.ico delete mode 100644 src/bindings/csharp/openalpr-net/app.rc delete mode 100644 src/bindings/csharp/openalpr-net/bitmapmat-net.cpp delete mode 100644 src/bindings/csharp/openalpr-net/bitmapmat-net.h delete mode 100644 src/bindings/csharp/openalpr-net/config-net.h delete mode 100644 src/bindings/csharp/openalpr-net/helper-net.h delete mode 100644 src/bindings/csharp/openalpr-net/lock-net.h delete mode 100644 src/bindings/csharp/openalpr-net/motiondetector-net.cpp delete mode 100644 src/bindings/csharp/openalpr-net/motiondetector-net.h delete mode 100644 src/bindings/csharp/openalpr-net/openalpr-net.cpp delete mode 100644 src/bindings/csharp/openalpr-net/openalpr-net.h delete mode 100644 src/bindings/csharp/openalpr-net/openalpr-net.vcxproj delete mode 100644 src/bindings/csharp/openalpr-net/openalpr-net.vcxproj.filters delete mode 100644 src/bindings/csharp/openalpr-net/openalpr-net.vcxproj.user delete mode 100644 src/bindings/csharp/openalpr-net/resource.h delete mode 100644 src/bindings/csharp/openalpr-net/types-net.h delete mode 100644 src/bindings/csharp/openalprnet-cli/CommandLine.cs delete mode 100644 src/bindings/csharp/openalprnet-cli/Program.cs delete mode 100644 src/bindings/csharp/openalprnet-cli/Properties/AssemblyInfo.cs delete mode 100644 src/bindings/csharp/openalprnet-cli/openalprnet-cli.csproj delete mode 100644 src/bindings/csharp/openalprnet-windemo/Form1.Designer.cs delete mode 100644 src/bindings/csharp/openalprnet-windemo/Form1.cs delete mode 100644 src/bindings/csharp/openalprnet-windemo/Form1.resx delete mode 100644 src/bindings/csharp/openalprnet-windemo/Program.cs delete mode 100644 src/bindings/csharp/openalprnet-windemo/Properties/AssemblyInfo.cs delete mode 100644 src/bindings/csharp/openalprnet-windemo/Properties/Resources.Designer.cs delete mode 100644 src/bindings/csharp/openalprnet-windemo/Properties/Resources.resx delete mode 100644 src/bindings/csharp/openalprnet-windemo/Properties/Settings.Designer.cs delete mode 100644 src/bindings/csharp/openalprnet-windemo/Properties/Settings.settings delete mode 100644 src/bindings/csharp/openalprnet-windemo/app.config delete mode 100644 src/bindings/csharp/openalprnet-windemo/appicon.ico delete mode 100644 src/bindings/csharp/openalprnet-windemo/openalprnet-windemo.csproj diff --git a/src/bindings/csharp/openalpr-net.sln b/src/bindings/csharp/openalpr-net.sln deleted file mode 100644 index 592ffe3..0000000 --- a/src/bindings/csharp/openalpr-net.sln +++ /dev/null @@ -1,68 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "openalpr-net", "openalpr-net\openalpr-net.vcxproj", "{4044340C-C435-4A1F-8F12-0806C38AE3B6}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "openalprnet-cli", "openalprnet-cli\openalprnet-cli.csproj", "{BD50C6C1-EEB9-48D2-A87C-70F5342579DD}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "openalprnet-windemo", "openalprnet-windemo\openalprnet-windemo.csproj", "{C7863A14-55D2-4389-9072-04AA6E30AAD1}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Mixed Platforms = Debug|Mixed Platforms - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|Mixed Platforms = Release|Mixed Platforms - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Debug|Mixed Platforms.Build.0 = Debug|Win32 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Debug|Win32.ActiveCfg = Debug|Win32 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Debug|Win32.Build.0 = Debug|Win32 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Debug|x64.ActiveCfg = Debug|x64 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Debug|x64.Build.0 = Debug|x64 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Debug|x86.ActiveCfg = Debug|Win32 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Release|Mixed Platforms.ActiveCfg = Release|Win32 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Release|Mixed Platforms.Build.0 = Release|Win32 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Release|Win32.ActiveCfg = Release|Win32 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Release|Win32.Build.0 = Release|Win32 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Release|x64.ActiveCfg = Release|x64 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Release|x64.Build.0 = Release|x64 - {4044340C-C435-4A1F-8F12-0806C38AE3B6}.Release|x86.ActiveCfg = Release|Win32 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Debug|Win32.ActiveCfg = Debug|x86 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Debug|x64.ActiveCfg = Debug|x64 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Debug|x64.Build.0 = Debug|x64 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Debug|x86.ActiveCfg = Debug|x86 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Debug|x86.Build.0 = Debug|x86 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Release|Mixed Platforms.Build.0 = Release|x86 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Release|Win32.ActiveCfg = Release|x86 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Release|x64.ActiveCfg = Release|x64 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Release|x64.Build.0 = Release|x64 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Release|x86.ActiveCfg = Release|x86 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD}.Release|x86.Build.0 = Release|x86 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Debug|Win32.ActiveCfg = Debug|x86 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Debug|x64.ActiveCfg = Debug|x64 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Debug|x64.Build.0 = Debug|x64 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Debug|x86.ActiveCfg = Debug|x86 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Debug|x86.Build.0 = Debug|x86 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Release|Mixed Platforms.Build.0 = Release|x86 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Release|Win32.ActiveCfg = Release|x86 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Release|x64.ActiveCfg = Release|x64 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Release|x64.Build.0 = Release|x64 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Release|x86.ActiveCfg = Release|x86 - {C7863A14-55D2-4389-9072-04AA6E30AAD1}.Release|x86.Build.0 = Release|x86 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/src/bindings/csharp/openalpr-net/AssemblyInfo.cpp b/src/bindings/csharp/openalpr-net/AssemblyInfo.cpp deleted file mode 100644 index cc20aa3..0000000 --- a/src/bindings/csharp/openalpr-net/AssemblyInfo.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include "stdafx.h" - -using namespace System; -using namespace System::Reflection; -using namespace System::Runtime::CompilerServices; -using namespace System::Runtime::InteropServices; -using namespace System::Security::Permissions; - -// -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -// -[assembly:AssemblyTitleAttribute("openalprnet")]; -[assembly:AssemblyDescriptionAttribute("")]; -[assembly:AssemblyConfigurationAttribute("")]; -[assembly:AssemblyCompanyAttribute("")]; -[assembly:AssemblyProductAttribute("openalprnet")]; -[assembly:AssemblyCopyrightAttribute("Copyright (c) 2015")]; -[assembly:AssemblyTrademarkAttribute("")]; -[assembly:AssemblyCultureAttribute("")]; - -// -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the value or you can default the Revision and Build Numbers -// by using the '*' as shown below: - -[assembly: AssemblyVersionAttribute("2.1.0")] -[assembly: AssemblyFileVersionAttribute("2.1.0")] -[assembly: AssemblyInformationalVersionAttribute("2.1.0")] - -[assembly:ComVisible(false)]; - -[assembly:CLSCompliantAttribute(true)]; diff --git a/src/bindings/csharp/openalpr-net/Stdafx.cpp b/src/bindings/csharp/openalpr-net/Stdafx.cpp deleted file mode 100644 index 144c129..0000000 --- a/src/bindings/csharp/openalpr-net/Stdafx.cpp +++ /dev/null @@ -1,5 +0,0 @@ -// stdafx.cpp : source file that includes just the standard includes -// openalpr-net.pch will be the pre-compiled header -// stdafx.obj will contain the pre-compiled type information - -#include "stdafx.h" diff --git a/src/bindings/csharp/openalpr-net/Stdafx.h b/src/bindings/csharp/openalpr-net/Stdafx.h deleted file mode 100644 index 3cc4c24..0000000 --- a/src/bindings/csharp/openalpr-net/Stdafx.h +++ /dev/null @@ -1,7 +0,0 @@ -// stdafx.h : include file for standard system include files, -// or project specific include files that are used frequently, -// but are changed infrequently - -#pragma once - - diff --git a/src/bindings/csharp/openalpr-net/app.ico b/src/bindings/csharp/openalpr-net/app.ico deleted file mode 100644 index 3a5525fd794f7a7c5c8e6187f470ea3af38cd2b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1078 zcmeHHJr05}7=1t!Hp3A*8IHkVf+j?-!eHY14Gtcw1Eb*_9>Bq^zETJ@GKj{_2j4$w zo9}xCh!8{T3=X##Skq>ikMjsvB|y%crWBM2iW(4pI}c%z6%lW!=~4v77#3{z!dmB1 z__&l)-{KUYR+|8|;wB^R|9ET$J@(@=#rd^=)qs85?vAy(PSF5CyNkus435LVkZ$rj zNw|JG-P7^hF<(;#o*Vk}5R#e|^13tBbQkeF?djULtvqyxd3<{9 diff --git a/src/bindings/csharp/openalpr-net/app.rc b/src/bindings/csharp/openalpr-net/app.rc deleted file mode 100644 index eab43064f13cd0a8912887c2c7299ddb6d7d2240..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2558 zcmds(T~8B16o%hx6aT}cz0qh|kt;8OHl(p2u|ObcVzjun$-0o1ioYIx-q}uzY&RON zHfA$lXU?2CAMZJ{zwW#0D(FZvO*GfF7PL&a(9WSPwA5$itPb>wFX)@Ts-VrG-!fi7 zn=|^{lG%iLU}b4D-N4h)b3NmhZXDZC3wCq3uOe@&a=xRfT9Ml)+mSDe=PY|qCmQKg zXXO<`@Kh{u}P)77e+J`b^ZYfCz>(RWgv~!7P?33(2w$i>2#H#>Fc|_Qh z^$Vg|uu6y;F)Q)4&`b6oBW$sbY4hW1i<6cC#7@YRVoj;;1hOW_dS{Ze%gCRTQO?P0 zWC0DOPI5U zsW~oLw6^XIsan`<>ynio16ff0_sBq)>sz3jP1&!{CS&XIJM!nhN%CW}eNvC;0#Epr I_*Z2A2KzE2Bme*a diff --git a/src/bindings/csharp/openalpr-net/bitmapmat-net.cpp b/src/bindings/csharp/openalpr-net/bitmapmat-net.cpp deleted file mode 100644 index ba0d669..0000000 --- a/src/bindings/csharp/openalpr-net/bitmapmat-net.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "stdafx.h" -#include "bitmapmat-net.h" - -using namespace openalprnet; - -BitmapMat::BitmapMat(array^ byteArray) -{ - m_bitmap = new cv::Mat(); - std::vector buffer = AlprHelper::ToVector(byteArray); - cv::imdecode(buffer, CV_LOAD_IMAGE_COLOR, this->m_bitmap); -} - -BitmapMat::BitmapMat(Bitmap^ bitmap) -{ - m_bitmap = new cv::Mat(); - - MemoryStream^ ms = gcnew MemoryStream(); - bitmap->Save(ms, ImageFormat::Png); - - std::vector buffer = AlprHelper::ToVector(ms->ToArray()); - cv::imdecode(buffer, CV_LOAD_IMAGE_COLOR, this->m_bitmap); - - delete ms; -} - -BitmapMat::BitmapMat(MemoryStream^ memoryStream) -{ - m_bitmap = new cv::Mat(); - std::vector buffer = AlprHelper::ToVector(memoryStream->ToArray()); - cv::imdecode(buffer, CV_LOAD_IMAGE_COLOR, this->m_bitmap); -} - -BitmapMat::BitmapMat(String^ filename) -{ - m_bitmap = new cv::Mat(); - array^ byteArray = File::ReadAllBytes(filename); - std::vector buffer = AlprHelper::ToVector(byteArray); - cv::imdecode(buffer, CV_LOAD_IMAGE_COLOR, this->m_bitmap); - delete byteArray; -} - diff --git a/src/bindings/csharp/openalpr-net/bitmapmat-net.h b/src/bindings/csharp/openalpr-net/bitmapmat-net.h deleted file mode 100644 index 3732759..0000000 --- a/src/bindings/csharp/openalpr-net/bitmapmat-net.h +++ /dev/null @@ -1,51 +0,0 @@ -#pragma once - -#include -#include - -#include "helper-net.h" - -using namespace System; -using namespace System::Drawing; -using namespace System::Drawing::Imaging; -using namespace System::IO; - -namespace openalprnet { - - private ref class BitmapMat : IDisposable - { - private: - cv::Mat* m_bitmap; - bool m_disposed; - public: - BitmapMat(array^ byteArray); - BitmapMat(Bitmap^ bitmap); - BitmapMat(MemoryStream^ memoryStream); - BitmapMat(String^ filename); - - ~BitmapMat() - { - if (this->m_disposed) - { - return; - } - - this->!BitmapMat(); - this->m_disposed = true; - } - - !BitmapMat() - { - m_bitmap->release(); - delete m_bitmap; - } - - property cv::Mat Value { - cv::Mat get() - { - return *m_bitmap; - } - } - - }; -} \ No newline at end of file diff --git a/src/bindings/csharp/openalpr-net/config-net.h b/src/bindings/csharp/openalpr-net/config-net.h deleted file mode 100644 index 734009c..0000000 --- a/src/bindings/csharp/openalpr-net/config-net.h +++ /dev/null @@ -1,655 +0,0 @@ -#pragma once - -#include "config.h" // alpr -#include "types-net.h" -#include "helper-net.h" - -using namespace System; -using namespace openalprnet::types; - -namespace openalprnet -{ - - public ref class AlprConfigNet sealed - { - internal: - AlprConfigNet(Config* config) : m_config(config) - { - - } - - public: - - property bool IsLoaded { - bool get() - { - return this->m_config->loaded; - } - } - - property AlprDetectorTypeNet Detector { - AlprDetectorTypeNet get() { - return static_cast(this->m_config->detector); - } - void set(AlprDetectorTypeNet value) - { - this->m_config->detector = static_cast(value); - } - } - - property float DetectionIterationIncrease { - float get() - { - return this->m_config->detection_iteration_increase; - } - void set(float value) - { - this->m_config->detection_iteration_increase = value; - } - } - - property int DetectionStrictness { - int get() - { - return this->m_config->detectionStrictness; - } - void set(int value) - { - this->m_config->detectionStrictness = value; - } - } - - property float MaxPlateWidthPercent { - float get() - { - return this->m_config->maxPlateWidthPercent; - } - void set(float value) - { - this->m_config->maxPlateWidthPercent = value; - } - } - - property float MaxPlateHeightPercent { - float get() - { - return this->m_config->maxPlateHeightPercent; - } - void set(float value) - { - this->m_config->maxPlateHeightPercent = value; - } - } - - property int MaxDetectionInputWidth { - int get() - { - return this->m_config->maxDetectionInputWidth; - } - void set(int value) - { - this->m_config->maxDetectionInputWidth = value; - } - } - - property int MaxDetectionInputHeight { - int get() - { - return this->m_config->maxDetectionInputHeight; - } - void set(int value) - { - this->m_config->maxDetectionInputHeight = value; - } - } - - property bool SkipDetection { - bool get() - { - return this->m_config->skipDetection; - } - void set(bool value) - { - this->m_config->skipDetection = true; - } - } - - property String^ PreWarp { - String^ get() - { - return AlprHelper::ToManagedString(this->m_config->prewarp); - } - void set(String^ value) - { - if(String::IsNullOrWhiteSpace(value)) - { - this->m_config->prewarp = ""; - return; - } - this->m_config->prewarp = marshal_as(value); - } - } - - property int MaxPlateAngleDegrees { - int get() - { - return this->m_config->maxPlateAngleDegrees; - } - void set(int value) - { - this->m_config->maxPlateAngleDegrees = value; - } - } - - property float MinPlateSizeWidthPx { - float get() - { - return this->m_config->minPlateSizeWidthPx; - } - void set(float value) - { - this->m_config->minPlateSizeWidthPx = value; - } - } - - property float MinPlateSizeHeightPx { - float get() - { - return this->m_config->minPlateSizeHeightPx; - } - void set(float value) - { - this->m_config->minPlateSizeHeightPx = value; - } - } - - property bool Multiline { - bool get() - { - return this->m_config->multiline; - } - void set(bool value) - { - this->m_config->multiline = value; - } - } - - property float PlateWidthMM { - float get() - { - return this->m_config->plateWidthMM; - } - void set(float value) - { - this->m_config->plateWidthMM = value; - } - } - - property float PlateHeightMM { - float get() - { - return this->m_config->plateHeightMM; - } - void set(float value) - { - this->m_config->plateHeightMM = value; - } - } - - - property float CharWhitespaceTopMM { - float get() - { - return this->m_config->charWhitespaceTopMM; - } - void set(float value) - { - this->m_config->charWhitespaceTopMM = value; - } - } - - property float CharWhitespaceBotMM { - float get() - { - return this->m_config->charWhitespaceBotMM; - } - void set(float value) - { - this->m_config->charWhitespaceBotMM = value; - } - } - - property int TemplateWidthPx { - int get() - { - return this->m_config->templateWidthPx; - } - void set(int value) - { - this->m_config->templateWidthPx = value; - } - } - - property int TemplateHeightPx { - int get() - { - return this->m_config->templateHeightPx; - } - void set(int value) - { - this->m_config->templateHeightPx = value; - } - } - - property int OcrImageWidthPx { - int get() - { - return this->m_config->ocrImageWidthPx; - } - void set(int value) - { - this->m_config->ocrImageWidthPx = value; - } - } - - property int OcrImageHeightPx { - int get() - { - return this->m_config->ocrImageHeightPx; - } - void set(int value) - { - this->m_config->ocrImageHeightPx = value; - } - } - - property int StateIdImageWidthPx { - int get() - { - return this->m_config->stateIdImageWidthPx; - } - void set(int value) - { - this->m_config->stateIdImageWidthPx = value; - } - } - - property int StateIdimageHeightPx { - int get() - { - return this->m_config->stateIdimageHeightPx; - } - void set(int value) - { - this->m_config->stateIdimageHeightPx = value; - } - } - - property float CharAnalysisMinPercent { - float get() - { - return this->m_config->charAnalysisMinPercent; - } - void set(float value) - { - this->m_config->charAnalysisMinPercent = value; - } - } - - property float CharAnalysisHeightRange { - float get() - { - return this->m_config->charAnalysisHeightRange; - } - void set(float value) - { - this->m_config->charAnalysisHeightRange = value; - } - } - - property float CharAnalysisHeightStepSize { - float get() - { - return this->m_config->charAnalysisHeightStepSize; - } - void set(float value) - { - this->m_config->charAnalysisHeightStepSize = value; - } - } - - property int CharAnalysisNumSteps { - int get() - { - return this->m_config->charAnalysisNumSteps; - } - void set(int value) - { - this->m_config->charAnalysisNumSteps = value; - } - } - - property float PlateLinesSensitivityVertical { - float get() - { - return this->m_config->plateLinesSensitivityVertical; - } - void set(float value) - { - this->m_config->plateLinesSensitivityVertical = value; - } - } - - property float PlateLinesSensitivityHorizontal { - float get() - { - return this->m_config->plateLinesSensitivityHorizontal; - } - void set(float value) - { - this->m_config->plateLinesSensitivityHorizontal = value; - } - } - - property int SegmentationMinBoxWidthPx { - int get() - { - return this->m_config->segmentationMinBoxWidthPx; - } - void set(int value) - { - this->m_config->segmentationMinBoxWidthPx = value; - } - } - - property float SegmentationMinCharHeightPercent { - float get() - { - return this->m_config->segmentationMinCharHeightPercent; - } - void set(float value) - { - this->m_config->segmentationMinCharHeightPercent = value; - } - } - - property float SegmentationMaxCharWidthvsAverage { - float get() - { - return this->m_config->segmentationMaxCharWidthvsAverage; - } - void set(float value) - { - this->m_config->segmentationMaxCharWidthvsAverage = value; - } - } - - property bool MustMatchPattern { - bool get() - { - return this->m_config->mustMatchPattern; - } - void set(bool value) - { - this->m_config->mustMatchPattern = value; - } - } - - property String^ OcrLanguage { - String^ get() - { - return AlprHelper::ToManagedString(this->m_config->ocrLanguage); - } - void set(String^ value) - { - if (String::IsNullOrWhiteSpace(value)) - { - return; - } - this->m_config->ocrLanguage = marshal_as(value); - } - } - - property int OcrMinFontSize { - int get() - { - return this->m_config->ocrMinFontSize; - } - void set(int value) - { - this->m_config->ocrMinFontSize = value; - } - } - - property float PostProcessMinConfidence { - float get() - { - return this->m_config->postProcessMinConfidence; - } - void set(float value) - { - this->m_config->postProcessMinConfidence = value; - } - } - - property float PostProcessConfidenceSkipLevel { - float get() - { - return this->m_config->postProcessConfidenceSkipLevel; - } - void set(float value) - { - this->m_config->postProcessConfidenceSkipLevel = value; - } - } - - property unsigned int PostProcessMinCharacters { - unsigned int get() - { - return this->m_config->postProcessMinCharacters; - } - void set(unsigned int value) - { - this->m_config->postProcessMinCharacters = value; - } - } - - property unsigned int PostProcessMaxCharacters { - unsigned int get() - { - return this->m_config->postProcessMaxCharacters; - } - void set(unsigned int value) - { - this->m_config->postProcessMaxCharacters = value; - } - } - - property bool DebugGeneral { - bool get() - { - return this->m_config->debugGeneral; - } - void set(bool value) - { - this->m_config->debugGeneral = value; - } - } - - property bool DebugTiming { - bool get() - { - return this->m_config->debugTiming; - } - void set(bool value) - { - this->m_config->debugTiming = value; - } - } - - property bool DebugPrewarp { - bool get() - { - return this->m_config->debugPrewarp; - } - void set(bool value) - { - this->m_config->debugPrewarp = value; - } - } - - property bool DebugDetector { - bool get() - { - return this->m_config->debugDetector; - } - void set(bool value) - { - this->m_config->debugDetector = value; - } - } - - property bool DebugStateId { - bool get() - { - return this->m_config->debugStateId; - } - void set(bool value) - { - this->m_config->debugStateId = value; - } - } - - property bool DebugPlateLines { - bool get() - { - return this->m_config->debugPlateLines; - } - void set(bool value) - { - this->m_config->debugPlateLines = value; - } - } - - property bool DebugPlateCorners { - bool get() - { - return this->m_config->debugPlateCorners; - } - void set(bool value) - { - this->m_config->debugPlateCorners = value; - } - } - - property bool DebugCharSegmenter { - bool get() - { - return this->m_config->debugCharSegmenter; - } - void set(bool value) - { - this->m_config->debugCharSegmenter = value; - } - } - - property bool DebugCharAnalysis { - bool get() - { - return this->m_config->debugCharAnalysis; - } - void set(bool value) - { - this->m_config->debugCharAnalysis = value; - } - } - - property bool DebugColorFiler { - bool get() - { - return this->m_config->debugColorFiler; - } - void set(bool value) - { - this->m_config->debugColorFiler = value; - } - } - - property bool DebugOcr { - bool get() - { - return this->m_config->debugOcr; - } - void set(bool value) - { - this->m_config->debugOcr = value; - } - } - - property bool DebugPostProcess { - bool get() - { - return this->m_config->debugPostProcess; - } - void set(bool value) - { - this->m_config->debugPostProcess = value; - } - } - - property bool DebugShowImages { - bool get() - { - return this->m_config->debugShowImages; - } - void set(bool value) - { - this->m_config->debugShowImages = value; - } - } - - property bool DebugPauseOnFrame { - bool get() - { - return this->m_config->debugPauseOnFrame; - } - void set(bool value) - { - this->m_config->debugPauseOnFrame = value; - } - } - - void SetDebug(bool value) - { - this->m_config->setDebug(value); - } - - String^ GetKeypointsRuntimeDir() - { - return AlprHelper::ToManagedString(this->m_config->getKeypointsRuntimeDir()); - } - - String^ GetCascadeRuntimeDir() - { - return AlprHelper::ToManagedString(this->m_config->getCascadeRuntimeDir()); - } - - String^ GetPostProcessRuntimeDir() - { - return AlprHelper::ToManagedString(this->m_config->getPostProcessRuntimeDir()); - } - - String^ GetTessdataPrefix() - { - return AlprHelper::ToManagedString(this->m_config->getTessdataPrefix()); - } - - ~AlprConfigNet() - { - // void - } - - private: - Config *m_config; - }; -} \ No newline at end of file diff --git a/src/bindings/csharp/openalpr-net/helper-net.h b/src/bindings/csharp/openalpr-net/helper-net.h deleted file mode 100644 index c4716e0..0000000 --- a/src/bindings/csharp/openalpr-net/helper-net.h +++ /dev/null @@ -1,93 +0,0 @@ -#pragma once - -#using -#include - -#include -#include -#include - -#include "alpr.h" -#include "opencv2/imgproc/imgproc.hpp" - -#include - -using namespace alpr; - -using namespace msclr::interop; - -using namespace System; -using namespace System::Runtime::InteropServices; -using namespace System::Drawing; -using namespace System::Drawing::Imaging; -using namespace System::IO; -using namespace System::Collections::Generic; - -namespace openalprnet -{ - private ref class AlprHelper sealed - { - public: - - static std::vector ToVector(array^ src) - { - std::vector result(src->Length); - pin_ptr pin(&src[0]); - char *first(pin), *last(pin + src->Length); - std::copy(first, last, result.begin()); - return result; - } - - static std::vector ToVector(array^ src) - { - std::vector result(src->Length); - pin_ptr pin(&src[0]); - char* pch = reinterpret_cast(pin); - char *first(pch), *last(pch + src->Length); - std::copy(first, last, result.begin()); - return result; - } - - static std::vector ToVector(List^ src) - { - std::vector result; - - for each(System::Drawing::Rectangle^ rect in src) - { - AlprRegionOfInterest roi(rect->X, rect->Y, rect->Width, rect->Height); - result.push_back(roi); - } - - return result; - } - - static unsigned char* ToCharPtr(array^ src) - { - //unsigned char* result = (unsigned char*) new unsigned char[src->Length]; - pin_ptr pin(&src[0]); - unsigned char* pc = pin; - return pc; - } - - static System::String^ ToManagedString(std::string s) - { - return gcnew String(s.c_str()); - } - - static System::Drawing::Rectangle ToRectangle(cv::Rect rect) - { - return System::Drawing::Rectangle(rect.x, rect.y, rect.width, rect.height); - } - - static List^ ToRectangleList(std::vector srcRects) - { - List^ rects = gcnew List(); - for each(cv::Rect rect in srcRects) - { - rects->Add(ToRectangle(rect)); - } - return rects; - } - - }; -}; \ No newline at end of file diff --git a/src/bindings/csharp/openalpr-net/lock-net.h b/src/bindings/csharp/openalpr-net/lock-net.h deleted file mode 100644 index 56f05a3..0000000 --- a/src/bindings/csharp/openalpr-net/lock-net.h +++ /dev/null @@ -1,18 +0,0 @@ -#pragma once - -using namespace System::Threading; - -namespace openalprnet -{ - private ref class Lock { - Object^ m_pObject; - public: - Lock(Object ^ pObject) : m_pObject(pObject) { - Monitor::Enter(m_pObject); - } - ~Lock() { - Monitor::Exit(m_pObject); - } - }; -} - diff --git a/src/bindings/csharp/openalpr-net/motiondetector-net.cpp b/src/bindings/csharp/openalpr-net/motiondetector-net.cpp deleted file mode 100644 index a9a716b..0000000 --- a/src/bindings/csharp/openalpr-net/motiondetector-net.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include "stdafx.h" -#include "motiondetector-net.h" -#include "lock-net.h" -#include "bitmapmat-net.h" - -using namespace openalprnet; - -void AlprMotionDetectionNet::ResetMotionDetection(Bitmap^ bitmap) -{ - BitmapMat^ wrapper = gcnew BitmapMat(bitmap); - ResetMotionDetection(wrapper->Value); - delete wrapper; -} - -void AlprMotionDetectionNet::ResetMotionDetection(String^ filename) -{ - cv::Mat mat = cv::imread(marshal_as(filename)); - ResetMotionDetection(mat); -} - -void AlprMotionDetectionNet::ResetMotionDetection(MemoryStream^ memoryStream) -{ - return ResetMotionDetection(memoryStream->ToArray()); -} - -void AlprMotionDetectionNet::ResetMotionDetection(array^ byteArray) -{ - std::vector buffer = AlprHelper::ToVector(byteArray); - cv::Mat mat = cv::imdecode(buffer, CV_LOAD_IMAGE_COLOR); - ResetMotionDetection(mat); -} - -System::Drawing::Rectangle AlprMotionDetectionNet::MotionDetect(Bitmap^ bitmap) -{ - BitmapMat^ wrapper = gcnew BitmapMat(bitmap); - System::Drawing::Rectangle motion = MotionDetect(wrapper->Value); - delete wrapper; - return motion; -} - -System::Drawing::Rectangle AlprMotionDetectionNet::MotionDetect(String^ filename) -{ - cv::Mat mat = cv::imread(marshal_as(filename)); - System::Drawing::Rectangle motion = MotionDetect(mat); - return motion; -} - -System::Drawing::Rectangle AlprMotionDetectionNet::MotionDetect(MemoryStream^ memoryStream) -{ - return MotionDetect(memoryStream->ToArray()); -} - -System::Drawing::Rectangle AlprMotionDetectionNet::MotionDetect(array^ byteArray) -{ - std::vector buffer = AlprHelper::ToVector(byteArray); - cv::Mat mat = cv::imdecode(buffer, CV_LOAD_IMAGE_COLOR); - return MotionDetect(mat); -} - -void AlprMotionDetectionNet::ResetMotionDetection(cv::Mat mat) -{ - Lock lock(this); - this->m_motionDetector->ResetMotionDetection(&mat); -} - -System::Drawing::Rectangle AlprMotionDetectionNet::MotionDetect(cv::Mat mat) -{ - Lock lock(this); - cv::Rect rect = this->m_motionDetector->MotionDetect(&mat); - return AlprHelper::ToRectangle(rect); -} \ No newline at end of file diff --git a/src/bindings/csharp/openalpr-net/motiondetector-net.h b/src/bindings/csharp/openalpr-net/motiondetector-net.h deleted file mode 100644 index 86c0909..0000000 --- a/src/bindings/csharp/openalpr-net/motiondetector-net.h +++ /dev/null @@ -1,52 +0,0 @@ -#pragma once - -#include "motiondetector.h" // alpr -#include "helper-net.h" - -using namespace alpr; - -namespace openalprnet -{ - public ref class AlprMotionDetectionNet : IDisposable { - public: - AlprMotionDetectionNet() : m_motionDetector(new MotionDetector()) - { - - } - - void AlprMotionDetectionNet::ResetMotionDetection(Bitmap^ bitmap); - void AlprMotionDetectionNet::ResetMotionDetection(String^ filename); - void AlprMotionDetectionNet::ResetMotionDetection(MemoryStream^ memoryStream); - void AlprMotionDetectionNet::ResetMotionDetection(array^ byteArray); - System::Drawing::Rectangle AlprMotionDetectionNet::MotionDetect(Bitmap^ bitmap); - System::Drawing::Rectangle AlprMotionDetectionNet::MotionDetect(String^ filename); - System::Drawing::Rectangle AlprMotionDetectionNet::MotionDetect(MemoryStream^ memoryStream); - System::Drawing::Rectangle AlprMotionDetectionNet::MotionDetect(array^ byteArray); - - private: - - ~AlprMotionDetectionNet() - { - if (this->m_disposed) - { - return; - } - - this->!AlprMotionDetectionNet(); - this->m_disposed = true; - } - - !AlprMotionDetectionNet() - { - delete m_motionDetector; - } - - private: - void ResetMotionDetection(cv::Mat mat); - System::Drawing::Rectangle MotionDetect(cv::Mat mat); - - private: - MotionDetector* m_motionDetector; - bool m_disposed; - }; -} \ No newline at end of file diff --git a/src/bindings/csharp/openalpr-net/openalpr-net.cpp b/src/bindings/csharp/openalpr-net/openalpr-net.cpp deleted file mode 100644 index 6aa2a39..0000000 --- a/src/bindings/csharp/openalpr-net/openalpr-net.cpp +++ /dev/null @@ -1,484 +0,0 @@ -/* -* Copyright (c) 2015 OpenALPR Technology, Inc. -* -* This file is part of OpenALPR. -* -* OpenALPR is free software: you can redistribute it and/or modify -* it under the terms of the GNU Affero General Public License -* version 3 as published by the Free Software Foundation -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU Affero General Public License for more details. -* -* You should have received a copy of the GNU Affero General Public License -* along with this program. If not, see . -*/ - -#include "stdafx.h" -#include "openalpr-net.h" - -using namespace System; -using namespace alpr; - -namespace openalprnet { - - public ref class AlprPlateNet sealed - { - public: - AlprPlateNet(AlprPlate plate){ - m_characters = AlprHelper::ToManagedString(plate.characters); - m_overall_confidence=plate.overall_confidence; - m_matches_template=plate.matches_template; - } - - property System::String^ Characters { - System::String^ get() { - return m_characters; - } - } - - property float OverallConfidence { - float get() { - return m_overall_confidence; - } - } - - property bool MatchesTemplate { - bool get() { - return m_matches_template; - } - } - - private: - System::String^ m_characters; - float m_overall_confidence; - bool m_matches_template; - }; - - public ref class AlprPlateResultNet sealed - { - public: - AlprPlateResultNet(AlprPlateResult result) { - m_plate_index = result.plate_index; - m_processing_time_ms = result.processing_time_ms; - m_regionConfidence = result.regionConfidence; - m_region = AlprHelper::ToManagedString(result.region); - m_bestPlate = gcnew AlprPlateNet(result.bestPlate); - - m_plate_points = gcnew List(4); - for (int i = 0; i < 4; i++) - { - m_plate_points->Add(System::Drawing::Point(result.plate_points[i].x, result.plate_points[i].y)); - } - - int num = result.topNPlates.size(); - m_topNPlates = gcnew List(num); - for (int i = 0; i < num; i++) - { - m_topNPlates->Add(gcnew AlprPlateNet(result.topNPlates[i])); - } - } - - property int RequestedTopN { - int get() { - return m_requested_topn; - } - } - - property int RegionConfidence { - int get() { - return m_regionConfidence; - } - } - - property int PlateIndex { - int get() { - return m_plate_index; - } - } - - property System::String^ Region { - System::String^ get() { - return m_region; - } - } - - property AlprPlateNet^ BestPlate { - AlprPlateNet^ get() { - return m_bestPlate; - } - } - - property List^ PlatePoints { - List^ get() { - return m_plate_points; - } - } - - property List^ TopNPlates { - List^ get() { - return m_topNPlates; - } - } - - property float ProcessingTimeMs { - float get() { - return m_processing_time_ms; - } - } - - private: - int m_requested_topn; - int m_regionConfidence; - int m_plate_index; - System::String^ m_region; - float m_processing_time_ms; - List^ m_topNPlates; - List^ m_plate_points; - AlprPlateNet^ m_bestPlate; - }; - - - public ref class AlprResultsNet sealed - { - public: - AlprResultsNet(AlprResults results) { - m_epoch_time = results.epoch_time; - m_img_width = results.img_width; - m_img_height = results.img_height; - m_total_processing_time_ms = results.total_processing_time_ms; - - int num_rois = results.regionsOfInterest.size(); - m_regionsOfInterest = gcnew List(num_rois); - for (int i = 0; i < num_rois; i++) - { - m_regionsOfInterest->Add(System::Drawing::Rectangle( - results.regionsOfInterest[i].x, - results.regionsOfInterest[i].y, - results.regionsOfInterest[i].width, - results.regionsOfInterest[i].height)); - } - - int num_plates = results.plates.size(); - m_plates = gcnew List(num_plates); - for (int i = 0; i < num_plates; i++) - { - m_plates->Add(gcnew AlprPlateResultNet(results.plates[i])); - } - - std::string json = Alpr::toJson(results); - m_json = AlprHelper::ToManagedString(json); - } - - property long EpochTime { - long get() { - return m_epoch_time; - } - } - - property int ImageWidth { - int get() { - return m_img_width; - } - } - - property int ImageHeight { - int get() { - return m_img_height; - } - } - - property float TotalProcessingTimeMs { - float get() { - return m_total_processing_time_ms; - } - } - - property List^ RegionsOfInterest { - List^ get() { - return m_regionsOfInterest; - } - } - - property List^ Plates { - List^ get() { - return m_plates; - } - } - - property System::String^ Json { - System::String^ get() { - return m_json; - } - } - - private: - long m_epoch_time; - int m_img_width; - int m_img_height; - float m_total_processing_time_ms; - List^ m_regionsOfInterest; - List^ m_plates; - System::String^ m_json; - }; - - - public ref class AlprFrameEventArgs : public EventArgs - { - public: - AlprFrameEventArgs(int frameNumber, System::Drawing::Image^ frame, AlprResultsNet^ results) { - m_frameNumber = frameNumber; - m_frame = frame; - m_results = results; - m_cancel = false; - } - - property int FrameNumber { - int get() { - return m_frameNumber; - } - } - - property System::Drawing::Image^ Frame { - System::Drawing::Image^ get() { - return m_frame; - } - } - - property AlprResultsNet^ Results { - AlprResultsNet^ get() { - return m_results; - } - } - - property bool Cancel { - bool get() { - return m_cancel; - } - void set( bool cancel ) { - m_cancel = cancel; - } - } - private: - int m_frameNumber; - System::Drawing::Image^ m_frame; - AlprResultsNet^ m_results; - bool m_cancel; - }; - - public ref class AlprNet sealed : IDisposable - { - public: - // Allocate the native object on the C++ Heap via a constructor - AlprNet(System::String^ country, System::String^ configFile, System::String^ runtimeDir) : m_Impl( new Alpr(marshal_as(country), marshal_as(configFile), marshal_as(runtimeDir)) ) - { - this->m_config = gcnew AlprConfigNet(this->m_Impl->getConfig()); - } - - ~AlprNet() { - if(this->m_disposed) - { - return; - } - - this->!AlprNet(); - this->m_disposed = true; - } - - property AlprConfigNet^ Configuration { - AlprConfigNet^ get() - { - return this->m_config; - } - } - - property int TopN { - int get() { - return m_topN; - } - void set( int topn ){ - m_topN = topn; - m_Impl->setTopN(topn); - } - } - - property bool DetectRegion { - bool get() { - return m_detectRegion; - } - void set( bool detectRegion ) { - m_detectRegion = detectRegion; - m_Impl->setDetectRegion(detectRegion); - } - } - - property System::String^ DefaultRegion { - System::String^ get() { - return m_defaultRegion; - } - void set( System::String^ region ){ - m_defaultRegion = region; - m_Impl->setDefaultRegion(marshal_as(region)); - } - } - - event EventHandler^ FrameProcessed; - - void RecognizeFromVideo(System::String^ videoPath) { - if (System::IO::File::Exists(videoPath)) { - int framenum = 0; - cv::VideoCapture cap = cv::VideoCapture(); - cap.open(marshal_as(videoPath)); - - cv::Mat frame; - - while (cap.read(frame)) - { - std::vector regionsOfInterest; - regionsOfInterest.push_back(AlprRegionOfInterest(0, 0, frame.cols, frame.rows)); - - AlprResults results = m_Impl->recognize(frame.data, frame.elemSize(), frame.cols, frame.rows, regionsOfInterest); - int framecolsorig = frame.cols; - if (framecolsorig % 4 != 0) copyMakeBorder(frame, frame, 0, 0, 0, 4 - (framecolsorig % 4), IPL_BORDER_REPLICATE); //Stride has to be multiple of 4 - Image^ frameImage = gcnew Bitmap(framecolsorig, frame.rows, frame.step, Imaging::PixelFormat::Format24bppRgb, IntPtr(frame.data)); - AlprFrameEventArgs^ alprFrameEventArgs = gcnew AlprFrameEventArgs(framenum, frameImage, gcnew AlprResultsNet(results)); - FrameProcessed(this, alprFrameEventArgs); - delete frameImage; - if (alprFrameEventArgs->Cancel) { - break; - } - framenum++; - } - } - else { - throw gcnew System::IO::FileNotFoundException("No video was not found at " + videoPath, videoPath); - } - } - - /// - /// Recognize from an image on disk - /// - AlprResultsNet^ Recognize(System::String^ filepath) { - return Recognize(filepath, gcnew List()); - } - - /// - /// Recognize from an image on disk - /// - AlprResultsNet^ Recognize(System::String^ filepath, List^ regionsOfInterest) { - array^ byteArray = File::ReadAllBytes(filepath); - return Recognize(byteArray, regionsOfInterest); - } - - /// - /// Recognize from a bitmap - /// - AlprResultsNet^ Recognize(Bitmap^ bitmap) - { - return Recognize(bitmap, gcnew List()); - } - - /// - /// Recognize from MemoryStream representing an encoded image (e.g., BMP, PNG, JPG, GIF etc). - /// - AlprResultsNet^ Recognize(MemoryStream^ memoryStream) - { - return Recognize(memoryStream, gcnew List()); - } - - /// - /// Recognize from MemoryStream representing an encoded image (e.g., BMP, PNG, JPG, GIF etc). - /// - AlprResultsNet^ Recognize(MemoryStream^ memoryStream, List^ regionsOfInterest) - { - return Recognize(memoryStream->ToArray(), regionsOfInterest); - } - - /// - /// Recognize from byte data representing an encoded image (e.g., BMP, PNG, JPG, GIF etc). - /// - AlprResultsNet^ Recognize(array^ imageBuffer) { - return Recognize(imageBuffer, gcnew List()); - } - - /// - /// Recognize from a bitmap - /// - AlprResultsNet^ Recognize(Bitmap^ bitmap, List^ regionsOfInterest) - { - BitmapMat^ wrapper = gcnew BitmapMat(bitmap); - AlprResultsNet^ results = Recognize(wrapper, regionsOfInterest); - delete wrapper; - return results; - } - - /// - /// Recognize from byte data representing an encoded image (e.g., BMP, PNG, JPG, GIF etc). - /// - AlprResultsNet^ Recognize(array^ imageBuffer, List^ regionsOfInterest) { - BitmapMat^ wrapper = gcnew BitmapMat(imageBuffer); - AlprResultsNet^ results = Recognize(wrapper, regionsOfInterest); - delete wrapper; - return results; - } - - /// - /// Pre-warp from raw pixel data. - /// - array^ PreWarp(array^ imageBuffer) - { - std::vector buffer = AlprHelper::ToVector(imageBuffer); - cv::Mat src = cv::imdecode(buffer, CV_LOAD_IMAGE_COLOR); - - alpr::PreWarp *preWarp = new alpr::PreWarp(m_Impl->getConfig()); - cv::Mat warpedImage = preWarp->warpImage(src); - - std::vector warpedImageVector; - cv::imencode(".jpg", warpedImage, warpedImageVector); - - const size_t warpedImageSize = warpedImageVector.size(); - - array^ warpedImageByteArray = gcnew array(warpedImageSize); - pin_ptr pin(&warpedImageByteArray[0]); - - std::memcpy(pin, &warpedImageVector[0], warpedImageSize); - - delete preWarp; - - return warpedImageByteArray; - } - - bool IsLoaded() { - return m_Impl->isLoaded(); - } - - static System::String^ GetVersion() { - return AlprHelper::ToManagedString(Alpr::getVersion()); - } - - protected: - - AlprResultsNet^ Recognize(BitmapMat^ bitmapMat, List^ regionsOfInterest) { - cv::Mat frame = bitmapMat->Value; - std::vector rois = AlprHelper::ToVector(regionsOfInterest); - AlprResults results = m_Impl->recognize(frame.data, frame.elemSize(), frame.cols, frame.rows, rois); - return gcnew AlprResultsNet(results); - } - - // Deallocate the native object on the finalizer just in case no destructor is called - !AlprNet() { - delete m_Impl; - delete m_config; - } - - private: - Alpr * m_Impl; - AlprConfigNet^ m_config; - int m_topN; - bool m_detectRegion; - System::String^ m_defaultRegion; - bool m_disposed; - }; -} diff --git a/src/bindings/csharp/openalpr-net/openalpr-net.h b/src/bindings/csharp/openalpr-net/openalpr-net.h deleted file mode 100644 index ca26c5e..0000000 --- a/src/bindings/csharp/openalpr-net/openalpr-net.h +++ /dev/null @@ -1,23 +0,0 @@ -#pragma once - -#include "alpr.h" -#include "prewarp.h" - -#include -#include -#include - -#include "opencv2/highgui/highgui.hpp" -#include "opencv2/imgproc/imgproc.hpp" - -#using -#include - -#include "helper-net.h" -#include "bitmapmat-net.h" -#include "motiondetector-net.h" -#include "config-net.h" - -namespace openalprnet { - -} diff --git a/src/bindings/csharp/openalpr-net/openalpr-net.vcxproj b/src/bindings/csharp/openalpr-net/openalpr-net.vcxproj deleted file mode 100644 index 4189a7f..0000000 --- a/src/bindings/csharp/openalpr-net/openalpr-net.vcxproj +++ /dev/null @@ -1,187 +0,0 @@ - - - - - Debug - Win32 - - - Debug - x64 - - - Release - Win32 - - - Release - x64 - - - - {4044340C-C435-4A1F-8F12-0806C38AE3B6} - v4.0 - ManagedCProj - openalprnet - 2.1.0 - v120 - v140 - ..\..\..\..\windows - None - $(OpenALPRWindowsDir)\build\dist\$(OpenALPRVersion)\$(PlatformToolset)\$(Configuration)\$(Platform) - $(OpenALPRWindowsDir)\build\dist\$(OpenALPRVersion)\$(PlatformToolset)\$(Configuration)\$(Platform)_CUDA_Fermi - $(OpenALPRWindowsDir)\build\dist\$(OpenALPRVersion)\$(PlatformToolset)\$(Configuration)\$(Platform)_CUDA_Kepler - 300 - 303 - 170 - d - - - -debug - - - - - - DynamicLibrary - true - true - Unicode - - - DynamicLibrary - true - true - Unicode - - - DynamicLibrary - false - true - Unicode - false - - - DynamicLibrary - false - true - Unicode - false - - - - - - - - - - - - - - - - - - - true - - - true - - - false - - - false - - - - Level3 - Disabled - WIN32;_DEBUG;WINDOWS;%(PreprocessorDefinitions) - Use - $(OpenALPRWindowsDir)\tesseract-ocr\src\api;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccstruct;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccmain;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccutil;$(OpenALPRWindowsDir)\opencv;$(OpenALPRWindowsDir)\opencv\include;$(OpenALPRWindowsDir)\opencv\include\opencv;$(OpenALPRWindowsDir)\opencv\modules\core\include;$(OpenALPRWindowsDir)\opencv\modules\flann\include;$(OpenALPRWindowsDir)\opencv\modules\imgproc\include;$(OpenALPRWindowsDir)\opencv\modules\highgui\include;$(OpenALPRWindowsDir)\opencv\modules\features2d\include;$(OpenALPRWindowsDir)\opencv\modules\calib3d\include;$(OpenALPRWindowsDir)\opencv\modules\ml\include;$(OpenALPRWindowsDir)\opencv\modules\video\include;$(OpenALPRWindowsDir)\opencv\modules\legacy\include;$(OpenALPRWindowsDir)\opencv\modules\objdetect\include;$(OpenALPRWindowsDir)\opencv\modules\photo\include;$(OpenALPRWindowsDir)\opencv\modules\gpu\include;$(OpenALPRWindowsDir)\opencv\modules\nonfree\include;$(OpenALPRWindowsDir)\opencv\modules\contrib\include;$(OpenALPRWindowsDir)\opencv\modules\stitching\include;$(OpenALPRWindowsDir)\opencv\modules\ts\include;$(OpenALPRWindowsDir)\opencv\modules\videostab\include;$(OpenALPRWindowsDir)\..\src\openalpr;$(OpenALPRWindowsDir)\opencv\modules\hal\include;$(OpenALPRWindowsDir)\opencv\modules\imgcodecs\include;$(OpenALPRWindowsDir)\opencv\modules\videoio\include;%(AdditionalIncludeDirectories) - - - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;$(OpenALPRDistDir)\libtesseract$(TesseractVersion)-static$(TesseractDebugPrefix).lib;$(OpenALPRDistDir)\liblept$(LeptonicaVersion)$(DebugPrefix).lib;ws2_32.lib;$(OpenALPRDistDir)\support.lib;$(OpenALPRDistDir)\openalpr-static.lib;$(OpenALPRDistDir)\statedetection.lib;$(OpenALPRDistDir)\opencv_world$(OpenCVVersion)$(DebugPrefix).lib - - - - - Level3 - Disabled - WIN32;_DEBUG;WINDOWS;%(PreprocessorDefinitions) - Use - $(OpenALPRWindowsDir)\tesseract-ocr\src\api;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccstruct;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccmain;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccutil;$(OpenALPRWindowsDir)\opencv;$(OpenALPRWindowsDir)\opencv\include;$(OpenALPRWindowsDir)\opencv\include\opencv;$(OpenALPRWindowsDir)\opencv\modules\core\include;$(OpenALPRWindowsDir)\opencv\modules\flann\include;$(OpenALPRWindowsDir)\opencv\modules\imgproc\include;$(OpenALPRWindowsDir)\opencv\modules\highgui\include;$(OpenALPRWindowsDir)\opencv\modules\features2d\include;$(OpenALPRWindowsDir)\opencv\modules\calib3d\include;$(OpenALPRWindowsDir)\opencv\modules\ml\include;$(OpenALPRWindowsDir)\opencv\modules\video\include;$(OpenALPRWindowsDir)\opencv\modules\legacy\include;$(OpenALPRWindowsDir)\opencv\modules\objdetect\include;$(OpenALPRWindowsDir)\opencv\modules\photo\include;$(OpenALPRWindowsDir)\opencv\modules\gpu\include;$(OpenALPRWindowsDir)\opencv\modules\nonfree\include;$(OpenALPRWindowsDir)\opencv\modules\contrib\include;$(OpenALPRWindowsDir)\opencv\modules\stitching\include;$(OpenALPRWindowsDir)\opencv\modules\ts\include;$(OpenALPRWindowsDir)\opencv\modules\videostab\include;$(OpenALPRWindowsDir)\..\src\openalpr;$(OpenALPRWindowsDir)\opencv\modules\hal\include;$(OpenALPRWindowsDir)\opencv\modules\imgcodecs\include;$(OpenALPRWindowsDir)\opencv\modules\videoio\include;%(AdditionalIncludeDirectories) - - - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;$(OpenALPRDistDir)\libtesseract$(TesseractVersion)-static$(TesseractDebugPrefix).lib;$(OpenALPRDistDir)\liblept$(LeptonicaVersion)$(DebugPrefix).lib;ws2_32.lib;$(OpenALPRDistDir)\support.lib;$(OpenALPRDistDir)\openalpr-static.lib;$(OpenALPRDistDir)\statedetection.lib;$(OpenALPRDistDir)\opencv_world$(OpenCVVersion)$(DebugPrefix).lib - - - - - Level3 - WIN32;NDEBUG;WINDOWS;%(PreprocessorDefinitions) - Use - $(OpenALPRWindowsDir)\tesseract-ocr\src\api;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccstruct;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccmain;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccutil;$(OpenALPRWindowsDir)\opencv;$(OpenALPRWindowsDir)\opencv\include;$(OpenALPRWindowsDir)\opencv\include\opencv;$(OpenALPRWindowsDir)\opencv\modules\core\include;$(OpenALPRWindowsDir)\opencv\modules\flann\include;$(OpenALPRWindowsDir)\opencv\modules\imgproc\include;$(OpenALPRWindowsDir)\opencv\modules\highgui\include;$(OpenALPRWindowsDir)\opencv\modules\features2d\include;$(OpenALPRWindowsDir)\opencv\modules\calib3d\include;$(OpenALPRWindowsDir)\opencv\modules\ml\include;$(OpenALPRWindowsDir)\opencv\modules\video\include;$(OpenALPRWindowsDir)\opencv\modules\legacy\include;$(OpenALPRWindowsDir)\opencv\modules\objdetect\include;$(OpenALPRWindowsDir)\opencv\modules\photo\include;$(OpenALPRWindowsDir)\opencv\modules\gpu\include;$(OpenALPRWindowsDir)\opencv\modules\nonfree\include;$(OpenALPRWindowsDir)\opencv\modules\contrib\include;$(OpenALPRWindowsDir)\opencv\modules\stitching\include;$(OpenALPRWindowsDir)\opencv\modules\ts\include;$(OpenALPRWindowsDir)\opencv\modules\videostab\include;$(OpenALPRWindowsDir)\..\src\openalpr;$(OpenALPRWindowsDir)\opencv\modules\hal\include;$(OpenALPRWindowsDir)\opencv\modules\imgcodecs\include;$(OpenALPRWindowsDir)\opencv\modules\videoio\include;%(AdditionalIncludeDirectories) - - - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;$(OpenALPRDistDir)\opencv_world$(OpenCVVersion)$(DebugPrefix).lib;$(OpenALPRDistDir)\libtesseract$(TesseractVersion)-static$(TesseractDebugPrefix).lib;$(OpenALPRDistDir)\liblept$(LeptonicaVersion)$(DebugPrefix).lib;ws2_32.lib;$(OpenALPRDistDir)\support.lib;$(OpenALPRDistDir)\openalpr-static.lib;$(OpenALPRDistDir)\statedetection.lib - - - - - Level3 - WIN32;NDEBUG;WINDOWS;%(PreprocessorDefinitions) - Use - $(OpenALPRWindowsDir)\tesseract-ocr\src\api;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccstruct;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccmain;$(OpenALPRWindowsDir)\tesseract-ocr\src\ccutil;$(OpenALPRWindowsDir)\opencv;$(OpenALPRWindowsDir)\opencv\include;$(OpenALPRWindowsDir)\opencv\include\opencv;$(OpenALPRWindowsDir)\opencv\modules\core\include;$(OpenALPRWindowsDir)\opencv\modules\flann\include;$(OpenALPRWindowsDir)\opencv\modules\imgproc\include;$(OpenALPRWindowsDir)\opencv\modules\highgui\include;$(OpenALPRWindowsDir)\opencv\modules\features2d\include;$(OpenALPRWindowsDir)\opencv\modules\calib3d\include;$(OpenALPRWindowsDir)\opencv\modules\ml\include;$(OpenALPRWindowsDir)\opencv\modules\video\include;$(OpenALPRWindowsDir)\opencv\modules\legacy\include;$(OpenALPRWindowsDir)\opencv\modules\objdetect\include;$(OpenALPRWindowsDir)\opencv\modules\photo\include;$(OpenALPRWindowsDir)\opencv\modules\gpu\include;$(OpenALPRWindowsDir)\opencv\modules\nonfree\include;$(OpenALPRWindowsDir)\opencv\modules\contrib\include;$(OpenALPRWindowsDir)\opencv\modules\stitching\include;$(OpenALPRWindowsDir)\opencv\modules\ts\include;$(OpenALPRWindowsDir)\opencv\modules\videostab\include;$(OpenALPRWindowsDir)\..\src\openalpr;$(OpenALPRWindowsDir)\opencv\modules\hal\include;$(OpenALPRWindowsDir)\opencv\modules\imgcodecs\include;$(OpenALPRWindowsDir)\opencv\modules\videoio\include;%(AdditionalIncludeDirectories) - - - true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;$(OpenALPRDistDir)\opencv_world$(OpenCVVersion)$(DebugPrefix).lib;$(OpenALPRDistDir)\libtesseract$(TesseractVersion)-static$(TesseractDebugPrefix).lib;$(OpenALPRDistDir)\liblept$(LeptonicaVersion)$(DebugPrefix).lib;ws2_32.lib;$(OpenALPRDistDir)\support.lib;$(OpenALPRDistDir)\openalpr-static.lib;$(OpenALPRDistDir)\statedetection.lib - - - - - - - - - - - - - - - - - - - - - - - - - - Create - Create - Create - Create - - - - - - - - - - - - \ No newline at end of file diff --git a/src/bindings/csharp/openalpr-net/openalpr-net.vcxproj.filters b/src/bindings/csharp/openalpr-net/openalpr-net.vcxproj.filters deleted file mode 100644 index 22e7904..0000000 --- a/src/bindings/csharp/openalpr-net/openalpr-net.vcxproj.filters +++ /dev/null @@ -1,73 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Resource Files - - - - - Resource Files - - - \ No newline at end of file diff --git a/src/bindings/csharp/openalpr-net/openalpr-net.vcxproj.user b/src/bindings/csharp/openalpr-net/openalpr-net.vcxproj.user deleted file mode 100644 index ace9a86..0000000 --- a/src/bindings/csharp/openalpr-net/openalpr-net.vcxproj.user +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/src/bindings/csharp/openalpr-net/resource.h b/src/bindings/csharp/openalpr-net/resource.h deleted file mode 100644 index d5ac7c4..0000000 --- a/src/bindings/csharp/openalpr-net/resource.h +++ /dev/null @@ -1,3 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by app.rc diff --git a/src/bindings/csharp/openalpr-net/types-net.h b/src/bindings/csharp/openalpr-net/types-net.h deleted file mode 100644 index e8faaea..0000000 --- a/src/bindings/csharp/openalpr-net/types-net.h +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -#include "alpr.h" // alpr -#include "config.h" // alpr - -using namespace alpr; - -namespace openalprnet -{ - namespace types - { - public enum class AlprDetectorTypeNet : int { - DetectorLbpCpu = alpr::DETECTOR_LBP_CPU, - DetectorLbpGpu = alpr::DETECTOR_LBP_GPU, - DetectorLbpMorphCpu = alpr::DETECTOR_MORPH_CPU, - DetectorLbpOpencl = alpr::DETECTOR_LBP_OPENCL - }; - } -} \ No newline at end of file diff --git a/src/bindings/csharp/openalprnet-cli/CommandLine.cs b/src/bindings/csharp/openalprnet-cli/CommandLine.cs deleted file mode 100644 index 4241ad0..0000000 --- a/src/bindings/csharp/openalprnet-cli/CommandLine.cs +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (c) 2015 OpenALPR Technology, Inc. - * - * This file is part of OpenALPR. - * - * OpenALPR is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License - * version 3 as published by the Free Software Foundation - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text.RegularExpressions; - -namespace openalprnet_cli -{ - internal static class CommandLine - { - private const string NameGroup = "name"; // Names of capture groups - private const string ValueGroup = "value"; - /* The regex that extracts names and comma-separated values for switches - in the form ([="value 1",value2,...])+ */ - - private static readonly Regex RexPattern = - new Regex(@"(?[^=]+)=?((?\""?)(?(?(quoted)[^\""]+|[^,]+))\""?,?)*", - RegexOptions.Compiled | RegexOptions.CultureInvariant | - RegexOptions.ExplicitCapture | RegexOptions.IgnoreCase); - - public static void Process(this string[] args, Action printUsage, params Switch[] switches) - { - /* Run through all matches in the argument list and if any of the switches - match, get the values and invoke the handler we were given. We do a Sum() - here for 2 reasons; a) To actually run the handlers - and b) see if any were invoked at all (each returns 1 if invoked). - If none were invoked, we simply invoke the printUsage handler. */ - if ((from arg in args - from Match match in RexPattern.Matches(arg) - from s in switches - where match.Success && - ((string.Compare(match.Groups[NameGroup].Value, s.Name, true) == 0) || - (string.Compare(match.Groups[NameGroup].Value, s.ShortForm, true) == 0)) - select s.InvokeHandler(match.Groups[ValueGroup].Value.Split(','))).Sum() == 0) - printUsage(); // We didn't find any switches - } - - public class Switch // Class that encapsulates switch data. - { - public Switch(string name, Action> handler, string shortForm) - { - Name = name; - Handler = handler; - ShortForm = shortForm; - } - - public Switch(string name, Action> handler) - { - Name = name; - Handler = handler; - ShortForm = null; - } - - public string Name { get; private set; } - public string ShortForm { get; private set; } - public Action> Handler { get; private set; } - - public int InvokeHandler(string[] values) - { - Handler(values); - return 1; - } - } - } -} \ No newline at end of file diff --git a/src/bindings/csharp/openalprnet-cli/Program.cs b/src/bindings/csharp/openalprnet-cli/Program.cs deleted file mode 100644 index 556d4d3..0000000 --- a/src/bindings/csharp/openalprnet-cli/Program.cs +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright (c) 2015 OpenALPR Technology, Inc. - * - * This file is part of OpenALPR. - * - * OpenALPR is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License - * version 3 as published by the Free Software Foundation - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -using System; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Reflection; -using openalprnet; - -namespace openalprnet_cli -{ - internal class Program - { - public static string AssemblyDirectory - { - get - { - var codeBase = Assembly.GetExecutingAssembly().CodeBase; - var uri = new UriBuilder(codeBase); - var path = Uri.UnescapeDataString(uri.Path); - return Path.GetDirectoryName(path); - } - } - - private static bool StrToBool(string s) - { - return !string.IsNullOrEmpty(s) && s.Trim() == "1"; - } - - private static void Main(string[] args) - { - var region = "us"; - var detectRegion = false; - var benchmark = false; - var json = false; - var filename = string.Empty; - - - args.Process( - () => Console.WriteLine("Usage: r=us/eu b=0/1 j=0/1 d=0/1 f="), - new CommandLine.Switch("r", - val => { if (val.Any()) region = val.First().Trim().ToLower(); }), - new CommandLine.Switch("b", - val => { if (val.Any()) benchmark = StrToBool(val.First()); }), - new CommandLine.Switch("j", - val => { if (val.Any()) json = StrToBool(val.First()); }), - new CommandLine.Switch("d", - val => { if (val.Any()) detectRegion = StrToBool(val.First()); }), - new CommandLine.Switch("f", - val => { if (val.Any()) filename = val.First().Trim(); }) - ); - - Console.WriteLine("OpenAlpr Version: {0}", AlprNet.GetVersion()); - var config = Path.Combine(AssemblyDirectory, "openalpr.conf"); - var runtime_data = Path.Combine(AssemblyDirectory, "runtime_data"); - var alpr = new AlprNet(region, config, runtime_data); - if (!alpr.IsLoaded()) - { - Console.WriteLine("OpenAlpr failed to load!"); - return; - } - - //var samplePath = Path.Combine(AssemblyDirectory, @"samples\eu-1.jpg"); - //alpr.TopN = 3; - alpr.DefaultRegion = region; - alpr.DetectRegion = detectRegion; - - if (Directory.Exists(filename)) - { - var files = Directory.GetFiles(filename, "*.jpg", SearchOption.TopDirectoryOnly); - foreach (var fname in files) - { - PerformAlpr(alpr, fname, benchmark, json); - } - return; - } - - if (!File.Exists(filename)) - { - Console.WriteLine("The file doesn't exist!"); - return; - } - var buffer = File.ReadAllBytes(filename); - PerformAlpr(alpr, buffer, benchmark, json); - } - - private static void PerformAlpr(AlprNet alpr, string filename, bool benchmark, bool writeJson) - { - Console.WriteLine("Processing '{0}'...\n------------------", Path.GetFileName(filename)); - var buffer = File.ReadAllBytes(filename); - PerformAlpr(alpr, buffer, benchmark, writeJson); - } - - private static void PerformAlpr(AlprNet alpr, byte[] buffer, bool benchmark, bool writeJson) - { - var sw = Stopwatch.StartNew(); - var results = alpr.Recognize(buffer); - sw.Stop(); - if (benchmark) - { - Console.WriteLine("Total Time to process image(s): {0} msec(s)", sw.ElapsedMilliseconds); - } - - if (writeJson) - { - //Console.WriteLine(alpr.toJson()); - } - else - { - var i = 0; - foreach (var result in results.Plates) - { - Console.WriteLine("Plate {0}: {1} result(s)", i++, result.TopNPlates.Count); - Console.WriteLine(" Processing Time: {0} msec(s)", result.ProcessingTimeMs); - foreach (var plate in result.TopNPlates) - { - Console.WriteLine(" - {0}\t Confidence: {1}\tMatches Template: {2}", plate.Characters, - plate.OverallConfidence, plate.MatchesTemplate); - } - } - } - } - } -} \ No newline at end of file diff --git a/src/bindings/csharp/openalprnet-cli/Properties/AssemblyInfo.cs b/src/bindings/csharp/openalprnet-cli/Properties/AssemblyInfo.cs deleted file mode 100644 index 8c169b6..0000000 --- a/src/bindings/csharp/openalprnet-cli/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("openalprnet-cli")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("openalprnet-cli")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("42477de2-b13e-4959-a03e-ae43c65e68f3")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/bindings/csharp/openalprnet-cli/openalprnet-cli.csproj b/src/bindings/csharp/openalprnet-cli/openalprnet-cli.csproj deleted file mode 100644 index c193a24..0000000 --- a/src/bindings/csharp/openalprnet-cli/openalprnet-cli.csproj +++ /dev/null @@ -1,96 +0,0 @@ - - - - Debug - x86 - 8.0.30703 - 2.0 - {BD50C6C1-EEB9-48D2-A87C-70F5342579DD} - Exe - Properties - openalprnet_cli - openalprnet-cli - v4.0 - Client - 512 - - - x86 - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - x86 - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - bin\x64\Debug\ - DEBUG;TRACE - full - x64 - bin\Debug\openalprnet-cli.exe.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - false - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - false - false - - - bin\x64\Release\ - TRACE - true - pdbonly - x64 - bin\Release\openalprnet-cli.exe.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - - - - - - - - - - - - - - - - - - - {4044340C-C435-4A1F-8F12-0806C38AE3B6} - openalpr-net - - - - - \ No newline at end of file diff --git a/src/bindings/csharp/openalprnet-windemo/Form1.Designer.cs b/src/bindings/csharp/openalprnet-windemo/Form1.Designer.cs deleted file mode 100644 index 98dc8f2..0000000 --- a/src/bindings/csharp/openalprnet-windemo/Form1.Designer.cs +++ /dev/null @@ -1,192 +0,0 @@ -namespace openalprnet_windemo -{ - partial class Form1 - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.btnDetect = new System.Windows.Forms.Button(); - this.picLicensePlate = new System.Windows.Forms.PictureBox(); - this.picOriginal = new System.Windows.Forms.PictureBox(); - this.lbxPlates = new System.Windows.Forms.ListBox(); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.openFileDialog = new System.Windows.Forms.OpenFileDialog(); - this.label4 = new System.Windows.Forms.Label(); - this.rbUSA = new System.Windows.Forms.RadioButton(); - this.rbEU = new System.Windows.Forms.RadioButton(); - ((System.ComponentModel.ISupportInitialize)(this.picLicensePlate)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.picOriginal)).BeginInit(); - this.SuspendLayout(); - // - // btnDetect - // - this.btnDetect.Location = new System.Drawing.Point(830, 25); - this.btnDetect.Name = "btnDetect"; - this.btnDetect.Size = new System.Drawing.Size(291, 37); - this.btnDetect.TabIndex = 0; - this.btnDetect.Text = "Detect License Plate"; - this.btnDetect.UseVisualStyleBackColor = true; - this.btnDetect.Click += new System.EventHandler(this.button1_Click); - // - // picLicensePlate - // - this.picLicensePlate.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.picLicensePlate.Location = new System.Drawing.Point(827, 403); - this.picLicensePlate.Name = "picLicensePlate"; - this.picLicensePlate.Size = new System.Drawing.Size(294, 123); - this.picLicensePlate.TabIndex = 1; - this.picLicensePlate.TabStop = false; - // - // picOriginal - // - this.picOriginal.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.picOriginal.Location = new System.Drawing.Point(12, 25); - this.picOriginal.Name = "picOriginal"; - this.picOriginal.Size = new System.Drawing.Size(809, 501); - this.picOriginal.TabIndex = 2; - this.picOriginal.TabStop = false; - // - // lbxPlates - // - this.lbxPlates.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbxPlates.FormattingEnabled = true; - this.lbxPlates.Location = new System.Drawing.Point(827, 81); - this.lbxPlates.Name = "lbxPlates"; - this.lbxPlates.Size = new System.Drawing.Size(294, 303); - this.lbxPlates.TabIndex = 3; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(12, 9); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(76, 13); - this.label1.TabIndex = 4; - this.label1.Text = "Source Image:"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(827, 387); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(96, 13); - this.label2.TabIndex = 5; - this.label2.Text = "License Plate ROI:"; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(827, 65); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(124, 13); - this.label3.TabIndex = 6; - this.label3.Text = "Matched License Plates:"; - // - // openFileDialog - // - this.openFileDialog.Filter = "Image files (*.jpg, *.jpeg, *.jpe, *.jfif, *.png) | *.jpg; *.jpeg; *.jpe; *.jfif;" + - " *.png|All files (*.*)|*.*"; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(827, 9); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(44, 13); - this.label4.TabIndex = 7; - this.label4.Text = "Region:"; - // - // rbUSA - // - this.rbUSA.AutoSize = true; - this.rbUSA.Checked = true; - this.rbUSA.Location = new System.Drawing.Point(878, 7); - this.rbUSA.Name = "rbUSA"; - this.rbUSA.Size = new System.Drawing.Size(40, 17); - this.rbUSA.TabIndex = 8; - this.rbUSA.TabStop = true; - this.rbUSA.Text = "US"; - this.rbUSA.UseVisualStyleBackColor = true; - // - // rbEU - // - this.rbEU.AutoSize = true; - this.rbEU.Location = new System.Drawing.Point(924, 7); - this.rbEU.Name = "rbEU"; - this.rbEU.Size = new System.Drawing.Size(40, 17); - this.rbEU.TabIndex = 9; - this.rbEU.Text = "EU"; - this.rbEU.UseVisualStyleBackColor = true; - // - // Form1 - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.White; - this.ClientSize = new System.Drawing.Size(1128, 538); - this.Controls.Add(this.rbEU); - this.Controls.Add(this.rbUSA); - this.Controls.Add(this.label4); - this.Controls.Add(this.label3); - this.Controls.Add(this.label2); - this.Controls.Add(this.label1); - this.Controls.Add(this.lbxPlates); - this.Controls.Add(this.picOriginal); - this.Controls.Add(this.picLicensePlate); - this.Controls.Add(this.btnDetect); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "Form1"; - this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "OpenALPR-Net Demo"; - this.Load += new System.EventHandler(this.Form1_Load); - ((System.ComponentModel.ISupportInitialize)(this.picLicensePlate)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.picOriginal)).EndInit(); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Button btnDetect; - private System.Windows.Forms.PictureBox picLicensePlate; - private System.Windows.Forms.PictureBox picOriginal; - private System.Windows.Forms.ListBox lbxPlates; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.OpenFileDialog openFileDialog; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.RadioButton rbUSA; - private System.Windows.Forms.RadioButton rbEU; - } -} - diff --git a/src/bindings/csharp/openalprnet-windemo/Form1.cs b/src/bindings/csharp/openalprnet-windemo/Form1.cs deleted file mode 100644 index e2081c4..0000000 --- a/src/bindings/csharp/openalprnet-windemo/Form1.cs +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (c) 2015 OpenALPR Technology, Inc. - * - * This file is part of OpenALPR. - * - * OpenALPR is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License - * version 3 as published by the Free Software Foundation - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -using System; -using System.Collections.Generic; -using System.Drawing; -using System.IO; -using System.Linq; -using System.Reflection; -using System.Threading.Tasks; -using System.Windows.Forms; -using openalprnet; - -namespace openalprnet_windemo -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - - public static string AssemblyDirectory - { - get - { - var codeBase = Assembly.GetExecutingAssembly().CodeBase; - var uri = new UriBuilder(codeBase); - var path = Uri.UnescapeDataString(uri.Path); - return Path.GetDirectoryName(path); - } - } - - public Rectangle boundingRectangle(List points) - { - // Add checks here, if necessary, to make sure that points is not null, - // and that it contains at least one (or perhaps two?) elements - - var minX = points.Min(p => p.X); - var minY = points.Min(p => p.Y); - var maxX = points.Max(p => p.X); - var maxY = points.Max(p => p.Y); - - return new Rectangle(new Point(minX, minY), new Size(maxX - minX, maxY - minY)); - } - - private static Image cropImage(Image img, Rectangle cropArea) - { - var bmpImage = new Bitmap(img); - return bmpImage.Clone(cropArea, bmpImage.PixelFormat); - } - - public static Bitmap combineImages(List images) - { - //read all images into memory - Bitmap finalImage = null; - - try - { - var width = 0; - var height = 0; - - foreach (var bmp in images) - { - width += bmp.Width; - height = bmp.Height > height ? bmp.Height : height; - } - - //create a bitmap to hold the combined image - finalImage = new Bitmap(width, height); - - //get a graphics object from the image so we can draw on it - using (var g = Graphics.FromImage(finalImage)) - { - //set background color - g.Clear(Color.Black); - - //go through each image and draw it on the final image - var offset = 0; - foreach (Bitmap image in images) - { - g.DrawImage(image, - new Rectangle(offset, 0, image.Width, image.Height)); - offset += image.Width; - } - } - - return finalImage; - } - catch (Exception ex) - { - if (finalImage != null) - finalImage.Dispose(); - - throw ex; - } - finally - { - //clean up memory - foreach (var image in images) - { - image.Dispose(); - } - } - } - - private void button1_Click(object sender, EventArgs e) - { - if (openFileDialog.ShowDialog(this) == DialogResult.OK) - { - processImageFile(openFileDialog.FileName); - } - } - - - private void processImageFile(string fileName) - { - resetControls(); - var region = rbUSA.Checked ? "us" : "eu"; - String config_file = Path.Combine(AssemblyDirectory, "openalpr.conf"); - String runtime_data_dir = Path.Combine(AssemblyDirectory, "runtime_data"); - using (var alpr = new AlprNet(region, config_file, runtime_data_dir)) - { - if (!alpr.IsLoaded()) - { - lbxPlates.Items.Add("Error initializing OpenALPR"); - return; - } - picOriginal.ImageLocation = fileName; - picOriginal.Load(); - - var results = alpr.Recognize(fileName); - - var images = new List(results.Plates.Count()); - var i = 1; - foreach (var result in results.Plates) - { - var rect = boundingRectangle(result.PlatePoints); - var img = Image.FromFile(fileName); - var cropped = cropImage(img, rect); - images.Add(cropped); - - lbxPlates.Items.Add("\t\t-- Plate #" + i++ + " --"); - foreach (var plate in result.TopNPlates) - { - lbxPlates.Items.Add(string.Format(@"{0} {1}% {2}", - plate.Characters.PadRight(12), - plate.OverallConfidence.ToString("N1").PadLeft(8), - plate.MatchesTemplate.ToString().PadLeft(8))); - } - } - - if (images.Any()) - { - picLicensePlate.Image = combineImages(images); - } - } - } - - private void resetControls() - { - picOriginal.Image = null; - picLicensePlate.Image = null; - lbxPlates.Items.Clear(); - } - - private void Form1_Load(object sender, EventArgs e) - { - resetControls(); - } - } -} \ No newline at end of file diff --git a/src/bindings/csharp/openalprnet-windemo/Form1.resx b/src/bindings/csharp/openalprnet-windemo/Form1.resx deleted file mode 100644 index 12048a9..0000000 --- a/src/bindings/csharp/openalprnet-windemo/Form1.resx +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - 17, 17 - - \ No newline at end of file diff --git a/src/bindings/csharp/openalprnet-windemo/Program.cs b/src/bindings/csharp/openalprnet-windemo/Program.cs deleted file mode 100644 index ddcfc49..0000000 --- a/src/bindings/csharp/openalprnet-windemo/Program.cs +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2015 OpenALPR Technology, Inc. - * - * This file is part of OpenALPR. - * - * OpenALPR is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License - * version 3 as published by the Free Software Foundation - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Windows.Forms; - -namespace openalprnet_windemo -{ - static class Program - { - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main() - { - Application.EnableVisualStyles(); - Application.SetCompatibleTextRenderingDefault(false); - Application.Run(new Form1()); - } - } -} diff --git a/src/bindings/csharp/openalprnet-windemo/Properties/AssemblyInfo.cs b/src/bindings/csharp/openalprnet-windemo/Properties/AssemblyInfo.cs deleted file mode 100644 index 9666338..0000000 --- a/src/bindings/csharp/openalprnet-windemo/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("openalprnet-windemo")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("openalprnet-windemo")] -[assembly: AssemblyCopyright("Copyright © 2015")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("b1ab96ca-afe9-497d-9aa0-74ace195dfca")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/bindings/csharp/openalprnet-windemo/Properties/Resources.Designer.cs b/src/bindings/csharp/openalprnet-windemo/Properties/Resources.Designer.cs deleted file mode 100644 index dee0576..0000000 --- a/src/bindings/csharp/openalprnet-windemo/Properties/Resources.Designer.cs +++ /dev/null @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.34209 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace openalprnet_windemo.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("openalprnet_windemo.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - } -} diff --git a/src/bindings/csharp/openalprnet-windemo/Properties/Resources.resx b/src/bindings/csharp/openalprnet-windemo/Properties/Resources.resx deleted file mode 100644 index af7dbeb..0000000 --- a/src/bindings/csharp/openalprnet-windemo/Properties/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/src/bindings/csharp/openalprnet-windemo/Properties/Settings.Designer.cs b/src/bindings/csharp/openalprnet-windemo/Properties/Settings.Designer.cs deleted file mode 100644 index 7a18fdb..0000000 --- a/src/bindings/csharp/openalprnet-windemo/Properties/Settings.Designer.cs +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.34209 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace openalprnet_windemo.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff --git a/src/bindings/csharp/openalprnet-windemo/Properties/Settings.settings b/src/bindings/csharp/openalprnet-windemo/Properties/Settings.settings deleted file mode 100644 index 3964565..0000000 --- a/src/bindings/csharp/openalprnet-windemo/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/bindings/csharp/openalprnet-windemo/app.config b/src/bindings/csharp/openalprnet-windemo/app.config deleted file mode 100644 index 2f7cce7..0000000 --- a/src/bindings/csharp/openalprnet-windemo/app.config +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/bindings/csharp/openalprnet-windemo/appicon.ico b/src/bindings/csharp/openalprnet-windemo/appicon.ico deleted file mode 100644 index 681c307912ce3774a1e6637197556cd19a8b80eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmZQzU<5(|0R|vYV8~!$U=RbcG=LZ+qyWT>V3L8s0VszK{{R2aIFfN+fw7JK%WV+^KLj hOnhB$>+jXQZNIkw)istB%^t~VALMrihX4O5!2lwZQfdGI diff --git a/src/bindings/csharp/openalprnet-windemo/openalprnet-windemo.csproj b/src/bindings/csharp/openalprnet-windemo/openalprnet-windemo.csproj deleted file mode 100644 index 25007be..0000000 --- a/src/bindings/csharp/openalprnet-windemo/openalprnet-windemo.csproj +++ /dev/null @@ -1,132 +0,0 @@ - - - - Debug - x86 - 8.0.30703 - 2.0 - {C7863A14-55D2-4389-9072-04AA6E30AAD1} - WinExe - Properties - openalprnet_windemo - openalprnet-windemo - v4.0 - Client - 512 - - - x86 - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - x86 - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - bin\x64\Debug\ - DEBUG;TRACE - full - x64 - bin\Debug\openalprnet-windemo.exe.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - true - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - true - - - bin\x64\Release\ - TRACE - true - pdbonly - x64 - bin\Release\openalprnet-windemo.exe.CodeAnalysisLog.xml - true - GlobalSuppressions.cs - prompt - MinimumRecommendedRules.ruleset - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\\Rule Sets - ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules - true - - - appicon.ico - - - - - - - - - - - - - - - - Form - - - Form1.cs - - - - - Form1.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - True - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - - {4044340C-C435-4A1F-8F12-0806C38AE3B6} - openalpr-net - - - - - - - - \ No newline at end of file