/// <summary> /// Recogize the character from the image and returns HashMap with keys as /// characters and recognition probability as values sorted descending by probability. /// </summary> /// <param name="charImage"> character image </param> /// <returns> HashMap with keys as characters and recognition probability as values </returns> public virtual Hashtable recognizeCharacterProbabilities(Image charImage) { // get the image recognition plugin from neural network ImageRecognitionPlugin imageRecognition = (ImageRecognitionPlugin)this.ParentNetwork.getPlugin(typeof(ImageRecognitionPlugin)); // image recognition is done here Dictionary <string, double?> output = imageRecognition.recognizeImage(charImage); Dictionary <char?, double?> recognized = sortHashMapByValues(output); return(recognized); }
/// <summary> /// Recognizes character from the image and returns character </summary> /// <param name="charImage"> character image </param> /// <returns> recognized character </returns> public virtual char?recognizeCharacter(Image charImage) { // get the image recognition plugin from neural network ImageRecognitionPlugin imageRecognition = (ImageRecognitionPlugin)this.ParentNetwork.getPlugin(typeof(ImageRecognitionPlugin)); Dictionary <string, double?> output = imageRecognition.recognizeImage(charImage); Dictionary <string, Neuron> n = imageRecognition.MaxOutput; string ch = n.ToString().Substring(1, 1); return(Convert.ToChar(ch[0])); }
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in .NET: //ORIGINAL LINE: public static void main(String[] args) throws java.io.IOException public static void Main(string[] args) { // User input parameters //*********************************************************************************************************************************** string networkPath = "C:/Users/Mihailo/Desktop/OCR/nnet/nnet-12-0.01.nnet"; // path to the trained network * string letterPath = "C:/Users/Mihailo/Desktop/OCR/letters/259.png"; // path to the letter for recognition * //*********************************************************************************************************************************** NeuralNetwork nnet = NeuralNetwork.createFromFile(networkPath); ImageRecognitionPlugin imageRecognition = (ImageRecognitionPlugin)nnet.getPlugin(typeof(ImageRecognitionPlugin)); IDictionary <string, double?> output = imageRecognition.recognizeImage(new File(letterPath)); Console.WriteLine("Recognized letter: " + OCRUtilities.getCharacter(output)); }
public static void Main(string[] args) { // load trained neural network saved with NeurophStudio (specify existing neural network file here) NeuralNetwork nnet = NeuralNetwork.createFromFile("MyImageRecognition.nnet"); // get the image recognition plugin from neural network ImageRecognitionPlugin imageRecognition = (ImageRecognitionPlugin)nnet.getPlugin(typeof(ImageRecognitionPlugin)); try { // image recognition is done here Dictionary <string, double?> output = imageRecognition.recognizeImage(new File("someImage.jpg")); // specify some existing image file here Console.WriteLine(output.ToString()); } catch (IOException) { Console.WriteLine("Error: could not read file!"); } catch (VectorSizeMismatchException) { Console.WriteLine("Error: Image dimensions dont !"); } }