mirror of
https://github.com/kerberos-io/openalpr-base.git
synced 2025-10-07 11:30:55 +08:00
Moved bindings to src/bindings
This commit is contained in:
40
src/bindings/csharp/openalpr-net/AssemblyInfo.cpp
Normal file
40
src/bindings/csharp/openalpr-net/AssemblyInfo.cpp
Normal file
@@ -0,0 +1,40 @@
|
||||
#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("1.0.*")];
|
||||
|
||||
[assembly:ComVisible(false)];
|
||||
|
||||
[assembly:CLSCompliantAttribute(true)];
|
||||
|
||||
[assembly:SecurityPermission(SecurityAction::RequestMinimum, UnmanagedCode = true)];
|
5
src/bindings/csharp/openalpr-net/Stdafx.cpp
Normal file
5
src/bindings/csharp/openalpr-net/Stdafx.cpp
Normal file
@@ -0,0 +1,5 @@
|
||||
// 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"
|
7
src/bindings/csharp/openalpr-net/Stdafx.h
Normal file
7
src/bindings/csharp/openalpr-net/Stdafx.h
Normal file
@@ -0,0 +1,7 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently,
|
||||
// but are changed infrequently
|
||||
|
||||
#pragma once
|
||||
|
||||
|
BIN
src/bindings/csharp/openalpr-net/app.ico
Normal file
BIN
src/bindings/csharp/openalpr-net/app.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
BIN
src/bindings/csharp/openalpr-net/app.rc
Normal file
BIN
src/bindings/csharp/openalpr-net/app.rc
Normal file
Binary file not shown.
394
src/bindings/csharp/openalpr-net/openalpr-net.cpp
Normal file
394
src/bindings/csharp/openalpr-net/openalpr-net.cpp
Normal file
@@ -0,0 +1,394 @@
|
||||
/*
|
||||
* Copyright (c) 2014 New Designs Unlimited, LLC
|
||||
*
|
||||
* This file is part of OpenAlpr.Net.
|
||||
*
|
||||
* OpenAlpr.Net 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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "openalpr-net.h"
|
||||
#include "alpr.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <windows.h>
|
||||
#using <mscorlib.dll>
|
||||
//#include <msclr\marshal.h>
|
||||
#include <msclr\marshal_cppstd.h>
|
||||
|
||||
#include "opencv2/highgui/highgui.hpp"
|
||||
#include "opencv2/imgproc/imgproc.hpp"
|
||||
|
||||
using namespace System;
|
||||
using namespace msclr::interop;
|
||||
using namespace System::Collections::Generic;
|
||||
using namespace System::Runtime::InteropServices;
|
||||
using namespace System::Drawing;
|
||||
using namespace alpr;
|
||||
|
||||
namespace openalprnet {
|
||||
|
||||
private ref class AlprHelper sealed
|
||||
{
|
||||
public:
|
||||
static std::vector<char> ToVector(array<char>^ src)
|
||||
{
|
||||
std::vector<char> result(src->Length);
|
||||
pin_ptr<char> pin(&src[0]);
|
||||
char *first(pin), *last(pin + src->Length);
|
||||
std::copy(first, last, result.begin());
|
||||
return result;
|
||||
}
|
||||
|
||||
static std::vector<AlprRegionOfInterest> ToVector(List<System::Drawing::Rectangle>^ src)
|
||||
{
|
||||
std::vector<AlprRegionOfInterest> 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<unsigned char>^ src)
|
||||
{
|
||||
//unsigned char* result = (unsigned char*) new unsigned char[src->Length];
|
||||
pin_ptr<unsigned char> pin(&src[0]);
|
||||
unsigned char* pc = pin;
|
||||
return pc;
|
||||
}
|
||||
|
||||
static System::String^ ToManagedString(std::string s)
|
||||
{
|
||||
return gcnew String(s.c_str());
|
||||
}
|
||||
|
||||
static std::string ToStlString(System::String^ s)
|
||||
{
|
||||
IntPtr ptr = Marshal::StringToHGlobalAnsi(s);
|
||||
if(ptr != IntPtr::Zero)
|
||||
{
|
||||
std::string tmp(reinterpret_cast<char*>(static_cast<void*>(ptr)));
|
||||
Marshal::FreeHGlobal(ptr);
|
||||
return tmp;
|
||||
}
|
||||
return std::string();
|
||||
}
|
||||
};
|
||||
|
||||
public ref class AlprPlateNet sealed
|
||||
{
|
||||
public:
|
||||
AlprPlateNet(AlprPlate plate){
|
||||
//_characters = marshal_as<System::String^>(plate.characters);
|
||||
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 overall_confidence {
|
||||
float get() {
|
||||
return m_overall_confidence;
|
||||
}
|
||||
}
|
||||
|
||||
property bool matches_template {
|
||||
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<System::Drawing::Point>(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<AlprPlateNet^>(num);
|
||||
for (int i = 0; i < num; i++)
|
||||
{
|
||||
m_topNPlates->Add(gcnew AlprPlateNet(result.topNPlates[i]));
|
||||
}
|
||||
}
|
||||
|
||||
property int requested_topn {
|
||||
int get() {
|
||||
return m_requested_topn;
|
||||
}
|
||||
}
|
||||
|
||||
property int regionConfidence {
|
||||
int get() {
|
||||
return m_regionConfidence;
|
||||
}
|
||||
}
|
||||
|
||||
property int plate_index {
|
||||
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<System::Drawing::Point>^ plate_points {
|
||||
List<System::Drawing::Point>^ get() {
|
||||
return m_plate_points;
|
||||
}
|
||||
}
|
||||
|
||||
property List<AlprPlateNet^>^ topNPlates {
|
||||
List<AlprPlateNet^>^ get() {
|
||||
return m_topNPlates;
|
||||
}
|
||||
}
|
||||
|
||||
property float processing_time_ms {
|
||||
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<AlprPlateNet^>^ m_topNPlates;
|
||||
List<System::Drawing::Point>^ 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<System::Drawing::Rectangle>(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<AlprPlateResultNet^>(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 epoch_time {
|
||||
long get() {
|
||||
return m_epoch_time;
|
||||
}
|
||||
}
|
||||
|
||||
property int img_width {
|
||||
int get() {
|
||||
return m_img_width;
|
||||
}
|
||||
}
|
||||
|
||||
property int img_height {
|
||||
int get() {
|
||||
return m_img_height;
|
||||
}
|
||||
}
|
||||
|
||||
property float total_processing_time_ms {
|
||||
float get() {
|
||||
return m_total_processing_time_ms;
|
||||
}
|
||||
}
|
||||
|
||||
property List<System::Drawing::Rectangle>^ regionsOfInterest {
|
||||
List<System::Drawing::Rectangle>^ get() {
|
||||
return m_regionsOfInterest;
|
||||
}
|
||||
}
|
||||
|
||||
property List<AlprPlateResultNet^>^ plates {
|
||||
List<AlprPlateResultNet^>^ 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<System::Drawing::Rectangle>^ m_regionsOfInterest;
|
||||
List<AlprPlateResultNet^>^ m_plates;
|
||||
System::String^ m_json;
|
||||
};
|
||||
|
||||
|
||||
public ref class AlprNet sealed
|
||||
{
|
||||
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<std::string>(country), marshal_as<std::string>(configFile), marshal_as<std::string>(runtimeDir)) ) { }
|
||||
|
||||
// Deallocate the native object on a destructor
|
||||
~AlprNet(){
|
||||
delete m_Impl;
|
||||
}
|
||||
|
||||
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<std::string>(region));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recognize from an image on disk
|
||||
/// </summary>
|
||||
AlprResultsNet^ recognize(System::String^ filepath) {
|
||||
AlprResults results = m_Impl->recognize(marshal_as<std::string>(filepath));
|
||||
return gcnew AlprResultsNet(results);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recognize from an image on disk
|
||||
/// </summary>
|
||||
AlprResultsNet^ recognize(System::String^ filepath, List<System::Drawing::Rectangle>^ regionsOfInterest) {
|
||||
cv::Mat frame = cv::imread( marshal_as<std::string>(filepath) );
|
||||
std::vector<AlprRegionOfInterest> rois = AlprHelper::ToVector(regionsOfInterest);
|
||||
AlprResults results = m_Impl->recognize(frame.data, frame.elemSize(), frame.cols, frame.rows, rois );
|
||||
return gcnew AlprResultsNet(results);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recognize from byte data representing an encoded image (e.g., BMP, PNG, JPG, GIF etc).
|
||||
/// </summary>
|
||||
/// <param name="imageBuffer">Bytes representing image data</param>
|
||||
AlprResultsNet^ recognize(cli::array<char>^ imageBuffer) {
|
||||
std::vector<char> p = AlprHelper::ToVector(imageBuffer);
|
||||
AlprResults results = m_Impl->recognize(p);
|
||||
return gcnew AlprResultsNet(results);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Recognize from raw pixel data
|
||||
/// </summary>
|
||||
AlprResultsNet^ recognize(cli::array<unsigned char>^ pixelData, int bytesPerPixel, int imgWidth, int imgHeight, List<System::Drawing::Rectangle>^ regionsOfInterest) {
|
||||
unsigned char* p = AlprHelper::ToCharPtr(pixelData);
|
||||
std::vector<AlprRegionOfInterest> rois = AlprHelper::ToVector(regionsOfInterest);
|
||||
AlprResults results = m_Impl->recognize(p, bytesPerPixel, imgWidth, imgHeight, rois);
|
||||
free(p); // ?? memory leak?
|
||||
return gcnew AlprResultsNet(results);
|
||||
}
|
||||
|
||||
bool isLoaded() {
|
||||
return m_Impl->isLoaded();
|
||||
}
|
||||
|
||||
static System::String^ getVersion() {
|
||||
return AlprHelper::ToManagedString(Alpr::getVersion());
|
||||
}
|
||||
|
||||
protected:
|
||||
// Deallocate the native object on the finalizer just in case no destructor is called
|
||||
!AlprNet() {
|
||||
delete m_Impl;
|
||||
}
|
||||
|
||||
private:
|
||||
Alpr * m_Impl;
|
||||
int m_topN;
|
||||
bool m_detectRegion;
|
||||
System::String^ m_defaultRegion;
|
||||
};
|
||||
}
|
9
src/bindings/csharp/openalpr-net/openalpr-net.h
Normal file
9
src/bindings/csharp/openalpr-net/openalpr-net.h
Normal file
@@ -0,0 +1,9 @@
|
||||
// openalpr-net.h
|
||||
|
||||
#pragma once
|
||||
|
||||
//using namespace System;
|
||||
|
||||
namespace openalprnet {
|
||||
|
||||
}
|
102
src/bindings/csharp/openalpr-net/openalpr-net.vcxproj
Normal file
102
src/bindings/csharp/openalpr-net/openalpr-net.vcxproj
Normal file
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{4044340C-C435-4A1F-8F12-0806C38AE3B6}</ProjectGuid>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<Keyword>ManagedCProj</Keyword>
|
||||
<RootNamespace>openalprnet</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>C:\projects\openalpr\libraries\tesseract-ocr\api;C:\projects\openalpr\libraries\tesseract-ocr\ccstruct;C:\projects\openalpr\libraries\tesseract-ocr\ccmain;C:\projects\openalpr\libraries\tesseract-ocr\ccutil;C:\projects\openalpr\libraries\opencv;C:\projects\openalpr\libraries\opencv\include;C:\projects\openalpr\libraries\opencv\include\opencv;C:\projects\openalpr\libraries\opencv\modules\core\include;C:\projects\openalpr\libraries\opencv\modules\flann\include;C:\projects\openalpr\libraries\opencv\modules\imgproc\include;C:\projects\openalpr\libraries\opencv\modules\highgui\include;C:\projects\openalpr\libraries\opencv\modules\features2d\include;C:\projects\openalpr\libraries\opencv\modules\calib3d\include;C:\projects\openalpr\libraries\opencv\modules\ml\include;C:\projects\openalpr\libraries\opencv\modules\video\include;C:\projects\openalpr\libraries\opencv\modules\legacy\include;C:\projects\openalpr\libraries\opencv\modules\objdetect\include;C:\projects\openalpr\libraries\opencv\modules\photo\include;C:\projects\openalpr\libraries\opencv\modules\gpu\include;C:\projects\openalpr\libraries\opencv\modules\ocl\include;C:\projects\openalpr\libraries\opencv\modules\nonfree\include;C:\projects\openalpr\libraries\opencv\modules\contrib\include;C:\projects\openalpr\libraries\opencv\modules\stitching\include;C:\projects\openalpr\libraries\opencv\modules\superres\include;C:\projects\openalpr\libraries\opencv\modules\ts\include;C:\projects\openalpr\libraries\opencv\modules\videostab\include;C:\projects\openalpr\src\openalpr;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_videostab2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_ts2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_superres2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_stitching2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_contrib2410.lib;C:\projects\openalpr\libraries\tesseract-ocr\vs2010\LIB_Release\libtesseract303-static.lib;C:\projects\openalpr\libraries\tesseract-ocr\vs2010\LIB_Release\liblept170.lib;ws2_32.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_nonfree2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_ocl2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_gpu2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_photo2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_objdetect2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_legacy2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_video2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_ml2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_calib3d2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_features2d2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_highgui2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_imgproc2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_flann2410.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_core2410.lib;C:\projects\openalpr\src\openalpr\support\Release\support.lib;C:\projects\openalpr\src\openalpr\Release\openalpr-static.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<AdditionalIncludeDirectories>C:\projects\openalpr\libraries\tesseract-ocr\api;C:\projects\openalpr\libraries\tesseract-ocr\ccstruct;C:\projects\openalpr\libraries\tesseract-ocr\ccmain;C:\projects\openalpr\libraries\tesseract-ocr\ccutil;C:\projects\openalpr\libraries\opencv;C:\projects\openalpr\libraries\opencv\include;C:\projects\openalpr\libraries\opencv\include\opencv;C:\projects\openalpr\libraries\opencv\modules\core\include;C:\projects\openalpr\libraries\opencv\modules\flann\include;C:\projects\openalpr\libraries\opencv\modules\imgproc\include;C:\projects\openalpr\libraries\opencv\modules\highgui\include;C:\projects\openalpr\libraries\opencv\modules\features2d\include;C:\projects\openalpr\libraries\opencv\modules\calib3d\include;C:\projects\openalpr\libraries\opencv\modules\ml\include;C:\projects\openalpr\libraries\opencv\modules\video\include;C:\projects\openalpr\libraries\opencv\modules\legacy\include;C:\projects\openalpr\libraries\opencv\modules\objdetect\include;C:\projects\openalpr\libraries\opencv\modules\photo\include;C:\projects\openalpr\libraries\opencv\modules\gpu\include;C:\projects\openalpr\libraries\opencv\modules\ocl\include;C:\projects\openalpr\libraries\opencv\modules\nonfree\include;C:\projects\openalpr\libraries\opencv\modules\contrib\include;C:\projects\openalpr\libraries\opencv\modules\stitching\include;C:\projects\openalpr\libraries\opencv\modules\superres\include;C:\projects\openalpr\libraries\opencv\modules\ts\include;C:\projects\openalpr\libraries\opencv\modules\videostab\include;C:\projects\openalpr\src\openalpr;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_videostab248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_ts248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_superres248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_stitching248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_contrib248.lib;C:\projects\openalpr\libraries\tesseract-ocr\vs2010\LIB_Release\libtesseract303-static.lib;C:\projects\openalpr\libraries\tesseract-ocr\vs2010\LIB_Release\liblept170.lib;ws2_32.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_nonfree248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_ocl248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_gpu248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_photo248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_objdetect248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_legacy248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_video248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_ml248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_calib3d248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_features2d248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_highgui248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_imgproc248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_flann248.lib;C:\projects\openalpr\libraries\opencv\lib\Release\opencv_core248.lib;C:\projects\openalpr\src\openalpr\support\Release\support.lib;C:\projects\openalpr\src\openalpr\Release\openalpr-static.lib</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="openalpr-net.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="Stdafx.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="AssemblyInfo.cpp" />
|
||||
<ClCompile Include="openalpr-net.cpp" />
|
||||
<ClCompile Include="Stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="app.rc" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
@@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="openalpr-net.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Stdafx.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="resource.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="openalpr-net.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="AssemblyInfo.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Stdafx.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.ico">
|
||||
<Filter>Resource Files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="app.rc">
|
||||
<Filter>Resource Files</Filter>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
</Project>
|
3
src/bindings/csharp/openalpr-net/resource.h
Normal file
3
src/bindings/csharp/openalpr-net/resource.h
Normal file
@@ -0,0 +1,3 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by app.rc
|
Reference in New Issue
Block a user