def analyzePostResizeDigitImage(digitImage, imageAnalysis): digitImageArray = numpy.asarray(digitImage) # Histogram imageAnalysis['verticalHistogram'] = ocr_utils.createVerticalHistogram(digitImageArray) imageAnalysis['horizontalHistogram'] = ocr_utils.createHorizontalHistogram(digitImageArray) imageAnalysis['50x25grid'] = ocr_utils.createMxNGrid(50,25,digitImageArray) imageAnalysis['40x20grid'] = ocr_utils.createMxNGrid(40,20,digitImageArray) imageAnalysis['20x10grid'] = ocr_utils.createMxNGrid(20,10,digitImageArray) imageAnalysis['5x1grid'] = ocr_utils.createMxNGrid(5,1,digitImageArray) imageAnalysis['1x5grid'] = ocr_utils.createMxNGrid(1,5,digitImageArray) return imageAnalysis
def getVector(originalImage, data): originalImageArray = numpy.asarray(originalImage) originalImageAspectRatio = ocr_utils.getAspectRatio(originalImageArray) originalImage = originalImage.crop(ocr_utils.findEndpoints(originalImageArray)) originalImage = originalImage.resize((resizeWidth, resizeHeight)) original50x25Grid = ocr_utils.createMxNGrid(50,25,numpy.asarray(originalImage)) original40x20Grid = ocr_utils.createMxNGrid(40,20,numpy.asarray(originalImage)) original20x10Grid = ocr_utils.createMxNGrid(20,10,numpy.asarray(originalImage)) original5x1Grid = ocr_utils.createMxNGrid(5,1,numpy.asarray(originalImage)) original1x5Grid = ocr_utils.createMxNGrid(1,5,numpy.asarray(originalImage)) originalImageVerticalHistogram = ocr_utils.createVerticalHistogram(numpy.asarray(originalImage)) originalImageHorizontalHistogram = ocr_utils.createHorizontalHistogram(numpy.asarray(originalImage)) featureVector = [] recognized50x25GridDigit = getRecognizedMxNGridDigit(original50x25Grid,data,50,25) featureVector.append(recognized50x25GridDigit) recognized40x20GridDigit = getRecognizedMxNGridDigit(original40x20Grid,data,40,20) featureVector.append(recognized40x20GridDigit) recognized20x10GridDigit = getRecognizedMxNGridDigit(original20x10Grid,data,20,10) featureVector.append(recognized20x10GridDigit) recognized5x1GridDigit = getRecognizedMxNGridDigit(original5x1Grid,data,5,1) featureVector.append(recognized5x1GridDigit) recognized1x5GridDigit = getRecognizedMxNGridDigit(original1x5Grid,data,1,5) featureVector.append(recognized1x5GridDigit) recognizedVerticalHistogramDigit = getRecognizedVerticalHistogramDigit(originalImageVerticalHistogram,data) featureVector.append(recognizedVerticalHistogramDigit) recognizedHorizontalHistogramDigit = getRecognizedHorizontalHistogramDigit(originalImageHorizontalHistogram,data) featureVector.append(recognizedHorizontalHistogramDigit) recognizedAspectRatioDigit = getRecognizedAspectRatioDigit(originalImageAspectRatio,data) featureVector.append(recognizedAspectRatioDigit) return featureVector