Checking qr code and the template
This commit is contained in:
parent
0fa57c451c
commit
bf7de908d0
@ -188,6 +188,9 @@ namespace WebApplication5.Controllers
|
||||
Categories = new List<TemplateViewModel>() { catq1, catq2 }
|
||||
};
|
||||
|
||||
var x = new CheckCards(_db);
|
||||
x.CheckFolder("");
|
||||
|
||||
|
||||
var generator = new TemplateGenerator(_db, templatesToGenerate);
|
||||
generator.ProcessOrder();
|
||||
|
BIN
WebApplication5/Emgu.CV.Platform.NetFramework.dll
Normal file
BIN
WebApplication5/Emgu.CV.Platform.NetFramework.dll
Normal file
Binary file not shown.
902
WebApplication5/Emgu.CV.Platform.NetFramework.xml
Normal file
902
WebApplication5/Emgu.CV.Platform.NetFramework.xml
Normal file
@ -0,0 +1,902 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Emgu.CV.Platform.NetFramework</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Emgu.CV.BitmapExtension">
|
||||
<summary>
|
||||
Provide extension method to convert IInputArray to and from Bitmap
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.BitmapExtension.GrayscalePalette">
|
||||
<summary>
|
||||
The ColorPalette of Grayscale for Bitmap Format8bppIndexed
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.ColorPaletteToLookupTable(System.Drawing.Imaging.ColorPalette,Emgu.CV.Matrix{System.Byte}@,Emgu.CV.Matrix{System.Byte}@,Emgu.CV.Matrix{System.Byte}@,Emgu.CV.Matrix{System.Byte}@)">
|
||||
<summary>
|
||||
Convert the color palette to four lookup tables
|
||||
</summary>
|
||||
<param name="palette">The color palette to transform</param>
|
||||
<param name="bTable">Lookup table for the B channel</param>
|
||||
<param name="gTable">Lookup table for the G channel</param>
|
||||
<param name="rTable">Lookup table for the R channel</param>
|
||||
<param name="aTable">Lookup table for the A channel</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.RawDataToBitmap(System.IntPtr,System.Int32,System.Drawing.Size,System.Type,System.Int32,System.Type,System.Boolean)">
|
||||
<summary>
|
||||
Convert raw data to bitmap
|
||||
</summary>
|
||||
<param name="scan0">The pointer to the raw data</param>
|
||||
<param name="step">The step</param>
|
||||
<param name="size">The size of the image</param>
|
||||
<param name="srcColorType">The source image color type</param>
|
||||
<param name="numberOfChannels">The number of channels</param>
|
||||
<param name="srcDepthType">The source image depth type</param>
|
||||
<param name="tryDataSharing">Try to create Bitmap that shares the data with the image</param>
|
||||
<returns>The Bitmap</returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.ToBitmap(Emgu.CV.Mat)">
|
||||
<summary>
|
||||
Convert the mat into Bitmap, the pixel values are copied over to the Bitmap
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.ToBitmap(Emgu.CV.UMat)">
|
||||
<summary>
|
||||
Convert the umat into Bitmap, the pixel values are copied over to the Bitmap
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.ToBitmap(Emgu.CV.Cuda.GpuMat)">
|
||||
<summary>
|
||||
Convert the gpuMat into Bitmap, the pixel values are copied over to the Bitmap
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.ToImage``2(System.Drawing.Bitmap)">
|
||||
<summary>
|
||||
Create an Image < TColor, TDepth > from Bitmap
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.CopyFromBitmap``2(Emgu.CV.Image{``0,``1},System.Drawing.Bitmap)">
|
||||
<summary>
|
||||
Utility function for converting Bitmap to Image
|
||||
</summary>
|
||||
<param name="bmp">the bitmap to copy data from</param>
|
||||
<param name="image">The image to copy data to</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.AsBitmap``2(Emgu.CV.Image{``0,``1})">
|
||||
<summary>
|
||||
Provide a more efficient way to convert Image<Gray, Byte>, Image<Bgr, Byte> and Image<Bgra, Byte> into Bitmap
|
||||
such that the image data is <b>shared</b> with Bitmap.
|
||||
If you change the pixel value on the Bitmap, you change the pixel values on the Image object as well!
|
||||
For other types of image this property has the same effect as ToBitmap()
|
||||
<b>Take extra caution not to use the Bitmap after the Image object is disposed</b>
|
||||
</summary>
|
||||
<typeparam name="TColor">The color of the image</typeparam>
|
||||
<typeparam name="TDepth">The depth of the image</typeparam>
|
||||
<param name="image">The image to create Bitmap from</param>
|
||||
<returns>A bitmap representation of the image. In the cases of Image<Gray, Byte>, Image<Bgr, Byte> and Image<Bgra, Byte>, the image data is shared between the Bitmap and the Image object.</returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.ToBitmap``2(Emgu.CV.Image{``0,``1})">
|
||||
<summary>
|
||||
Convert this image into Bitmap, the pixel values are copied over to the Bitmap
|
||||
</summary>
|
||||
<remarks> For better performance on Image<Gray, Byte> and Image<Bgr, Byte>, consider using the Bitmap property </remarks>
|
||||
<returns> This image in Bitmap format, the pixel data are copied over to the Bitmap</returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.ToBitmap``2(Emgu.CV.Image{``0,``1},System.Int32,System.Int32)">
|
||||
<summary> Create a Bitmap image of certain size</summary>
|
||||
<param name="image">The image to be converted to Bitmap</param>
|
||||
<param name="width">The width of the bitmap</param>
|
||||
<param name="height"> The height of the bitmap</param>
|
||||
<returns> This image in Bitmap format of the specific size</returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapExtension.ToBitmap``2(Emgu.CV.Cuda.CudaImage{``0,``1})">
|
||||
<summary>
|
||||
Convert the CudaImage to its equivalent Bitmap representation
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.BitmapFileReaderMat">
|
||||
<summary>
|
||||
Class that can be used to read file into Mat
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapFileReaderMat.ReadFile(System.String,Emgu.CV.Mat,Emgu.CV.CvEnum.ImreadModes)">
|
||||
<summary>
|
||||
Read the file into a Mat
|
||||
</summary>
|
||||
<param name="fileName">The name of the image file</param>
|
||||
<param name="mat">The Mat to read into</param>
|
||||
<param name="loadType">Image load type.</param>
|
||||
<returns>True if the file can be read into the Mat</returns>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.BitmapFileWriterMat">
|
||||
<summary>
|
||||
Class that can be used to write the Mat to a file
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.BitmapFileWriterMat.WriteFile(Emgu.CV.Mat,System.String)">
|
||||
<summary>
|
||||
Write the Mat into the file
|
||||
</summary>
|
||||
<param name="mat">The Mat to write</param>
|
||||
<param name="fileName">The name of the file to be written into</param>
|
||||
<returns>True if the file has been written into Mat</returns>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.HistogramBox">
|
||||
<summary>
|
||||
The control that is used to display histogram
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.HistogramBox.#ctor">
|
||||
<summary>
|
||||
Construct a histogram control
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.HistogramBox.GenerateHistogram(System.String,System.Drawing.Color,Emgu.CV.Mat,System.Int32,System.Single[])">
|
||||
<summary>
|
||||
Add a plot of the 1D histogram. You should call the Refresh() function to update the control after all modification is complete.
|
||||
</summary>
|
||||
<param name="name">The name of the histogram</param>
|
||||
<param name="color">The drawing color</param>
|
||||
<param name="histogram">The 1D histogram to be drawn</param>
|
||||
<param name="binSize">The size of the bin</param>
|
||||
<param name="ranges">The ranges</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.HistogramBox.GenerateHistograms(Emgu.CV.IInputArray,System.Int32)">
|
||||
<summary>
|
||||
Generate histograms for the image. One histogram is generated for each color channel.
|
||||
You will need to call the Refresh function to do the painting afterward.
|
||||
</summary>
|
||||
<param name="image">The image to generate histogram from</param>
|
||||
<param name="numberOfBins">The number of bins for each histogram</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.HistogramBox.ClearHistogram">
|
||||
<summary>
|
||||
Remove all the histogram from the control. You should call the Refresh() function to update the control after all modification is complete.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.HistogramViewer">
|
||||
<summary>
|
||||
A view for histogram
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.HistogramViewer.#ctor">
|
||||
<summary>
|
||||
A histogram viewer
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.HistogramViewer.Show(Emgu.CV.IInputArray)">
|
||||
<summary>
|
||||
Display the histograms of the specific image
|
||||
</summary>
|
||||
<param name="image">The image to retrieve histogram from</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.HistogramViewer.Show(Emgu.CV.IInputArray,System.Int32)">
|
||||
<summary>
|
||||
Display the histograms of the specific image
|
||||
</summary>
|
||||
<param name="image">The image to retrieve histogram from</param>
|
||||
<param name="numberOfBins">The number of bins in the histogram</param>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.HistogramViewer.HistogramCtrl">
|
||||
<summary>
|
||||
Get the histogram control of this viewer
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.HistogramViewer.components">
|
||||
<summary>
|
||||
Required designer variable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.HistogramViewer.Dispose(System.Boolean)">
|
||||
<summary>
|
||||
Clean up any resources being used.
|
||||
</summary>
|
||||
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.HistogramViewer.InitializeComponent">
|
||||
<summary>
|
||||
Required method for Designer support - do not modify
|
||||
the contents of this method with the code editor.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.ImageBox">
|
||||
<summary>
|
||||
An image box is a user control that is similar to picture box, but display Emgu CV IImage and provides enhenced functionalities.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox._image">
|
||||
<summary>
|
||||
The image that is setted throught the Image property
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox._displayedImage">
|
||||
<summary>
|
||||
The image that is displayed
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox._typeToToolStripMenuItemsDictionary">
|
||||
<summary>
|
||||
A cache to store the ToolStripMenuItems for different types of images
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox._operationLists">
|
||||
<summary>
|
||||
The list of operations binded to this ImageBox
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox._timerStartTime">
|
||||
<summary>
|
||||
Timer used for caculating the frame rate
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox._imagesReceivedSinceCounterStart">
|
||||
<summary>
|
||||
One of the parameters used for caculating the frame rate
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageBox.#ctor">
|
||||
<summary>
|
||||
Create a ImageBox
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.ImageBox.FunctionalMode">
|
||||
<summary>
|
||||
Get or set the functional mode for the ImageBox
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:Emgu.CV.UI.ImageBox.OnFunctionalModeChanged">
|
||||
<summary>
|
||||
The event which will be trigerred when functional mode is changed
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.ImageBox.Image">
|
||||
<summary>
|
||||
Set the image for this image box
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.ImageBox.DisplayedImage">
|
||||
<summary>
|
||||
The image that is being displayed. It's the Image following by some user defined image operation
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageBox.PushOperation(Emgu.CV.UI.Operation)">
|
||||
<summary>
|
||||
Push the specific operation to the operation collection
|
||||
</summary>
|
||||
<param name="operation">The operation to be pushed onto the operation collection</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageBox.ClearOperation">
|
||||
<summary>
|
||||
Remove all the operations from the collection
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageBox.PopOperation">
|
||||
<summary>
|
||||
Remove the last added operation
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.ImageBox.FunctionalModeOption">
|
||||
<summary>
|
||||
The functional mode for ImageBox
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox.FunctionalModeOption.Minimum">
|
||||
<summary>
|
||||
The ImageBox is only used for displaying image.
|
||||
No right-click menu nor Pan/Zoom available
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox.FunctionalModeOption.RightClickMenu">
|
||||
<summary>
|
||||
Enable the right click menu
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox.FunctionalModeOption.PanAndZoom">
|
||||
<summary>
|
||||
Enable Pan and Zoom
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox.FunctionalModeOption.Everything">
|
||||
<summary>
|
||||
Support for the right click menu, Pan and Zoom
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageBox.Dispose(System.Boolean)">
|
||||
<summary>
|
||||
Clean up any resources being used.
|
||||
</summary>
|
||||
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageBox.components">
|
||||
<summary>
|
||||
Required designer variable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageBox.InitializeComponent">
|
||||
<summary>
|
||||
Required method for Designer support - do not modify
|
||||
the contents of this method with the code editor.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.ImageProperty">
|
||||
<summary>
|
||||
The control to display image properties
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageProperty.#ctor">
|
||||
<summary>
|
||||
Create a ImageProperty control
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.ImageProperty.ImageBox">
|
||||
<summary>
|
||||
The parent imagebox for this property panel
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageProperty.SetMousePositionOnImage(System.Drawing.Point)">
|
||||
<summary>
|
||||
Set the mouse position over the image.
|
||||
It also set the color intensity of the pixel on the image where is mouse is at
|
||||
</summary>
|
||||
<param name="location">The location of the mouse on the image</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageProperty.SetOperations(System.Collections.Generic.List{Emgu.CV.UI.Operation})">
|
||||
<summary>
|
||||
Set the description of the operation view
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.ImageProperty.FramesPerSecondText">
|
||||
<summary>
|
||||
Set the frame rate
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageProperty.Dispose(System.Boolean)">
|
||||
<summary>
|
||||
Clean up any resources being used.
|
||||
</summary>
|
||||
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageProperty.components">
|
||||
<summary>
|
||||
Required designer variable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageProperty.InitializeComponent">
|
||||
<summary>
|
||||
Required method for Designer support - do not modify
|
||||
the contents of this method with the code editor.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.ImageViewer">
|
||||
<summary>
|
||||
The Image viewer that display IImage
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageViewer.#ctor">
|
||||
<summary>
|
||||
Create an ImageViewer
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageViewer.#ctor(Emgu.CV.IInputArray)">
|
||||
<summary>
|
||||
Create an ImageViewer from the specific <paramref name="image"/>
|
||||
</summary>
|
||||
<param name="image">The image to be displayed in this viewer</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageViewer.#ctor(Emgu.CV.IInputArray,System.String)">
|
||||
<summary>
|
||||
Create an ImageViewer from the specific <paramref name="image"/>, using <paramref name="imageName"/> as window name
|
||||
</summary>
|
||||
<param name="image">The image to be displayed</param>
|
||||
<param name="imageName">The name of the image</param>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.ImageViewer.Image">
|
||||
<summary>
|
||||
Get or Set the image in this ImageViewer
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.ImageViewer.ImageBox">
|
||||
<summary>
|
||||
Get the image box hosted in this viewer
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageViewer.Show(Emgu.CV.IInputArray)">
|
||||
<summary>
|
||||
Create a ImageViewer with the specific image and show it.
|
||||
</summary>
|
||||
<param name="image">The image to be displayed in ImageViewer</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageViewer.Show(Emgu.CV.IInputArray,System.String)">
|
||||
<summary>
|
||||
Create a ImageViewer with the specific image and show it.
|
||||
</summary>
|
||||
<param name="image">The image to be displayed in ImageViewer</param>
|
||||
<param name="windowName">The name of the window</param>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImageViewer.components">
|
||||
<summary>
|
||||
Required designer variable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageViewer.Dispose(System.Boolean)">
|
||||
<summary>
|
||||
Clean up any resources being used.
|
||||
</summary>
|
||||
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImageViewer.InitializeComponent">
|
||||
<summary>
|
||||
Required method for Designer support - do not modify
|
||||
the contents of this method with the code editor.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.MatrixBox">
|
||||
<summary>
|
||||
A control that is used to visualize a matrix
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.MatrixBox.#ctor">
|
||||
<summary>
|
||||
Create a MatrixBox
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.MatrixBox.Matrix">
|
||||
<summary>
|
||||
Get or Set the Matrix<TDepth> object; of this MatrixBox
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.MatrixBox.components">
|
||||
<summary>
|
||||
Required designer variable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.MatrixBox.Dispose(System.Boolean)">
|
||||
<summary>
|
||||
Clean up any resources being used.
|
||||
</summary>
|
||||
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.MatrixBox.InitializeComponent">
|
||||
<summary>
|
||||
Required method for Designer support - do not modify
|
||||
the contents of this method with the code editor.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.MatrixViewer">
|
||||
<summary>
|
||||
A MatrixViewer that is used to visualize a matrix
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.MatrixViewer.#ctor">
|
||||
<summary>
|
||||
Create a MatrixViewer
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.MatrixViewer.Matrix">
|
||||
<summary>
|
||||
Get or Set the Matrix<> object; for this MatrixViewer
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.MatrixViewer.components">
|
||||
<summary>
|
||||
Required designer variable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.MatrixViewer.Dispose(System.Boolean)">
|
||||
<summary>
|
||||
Clean up any resources being used.
|
||||
</summary>
|
||||
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.MatrixViewer.InitializeComponent">
|
||||
<summary>
|
||||
Required method for Designer support - do not modify
|
||||
the contents of this method with the code editor.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.Operation">
|
||||
<summary>
|
||||
An operation contains the MethodInfo and the methods parameters. It provides a way to invoke a specific method with the specific parameters.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Operation.Method">
|
||||
<summary>
|
||||
The MethodInfo
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Operation.Parameters">
|
||||
<summary>
|
||||
The parameters for this method
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.Operation.#ctor(System.Reflection.MethodInfo,System.Object[])">
|
||||
<summary>
|
||||
Create an operation using the specific method and parameters
|
||||
</summary>
|
||||
<param name="mi">The method info</param>
|
||||
<param name="parameters">The parameters for this method</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.Operation.InvokeMethod(System.Object)">
|
||||
<summary>
|
||||
Call the specific method with the specific parameters on the provided <paramref name="instance"/>
|
||||
</summary>
|
||||
<param name="instance">The instance to call the method</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.Operation.ToString">
|
||||
<summary>
|
||||
Represent this operation as a string
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.Operation.ToCode(Emgu.Util.TypeEnum.ProgrammingLanguage)">
|
||||
<summary>
|
||||
Represent this operation as code
|
||||
</summary>
|
||||
<returns>The source code</returns>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.OperationsView">
|
||||
<summary>
|
||||
A user control to display the operations
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.OperationsView.#ctor">
|
||||
<summary>
|
||||
Constructor
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.OperationsView.Language">
|
||||
<summary>
|
||||
Set the programming language for this Operation View
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.OperationsView.DisplayOperations(System.Collections.Generic.List{Emgu.CV.UI.Operation})">
|
||||
<summary>
|
||||
Display the operations
|
||||
</summary>
|
||||
<param name="operations">The operations to be displayed</param>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.OperationsView.components">
|
||||
<summary>
|
||||
Required designer variable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.OperationsView.Dispose(System.Boolean)">
|
||||
<summary>
|
||||
Clean up any resources being used.
|
||||
</summary>
|
||||
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.OperationsView.InitializeComponent">
|
||||
<summary>
|
||||
Required method for Designer support - do not modify
|
||||
the contents of this method with the code editor.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.PanAndZoomPictureBox">
|
||||
<summary>
|
||||
A picture box with pan and zoom functionality
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.PanAndZoomPictureBox._zoomScale">
|
||||
<summary>
|
||||
The zoom scale of the image to be displayed
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.PanAndZoomPictureBox.ZoomLevels">
|
||||
<summary>
|
||||
The available zoom levels for the displayed image
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.PanAndZoomPictureBox.#ctor">
|
||||
<summary>
|
||||
Create a picture box with pan and zoom functionality
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.PanAndZoomPictureBox.PanableAndZoomable">
|
||||
<summary>
|
||||
Get or Set the property to enable(disable) Pan and Zoom
|
||||
</summary>
|
||||
</member>
|
||||
<member name="E:Emgu.CV.UI.PanAndZoomPictureBox.OnZoomScaleChange">
|
||||
<summary>
|
||||
The event to fire when the zoom scale is changed
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.PanAndZoomPictureBox.InterpolationMode">
|
||||
<summary>
|
||||
Get or Set the interpolation mode for zooming operation
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.PanAndZoomPictureBox.OnPaint(System.Windows.Forms.PaintEventArgs)">
|
||||
<summary>
|
||||
Paint the image
|
||||
</summary>
|
||||
<param name="pe">The paint event</param>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.PanAndZoomPictureBox.HorizontalScrollBar">
|
||||
<summary>
|
||||
Get the horizontal scroll bar from this control
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.PanAndZoomPictureBox.VerticalScrollBar">
|
||||
<summary>
|
||||
Get the vertical scroll bar of this control
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.PanAndZoomPictureBox.OnMouseMove(System.Object,System.Windows.Forms.MouseEventArgs)">
|
||||
<summary>
|
||||
Used for tracking the mouse position on the image
|
||||
</summary>
|
||||
<param name="sender"></param>
|
||||
<param name="e"></param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.PanAndZoomPictureBox.GetViewSize">
|
||||
<summary>
|
||||
Get the size of the view area
|
||||
</summary>
|
||||
<returns>The size of the view area</returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.PanAndZoomPictureBox.GetImageSize">
|
||||
<summary>
|
||||
Get the size of the image
|
||||
</summary>
|
||||
<returns>The size of the image</returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.PanAndZoomPictureBox.Min(System.Drawing.Size,System.Drawing.Size)">
|
||||
<summary>
|
||||
Get the minimum of the two sizes
|
||||
</summary>
|
||||
<param name="s1">The first size</param>
|
||||
<param name="s2">The second size</param>
|
||||
<returns>The minimum of the two sizes</returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.PanAndZoomPictureBox.DrawReversibleRectangle(System.Drawing.Rectangle)">
|
||||
<summary>
|
||||
Draw a reversible rectangle on the control.
|
||||
</summary>
|
||||
<param name="rect">The rectangle using the control's coordinate system</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.PanAndZoomPictureBox.GetRectangle(System.Drawing.Point,System.Drawing.Point)">
|
||||
<summary>
|
||||
Get the rectangle defined by the two points on the control
|
||||
</summary>
|
||||
<param name="p1">The first point on the control</param>
|
||||
<param name="p2">The second point on the control</param>
|
||||
<returns>the rectangle defined by the two points</returns>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.PanAndZoomPictureBox.ZoomScale">
|
||||
<summary>
|
||||
Get or Set the zoom scale
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.PanAndZoomPictureBox.SetZoomScale(System.Double,System.Drawing.Point)">
|
||||
<summary>
|
||||
Set the new zoom scale for the displayed image
|
||||
</summary>
|
||||
<param name="zoomScale">The new zoom scale</param>
|
||||
<param name="fixPoint">The point to be fixed, in display coordinate</param>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.ParameterInputDialog">
|
||||
<summary>
|
||||
The dialog to ask user for parameters to the specific method
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ParameterInputDialog._paramValue">
|
||||
<summary>
|
||||
The List of parameter values
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ParameterInputDialog._paramInfo">
|
||||
<summary>
|
||||
The array of parameter info
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.ParameterInputDialog.Parameters">
|
||||
<summary>
|
||||
Get the parameters obtained by this parameter input dialog
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ParameterInputDialog.ParamInputPanel.GetValue">
|
||||
<summary>
|
||||
Return the value of the parameter input panel, if unable to retrieve value, return null
|
||||
</summary>
|
||||
<returns>The value of the parameter input panel, if unable to retrieve value, return null</returns>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.ParameterInputDialog.ParamInputPanel.GetParamFunction">
|
||||
<summary>
|
||||
The function used to obtain the parameter from this input panel
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ParameterInputDialog.ParseParameterName(System.Reflection.ParameterInfo)">
|
||||
<summary>
|
||||
Get the name of the parameter
|
||||
</summary>
|
||||
<param name="param">the parameter</param>
|
||||
<returns>the name of the parameter</returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ParameterInputDialog.CreatePanelForParameter(System.Reflection.ParameterInfo,System.Object)">
|
||||
<summary>
|
||||
Create a panel for the specific parameter
|
||||
</summary>
|
||||
<param name="param">the parameter to create panel for</param>
|
||||
<param name="defaultValue">The default value for the parameter</param>
|
||||
<returns>the panel</returns>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ParameterInputDialog.GetParams(System.Reflection.MethodInfo,System.Object[])">
|
||||
<summary>
|
||||
Obtain the parameters for <paramref name="method"/> and put them in <paramref name="defaultParameterValues"/>
|
||||
</summary>
|
||||
<param name="method">The method to Obtain parameters from</param>
|
||||
<param name="defaultParameterValues">The list that will be used as the storage for the retrieved parameters, if it contains elements, those elements will be used as default value</param>
|
||||
<returns>True if successed, false otherwise</returns>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ParameterInputDialog.components">
|
||||
<summary>
|
||||
Required designer variable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ParameterInputDialog.Dispose(System.Boolean)">
|
||||
<summary>
|
||||
Clean up any resources being used.
|
||||
</summary>
|
||||
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ParameterInputDialog.InitializeComponent">
|
||||
<summary>
|
||||
Required method for Designer support - do not modify
|
||||
the contents of this method with the code editor.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.Properties.StringTable">
|
||||
<summary>
|
||||
A strongly-typed resource class, for looking up localized strings, etc.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.ResourceManager">
|
||||
<summary>
|
||||
Returns the cached ResourceManager instance used by this class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.Culture">
|
||||
<summary>
|
||||
Overrides the current thread's CurrentUICulture property for all
|
||||
resource lookups using this strongly typed resource class.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.Cancel">
|
||||
<summary>
|
||||
Looks up a localized string similar to Cancel.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.Count">
|
||||
<summary>
|
||||
Looks up a localized string similar to Count.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.DefaultHistogramTitle">
|
||||
<summary>
|
||||
Looks up a localized string similar to Histogram.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.File">
|
||||
<summary>
|
||||
Looks up a localized string similar to File.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.Filters">
|
||||
<summary>
|
||||
Looks up a localized string similar to Filters.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.LoadImage">
|
||||
<summary>
|
||||
Looks up a localized string similar to Load Image....
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.OK">
|
||||
<summary>
|
||||
Looks up a localized string similar to OK.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.Only1DHistogramSupported">
|
||||
<summary>
|
||||
Looks up a localized string similar to Only 1D histogram is supported.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.ParameterIsInvalid">
|
||||
<summary>
|
||||
Looks up a localized string similar to Parameter {0} is invalid..
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.ParameterTypeIsNotSupported">
|
||||
<summary>
|
||||
Looks up a localized string similar to Parameter type '{0}' is not supported.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.PleaseLoadAnImageFirst">
|
||||
<summary>
|
||||
Looks up a localized string similar to Please load an image first.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.Property">
|
||||
<summary>
|
||||
Looks up a localized string similar to Property.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.SaveAs">
|
||||
<summary>
|
||||
Looks up a localized string similar to Save As....
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.SaveImageDialogText">
|
||||
<summary>
|
||||
Looks up a localized string similar to File Saving.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.Unknown">
|
||||
<summary>
|
||||
Looks up a localized string similar to Unknown.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.UnZoom">
|
||||
<summary>
|
||||
Looks up a localized string similar to Un-Zoom.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.Value">
|
||||
<summary>
|
||||
Looks up a localized string similar to Value.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.Zoom">
|
||||
<summary>
|
||||
Looks up a localized string similar to Zoom.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.ZoomIn">
|
||||
<summary>
|
||||
Looks up a localized string similar to Zoom In.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.Properties.StringTable.ZoomOut">
|
||||
<summary>
|
||||
Looks up a localized string similar to Zoom Out.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Emgu.CV.UI.ImagePropertyDialog">
|
||||
<summary>
|
||||
A dialog to display the property of an image
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImagePropertyDialog.#ctor(Emgu.CV.UI.ImageBox)">
|
||||
<summary>
|
||||
Constructor
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Emgu.CV.UI.ImagePropertyDialog.ImagePropertyControl">
|
||||
<summary>
|
||||
Get the image property panel
|
||||
</summary>
|
||||
</member>
|
||||
<member name="F:Emgu.CV.UI.ImagePropertyDialog.components">
|
||||
<summary>
|
||||
Required designer variable.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImagePropertyDialog.Dispose(System.Boolean)">
|
||||
<summary>
|
||||
Clean up any resources being used.
|
||||
</summary>
|
||||
<param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
</member>
|
||||
<member name="M:Emgu.CV.UI.ImagePropertyDialog.InitializeComponent">
|
||||
<summary>
|
||||
Required method for Designer support - do not modify
|
||||
the contents of this method with the code editor.
|
||||
</summary>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
BIN
WebApplication5/Emgu.CV.Platform.NetStandard.dll
Normal file
BIN
WebApplication5/Emgu.CV.Platform.NetStandard.dll
Normal file
Binary file not shown.
37441
WebApplication5/Emgu.CV.Platform.NetStandard.xml
Normal file
37441
WebApplication5/Emgu.CV.Platform.NetStandard.xml
Normal file
File diff suppressed because it is too large
Load Diff
@ -7,8 +7,7 @@ namespace WebApplication5.Models.Business
|
||||
{
|
||||
public class TemplateAnswer
|
||||
{
|
||||
public string Identifier { get; set; }
|
||||
public string StudendGUID { get; set; }
|
||||
public int QuestionId { get; set; }
|
||||
public List<SimpleAnswer> Answers { get; set; }
|
||||
}
|
||||
}
|
@ -8,6 +8,6 @@ namespace WebApplication5.Models.Business
|
||||
public class SimpleAnswer
|
||||
{
|
||||
public int AnswerNumber { get; set; }
|
||||
public int CheckBoxNumber { get; set; }
|
||||
public bool Checked { get; set; }
|
||||
}
|
||||
}
|
@ -3,37 +3,229 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using WebApplication5.Models.Business;
|
||||
using Emgu.CV;
|
||||
using Emgu.Util;
|
||||
using Emgu.CV.Structure;
|
||||
using System.IO;
|
||||
using ImageMagick;
|
||||
using System.Drawing;
|
||||
|
||||
namespace WebApplication5.Templates
|
||||
{
|
||||
public class CheckCards
|
||||
{
|
||||
//inject db
|
||||
public CheckCards()
|
||||
private TestsDbContext _db;
|
||||
public CheckCards(TestsDbContext db)
|
||||
{
|
||||
|
||||
_db = db;
|
||||
}
|
||||
|
||||
public List<TemplateAnswer> LoadAnswersPdf()
|
||||
public void CheckFolder(string folder)
|
||||
{
|
||||
var list = new List<TemplateAnswer>();
|
||||
string[] fileEntries = Directory.GetFiles(@"C:\Users\Janek\Desktop\Tests\scans");
|
||||
|
||||
while (false) //while pdf not ended
|
||||
foreach (string fileName in fileEntries.Where(f => f.EndsWith(".pdf")))
|
||||
{
|
||||
//read page
|
||||
var studentAns = new TemplateAnswer();
|
||||
//Extract identifier
|
||||
//Extract student info
|
||||
//ExtractAnswers
|
||||
}
|
||||
var answers = ProcessFile(fileName);
|
||||
var questions = _db.Questions.Include("Answers").Where(q => answers.Select(a => a.QuestionId).Contains(q.Id)).ToList();
|
||||
|
||||
return list;
|
||||
var points = 0;
|
||||
var maxPoints = questions.Sum(q => q.DefaultScore);
|
||||
|
||||
foreach (var q in questions)
|
||||
{
|
||||
var ta = answers.First(a => a.QuestionId == q.Id).Answers.Where(a => a.Checked).Select(a => a.AnswerNumber);
|
||||
var minId = q.Answers.Min(a => a.Id);
|
||||
var correctRelativeAnswers = q.Answers.Where(a => a.IsCorrect).Select(a => a.Id - minId + 1);
|
||||
|
||||
points += q.DefaultScore;
|
||||
}
|
||||
}
|
||||
}
|
||||
public void AssignPointsToStudent(TemplateAnswer answers)
|
||||
|
||||
private List<TemplateAnswer> ProcessFile(string fileName)
|
||||
{
|
||||
//load template for guid in answer
|
||||
//check number of valid answers
|
||||
//assign score
|
||||
fileName = PDFtoIMG(fileName);
|
||||
var greyThresh = ImgToGray(fileName);
|
||||
|
||||
var qrCode = HandleQRCodeAndRotation(greyThresh);
|
||||
greyThresh.ThresholdBinary(new Gray(1), new Gray(255));
|
||||
|
||||
var questionsIds = qrCode.Split('_').Select(i => int.Parse(i));
|
||||
var numbOfQuestions = questionsIds.Count();
|
||||
var lcolumn = numbOfQuestions - (numbOfQuestions / 2);
|
||||
var lcolumnq = questionsIds.Take(lcolumn).ToList();
|
||||
var rcolumnq = questionsIds.Skip(lcolumn).ToList();
|
||||
|
||||
|
||||
var widthl = _db.Questions.Where(q => lcolumnq.Contains(q.Id)).Max(q => q.Answers.Count);
|
||||
var widthr = _db.Questions.Where(q => rcolumnq.Contains(q.Id)).Max(q => q.Answers.Count);
|
||||
|
||||
var ans1 = GetAnswers(greyThresh, lcolumnq, false, 480, widthl);
|
||||
var ans2 = GetAnswers(greyThresh, rcolumnq, true, 480, widthr);
|
||||
|
||||
return ans1.Concat(ans2).ToList();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private int GetHeight(LineSegment2D[] lines, int questionNumbers)
|
||||
{
|
||||
return Math.Abs(GetTopLine(lines) - GetBottomLine(lines)) / questionNumbers;
|
||||
}
|
||||
private double LineAvg(LineSegment2D[] lines)
|
||||
{
|
||||
return lines.Average(l => Math.Min(l.P2.Y, l.P1.Y));
|
||||
}
|
||||
|
||||
private int GetTopLine(LineSegment2D[] lines)
|
||||
{
|
||||
return lines.Min(l => Math.Min(l.P2.Y, l.P1.Y));
|
||||
}
|
||||
private int GetBottomLine(LineSegment2D[] lines)
|
||||
{
|
||||
return lines.Max(l => Math.Max(l.P2.Y, l.P1.Y));
|
||||
}
|
||||
private int GetLeftLine(LineSegment2D[] lines)
|
||||
{
|
||||
return lines.Min(l => Math.Min(l.P2.X, l.P1.X));
|
||||
}
|
||||
private int GetRightLine(LineSegment2D[] lines)
|
||||
{
|
||||
return lines.Max(l => Math.Max(l.P2.X, l.P1.X));
|
||||
}
|
||||
|
||||
private List<TemplateAnswer> GetAnswers(Image<Gray, byte> image, List<int> questionsIds, bool rightcolumn, int idetiferHeight, int ansNumber)
|
||||
{
|
||||
var result = new List<TemplateAnswer>();
|
||||
image.ROI = new Rectangle();
|
||||
|
||||
if (rightcolumn)
|
||||
image.ROI = new Rectangle(image.Size.Width / 2, idetiferHeight, image.Size.Width / 2, image.Size.Height - idetiferHeight);
|
||||
else
|
||||
image.ROI = new Rectangle(0, idetiferHeight, image.Size.Width / 2, image.Size.Height- idetiferHeight);
|
||||
|
||||
image.Save(@"C:\Users\Janek\Desktop\Tests\scans\half_" + rightcolumn + ".jpg");
|
||||
var lines = GetHorizontal(image);
|
||||
var left = GetLeftLine(lines);
|
||||
var right = GetRightLine(lines);
|
||||
var top = GetTopLine(lines);
|
||||
var height = GetHeight(lines, questionsIds.Count);
|
||||
var widthPerAnswer = (right - left) / ansNumber;
|
||||
|
||||
image.ROI = new Rectangle();
|
||||
var rec = new Rectangle(rightcolumn ? image.Size.Width / 2 + left : left, idetiferHeight + top, right - left, height * questionsIds.Count);
|
||||
image.Draw(rec, new Gray(255), 10);
|
||||
image.Save(@"C:\Users\Janek\Desktop\Tests\scans\" + rightcolumn + "lines.jpg");
|
||||
|
||||
for (int i = 0; i < questionsIds.Count; i++)
|
||||
{
|
||||
var xStart = left;
|
||||
if (rightcolumn)
|
||||
{
|
||||
image.ROI = new Rectangle();
|
||||
xStart = xStart + image.Size.Width / 2;
|
||||
}
|
||||
var qA = new TemplateAnswer()
|
||||
{
|
||||
QuestionId = questionsIds.ElementAt(i),
|
||||
Answers = new List<SimpleAnswer>()
|
||||
};
|
||||
for (int j = 0; j < ansNumber; j++)
|
||||
{
|
||||
var a = new SimpleAnswer()
|
||||
{
|
||||
AnswerNumber = j,
|
||||
Checked = false
|
||||
};
|
||||
var recc = new Rectangle(xStart, idetiferHeight + top + height * i, widthPerAnswer, height);
|
||||
xStart = xStart + widthPerAnswer;
|
||||
|
||||
image.ROI = recc;
|
||||
var pixels = (float)image.ROI.Size.Height * image.ROI.Width;
|
||||
var nonZero = (float)image.CountNonzero()[0];
|
||||
if ((pixels - nonZero) / pixels > 0.5)
|
||||
a.Checked = true;
|
||||
|
||||
image.Save(@"C:\Users\Janek\Desktop\Tests\scans\" + rightcolumn + i + j + ".jpg");
|
||||
|
||||
}
|
||||
result.Add(qA);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
public LineSegment2D[] GetHorizontal(Image<Gray, byte> image)
|
||||
{
|
||||
var lines = image.HoughLines(200, 100, 1, Math.PI / 90, 50, 50, 10)[0]
|
||||
.Where(l => l.Direction.X != 0 && l.Direction.Y == 0).ToArray();
|
||||
|
||||
var avg = LineAvg(lines);
|
||||
var topLine = GetTopLine(lines);
|
||||
var avgDist = avg - topLine;
|
||||
|
||||
lines = lines.Where(l => Math.Max(l.P1.Y, l.P2.Y) < (2 * avgDist) + topLine)
|
||||
.ToArray();
|
||||
|
||||
return lines;
|
||||
}
|
||||
|
||||
private Image<Gray, byte> ImgToGray(string fileName)
|
||||
{
|
||||
Image<Bgr, byte> answersCard = new Image<Bgr, byte>(fileName);
|
||||
Image<Gray, byte> grayImage = answersCard.Convert<Gray, byte>();
|
||||
var grayMin = grayImage.ThresholdToZero(new Gray(150));
|
||||
return grayMin;
|
||||
}
|
||||
|
||||
private string HandleQRCodeAndRotation(Image<Gray, byte> image)
|
||||
{
|
||||
var qrDetector = new QRCodeDetector();
|
||||
Mat x = new Mat();
|
||||
Mat y = new Mat();
|
||||
qrDetector.Detect(image, x);
|
||||
|
||||
return qrDetector.Decode(image, x, y);
|
||||
}
|
||||
public void CheckRotation(Image<Gray, byte> image, Mat square)
|
||||
{
|
||||
double x = 0, y = 0;
|
||||
var arr = square.GetData();
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
x += x + (double)arr.GetValue(2 * i);
|
||||
}
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
y += y + (double)arr.GetValue(2 * i + 1);
|
||||
}
|
||||
x = x / 4;
|
||||
y = y / 4;
|
||||
|
||||
var xMax = image.Size.Width;
|
||||
var yMax = image.Size.Height;
|
||||
|
||||
var distanceFromCorners = new List<int>();
|
||||
var left = Math.Abs(xMax - x);
|
||||
|
||||
image.Rotate(180, new Gray(0));
|
||||
}
|
||||
private string PDFtoIMG(string fileName)
|
||||
{
|
||||
var settings = new MagickReadSettings();
|
||||
// Settings the density to 300 dpi will create an image with a better quality
|
||||
settings.Density = new Density(300);
|
||||
|
||||
using (var images = new MagickImageCollection())
|
||||
{
|
||||
// Add all the pages of the pdf file to the collection
|
||||
images.Read(fileName, settings);
|
||||
fileName = fileName.Replace(".pdf", ".jpg");
|
||||
using (var horizontal = images.AppendHorizontally())
|
||||
{
|
||||
horizontal.Write(fileName);
|
||||
}
|
||||
}
|
||||
return fileName;
|
||||
}
|
||||
}
|
||||
}
|
@ -156,6 +156,14 @@
|
||||
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.6.0.0" newVersion="4.6.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Interactive.Async" publicKeyToken="94bc3704cddfc263" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
<entityFramework>
|
||||
|
@ -51,9 +51,27 @@
|
||||
<Reference Include="AutoMapper.Extensions.Microsoft.DependencyInjection, Version=0.0.0.0, Culture=neutral, PublicKeyToken=e767ac9c89543656, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AutoMapper.Extensions.Microsoft.DependencyInjection.7.0.0\lib\netstandard2.0\AutoMapper.Extensions.Microsoft.DependencyInjection.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Emgu.CV.Platform.NetFramework, Version=4.3.0.3890, Culture=neutral, PublicKeyToken=7281126722ab4438, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Emgu.CV.4.3.0.3890\lib\net461\Emgu.CV.Platform.NetFramework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Emgu.CV.Platform.NetStandard, Version=4.3.0.3890, Culture=neutral, PublicKeyToken=7281126722ab4438, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Emgu.CV.4.3.0.3890\lib\net461\Emgu.CV.Platform.NetStandard.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FSharp.Control.AsyncSeq, Version=2.0.21.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\FSharp.Control.AsyncSeq.2.0.21\lib\net45\FSharp.Control.AsyncSeq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FSharp.Core, Version=4.6.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\FSharp.Core.4.6.2\lib\net45\FSharp.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="itextsharp, Version=5.5.13.1, Culture=neutral, PublicKeyToken=8354ae6d2174ddca, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\iTextSharp.5.5.13.1\lib\itextsharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Magick.NET-Q16-AnyCPU, Version=7.19.0.0, Culture=neutral, PublicKeyToken=2004825badfa91ec, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Magick.NET-Q16-AnyCPU.7.19.0.1\lib\net40\Magick.NET-Q16-AnyCPU.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Magick.NET.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=2004825badfa91ec, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Magick.NET.Core.2.0.0\lib\net40\Magick.NET.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.1.1.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
|
||||
</Reference>
|
||||
@ -100,6 +118,9 @@
|
||||
<Reference Include="Microsoft.Extensions.FileSystemGlobbing, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.FileSystemGlobbing.3.1.0\lib\netstandard2.0\Microsoft.Extensions.FileSystemGlobbing.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Http, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Http.2.2.0\lib\netstandard2.0\Microsoft.Extensions.Http.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Extensions.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Logging.3.1.0\lib\netstandard2.0\Microsoft.Extensions.Logging.dll</HintPath>
|
||||
</Reference>
|
||||
@ -112,6 +133,39 @@
|
||||
<Reference Include="Microsoft.Extensions.Primitives, Version=3.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Extensions.Primitives.3.1.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.CaseInsensitive, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.CaseInsensitive.1.0.1\lib\net452\NCoreUtils.CaseInsensitive.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.FSharp, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.FSharp.2.1.0\lib\net452\NCoreUtils.FSharp.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.FSharp.DependencyInjection, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.FSharp.DependencyInjection.2.1.0\lib\netstandard2.0\NCoreUtils.FSharp.DependencyInjection.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.Images, Version=2.2.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.Images.2.2.0\lib\netstandard2.0\NCoreUtils.Images.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.Images.Abstractions, Version=2.2.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.Images.Abstractions.2.2.0\lib\net452\NCoreUtils.Images.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.Images.Core, Version=2.2.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.Images.Core.2.2.0\lib\net452\NCoreUtils.Images.Core.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.Images.DependencyInjection, Version=2.2.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.Images.DependencyInjection.2.2.0\lib\netstandard2.0\NCoreUtils.Images.DependencyInjection.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.IO, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.IO.2.1.0\lib\net452\NCoreUtils.IO.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.IO.Abstractions, Version=2.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.IO.Abstractions.2.1.0\lib\net452\NCoreUtils.IO.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.Linq, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.Linq.1.0.5\lib\net452\NCoreUtils.Linq.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NCoreUtils.Linq.Abstractions, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NCoreUtils.Linq.Abstractions.1.0.1\lib\net452\NCoreUtils.Linq.Abstractions.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=11.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
@ -131,6 +185,7 @@
|
||||
<Reference Include="System.ComponentModel.Annotations, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.ComponentModel.Annotations.4.7.0\lib\net461\System.ComponentModel.Annotations.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ComponentModel.Composition" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SqlClient, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Data.SqlClient.4.6.0\lib\net461\System.Data.SqlClient.dll</HintPath>
|
||||
@ -142,9 +197,19 @@
|
||||
<Reference Include="System.Interactive.Async, Version=3.2.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Interactive.Async.3.2.0\lib\net46\System.Interactive.Async.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.IO, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.IO.4.3.0\lib\net462\System.IO.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.4.0.20710.0\lib\net40\System.Net.Http.Formatting.dll</HintPath>
|
||||
</Reference>
|
||||
@ -152,9 +217,34 @@
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.4.3.0\lib\net462\System.Runtime.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net463\System.Security.Cryptography.Algorithms.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Text.Encodings.Web, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Text.Encodings.Web.4.7.0\lib\netstandard2.0\System.Text.Encodings.Web.dll</HintPath>
|
||||
</Reference>
|
||||
@ -192,8 +282,6 @@
|
||||
<Private>True</Private>
|
||||
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http">
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.WebRequest">
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
@ -326,6 +414,18 @@
|
||||
<Content Include="Content\bootstrap-theme.min.css" />
|
||||
<Content Include="Content\bootstrap.css" />
|
||||
<Content Include="Content\bootstrap.min.css" />
|
||||
<Content Include="Emgu.CV.Platform.NetFramework.dll">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Emgu.CV.Platform.NetFramework.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Emgu.CV.Platform.NetStandard.dll">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Emgu.CV.Platform.NetStandard.xml">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="favicon.ico" />
|
||||
<Content Include="fonts\glyphicons-halflings-regular.svg" />
|
||||
<Content Include="Global.asax" />
|
||||
@ -432,7 +532,9 @@
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
|
||||
<Error Condition="!Exists('..\packages\Emgu.CV.runtime.windows.4.3.0.3890\build\Emgu.CV.runtime.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Emgu.CV.runtime.windows.4.3.0.3890\build\Emgu.CV.runtime.windows.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\Emgu.CV.runtime.windows.4.3.0.3890\build\Emgu.CV.runtime.windows.targets" Condition="Exists('..\packages\Emgu.CV.runtime.windows.4.3.0.3890\build\Emgu.CV.runtime.windows.targets')" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
@ -4,10 +4,16 @@
|
||||
<package id="AutoMapper" version="9.0.0" targetFramework="net472" />
|
||||
<package id="AutoMapper.Extensions.Microsoft.DependencyInjection" version="7.0.0" targetFramework="net472" />
|
||||
<package id="bootstrap" version="3.4.1" targetFramework="net472" />
|
||||
<package id="Emgu.CV" version="4.3.0.3890" targetFramework="net472" />
|
||||
<package id="Emgu.CV.runtime.windows" version="4.3.0.3890" targetFramework="net472" />
|
||||
<package id="EntityFramework" version="6.2.0" targetFramework="net472" />
|
||||
<package id="FSharp.Control.AsyncSeq" version="2.0.21" targetFramework="net472" />
|
||||
<package id="FSharp.Core" version="4.6.2" targetFramework="net472" />
|
||||
<package id="iTextSharp" version="5.5.13.1" targetFramework="net472" />
|
||||
<package id="jQuery" version="3.3.1" targetFramework="net472" />
|
||||
<package id="jQuery.Validation" version="1.17.0" targetFramework="net472" />
|
||||
<package id="Magick.NET.Core" version="2.0.0" targetFramework="net472" />
|
||||
<package id="Magick.NET-Q16-AnyCPU" version="7.19.0.1" targetFramework="net472" />
|
||||
<package id="Microsoft.AspNet.Identity.Core" version="2.2.2" targetFramework="net472" />
|
||||
<package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.2" targetFramework="net472" />
|
||||
<package id="Microsoft.AspNet.Identity.Owin" version="2.2.2" targetFramework="net472" />
|
||||
@ -35,12 +41,14 @@
|
||||
<package id="Microsoft.Extensions.FileProviders.Abstractions" version="3.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Extensions.FileProviders.Physical" version="3.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Extensions.FileSystemGlobbing" version="3.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Extensions.Http" version="2.2.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Extensions.Logging" version="3.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Extensions.Logging.Abstractions" version="3.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Extensions.Options" version="3.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Extensions.Primitives" version="3.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.11" targetFramework="net472" />
|
||||
<package id="Microsoft.Net.Http" version="2.0.20710.0" targetFramework="net472" />
|
||||
<package id="Microsoft.NETCore.Platforms" version="2.2.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Owin" version="4.0.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Owin.Host.SystemWeb" version="4.0.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Owin.Security" version="4.0.0" targetFramework="net472" />
|
||||
@ -52,6 +60,17 @@
|
||||
<package id="Microsoft.Owin.Security.Twitter" version="4.0.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net472" />
|
||||
<package id="Modernizr" version="2.8.3" targetFramework="net472" />
|
||||
<package id="NCoreUtils.CaseInsensitive" version="1.0.1" targetFramework="net472" />
|
||||
<package id="NCoreUtils.FSharp" version="2.1.0" targetFramework="net472" />
|
||||
<package id="NCoreUtils.FSharp.DependencyInjection" version="2.1.0" targetFramework="net472" />
|
||||
<package id="NCoreUtils.Images" version="2.2.0" targetFramework="net472" />
|
||||
<package id="NCoreUtils.Images.Abstractions" version="2.2.0" targetFramework="net472" />
|
||||
<package id="NCoreUtils.Images.Core" version="2.2.0" targetFramework="net472" />
|
||||
<package id="NCoreUtils.Images.DependencyInjection" version="2.2.0" targetFramework="net472" />
|
||||
<package id="NCoreUtils.IO" version="2.1.0" targetFramework="net472" />
|
||||
<package id="NCoreUtils.IO.Abstractions" version="2.1.0" targetFramework="net472" />
|
||||
<package id="NCoreUtils.Linq" version="1.0.5" targetFramework="net472" />
|
||||
<package id="NCoreUtils.Linq.Abstractions" version="1.0.1" targetFramework="net472" />
|
||||
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net472" />
|
||||
<package id="Owin" version="1.0" targetFramework="net472" />
|
||||
<package id="Remotion.Linq" version="2.2.0" targetFramework="net472" />
|
||||
@ -63,9 +82,16 @@
|
||||
<package id="System.Data.SqlClient" version="4.6.0" targetFramework="net472" />
|
||||
<package id="System.Diagnostics.DiagnosticSource" version="4.7.0" targetFramework="net472" />
|
||||
<package id="System.Interactive.Async" version="3.2.0" targetFramework="net472" />
|
||||
<package id="System.IO" version="4.3.0" targetFramework="net472" />
|
||||
<package id="System.Memory" version="4.5.3" targetFramework="net472" />
|
||||
<package id="System.Net.Http" version="4.3.4" targetFramework="net472" />
|
||||
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
|
||||
<package id="System.Runtime" version="4.3.0" targetFramework="net472" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="4.7.0" targetFramework="net472" />
|
||||
<package id="System.Security.Cryptography.Algorithms" version="4.3.0" targetFramework="net472" />
|
||||
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net472" />
|
||||
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net472" />
|
||||
<package id="System.Security.Cryptography.X509Certificates" version="4.3.0" targetFramework="net472" />
|
||||
<package id="System.Text.Encodings.Web" version="4.7.0" targetFramework="net472" />
|
||||
<package id="System.Text.Json" version="4.7.0" targetFramework="net472" />
|
||||
<package id="System.Threading.Tasks.Extensions" version="4.5.2" targetFramework="net472" />
|
||||
|
Loading…
Reference in New Issue
Block a user