Exemplo n.º 1
0
def get_ocr_transformations(image):
    filepath = utils.get_filepath(app.config['INPUT_FOLDER'], image)
    if filepath is None:
        return redirect(url_for('index'))
    text = request.form.get('text', '')
    transformations = utils.get_images(app.config['OUTPUT_FOLDER'])
    results = []
    for transformation in transformations:
        result_text, percentage = ocr.compare(text, utils.get_filepath(app.config['OUTPUT_FOLDER'], transformation[1]))
        results.append({'transformation': transformation[1].split('-')[0], 'original': text, 'result': result_text, 'percentage': percentage})
    results = sorted(results, key=itemgetter('percentage'), reverse=True)

    result_text, percentage = ocr.compare(text, filepath)
    results.insert(0, {'transformation': 'original', 'original': text, 'result': result_text, 'percentage': percentage})
    return jsonify(results)
Exemplo n.º 2
0
def get_ocr_steps(original, folder):
    filepath = utils.get_filepath(app.config['INPUT_FOLDER'], original)
    if filepath is None:
        return redirect(url_for('index'))
    text = request.form.get('text', '')
    steps = utils.get_images('static/img/pipelines/steps/{}'.format(folder))
    steps.sort(key=lambda x: int(x[1].split(')')[0]))
    results = []
    for step in steps:
        result_text, percentage = ocr.compare(text, utils.get_filepath('static/img/pipelines/steps/{}'.format(folder), step[1]))
        results.append({'step': step[1].split('-')[0], 'original': text, 'result': result_text, 'percentage': percentage})

    result_text, percentage = ocr.compare(text, filepath)
    results.insert(0, {'step': 'original', 'original': text, 'result': result_text, 'percentage': percentage})
    return jsonify(results)
Exemplo n.º 3
0
def get_ocr(image):
    filepath = utils.get_filepath(app.config['INPUT_FOLDER'], image)
    if filepath is None:
        return redirect(url_for('index'))
    text = request.form.get('text', '')
    pipelines = utils.get_images(app.config['OUTPUT_FOLDER_PIPELINES'])
    pipelines.sort(key=lambda x: int(x[1].split('-')[0]))
    results = []
    for pipeline in pipelines:
        result_text, percentage = ocr.compare(text, utils.get_filepath(app.config['OUTPUT_FOLDER_PIPELINES'], pipeline[1]))
        results.append({'pipeline': pipeline[1].split('-')[0], 'original': text, 'result': result_text, 'percentage': percentage})
    results = sorted(results, key=itemgetter('percentage'), reverse=True)

    result_text, percentage = ocr.compare(text, filepath)
    results.insert(0, {'pipeline': 'original', 'original': text, 'result': result_text, 'percentage': percentage})
    return jsonify(results)
Exemplo n.º 4
0
def get_ocr(image):
    filepath = utils.get_filepath(app.config['INPUT_FOLDER'], image)
    if filepath is None:
        return not_found_error()
    text = request.get_json().get('text')
    if text is None:
        response = jsonify({
            'success': False,
            'message': 'Field "text" is required'
        })
        response.status_code = 400
        return response
    pipelines = utils.get_images(app.config['OUTPUT_FOLDER_PIPELINES'])
    pipelines.sort(key=lambda x: int(x[1].split('-')[0]))
    results = []
    for pipeline in pipelines:
        result_text, percentage = ocr.compare(
            text,
            utils.get_filepath(app.config['OUTPUT_FOLDER_PIPELINES'],
                               pipeline[1]))
        results.append({
            'pipeline': pipeline[1].split('-')[0],
            'original': text,
            'result': result_text,
            'percentage': percentage
        })
    results = sorted(results, key=itemgetter('percentage'), reverse=True)

    result_text, percentage = ocr.compare(text, filepath)
    results.insert(
        0, {
            'pipeline': 'original',
            'original': text,
            'result': result_text,
            'percentage': percentage
        })
    response = jsonify({'success': True, 'results': results})
    response.status_code = 200
    return response
Exemplo n.º 5
0
def get_ocr_steps(original, folder):
    filepath = utils.get_filepath(app.config['INPUT_FOLDER'], original)
    if filepath is None:
        return not_found_error()
    text = request.get_json().get('text')
    if text is None:
        response = jsonify({
            'success': False,
            'message': 'Field "text" is required'
        })
        response.status_code = 400
        return response
    steps = utils.get_images('static/img/pipelines/steps/{}'.format(folder))
    steps.sort(key=lambda x: int(x[1].split(')')[0]))
    results = []
    for step in steps:
        result_text, percentage = ocr.compare(
            text,
            utils.get_filepath('static/img/pipelines/steps/{}'.format(folder),
                               step[1]))
        results.append({
            'step': step[1].split('-')[0],
            'original': text,
            'result': result_text,
            'percentage': percentage
        })

    result_text, percentage = ocr.compare(text, filepath)
    results.insert(
        0, {
            'step': 'original',
            'original': text,
            'result': result_text,
            'percentage': percentage
        })
    response = jsonify({'success': True, 'results': results})
    response.status_code = 200
    return response
def main(image=0):
    if image == 0:
        init__file_results()

    images = utils.get_images(config['INPUT_FOLDER'])
    images.sort(key=lambda x: int(x[1]))
    images = images[image:]

    for image in images:
        print('Image {}'.format(image[1]))
        filepath = image[0][1:]
        text = ORIGINAL_TEXTS[image[1]]
        utils.delete_images(config['OUTPUT_FOLDER_PIPELINES'])

        time = default_timer()
        result_text, percentage = ocr.compare(text, filepath)
        time_end = default_timer() - time
        write_file_result(
            [image[1], 'original', percentage, text, result_text, time_end])

        steps, times = processing_lib.pipeline(filepath,
                                               config['TRANSFORMATIONS'])

        pipelines = utils.get_images(config['OUTPUT_FOLDER_PIPELINES'])
        for pipeline in pipelines:
            time = default_timer()
            result_text, percentage = ocr.compare(
                text,
                utils.get_filepath(config['OUTPUT_FOLDER_PIPELINES'],
                                   pipeline[1]))
            time_end = default_timer() - time
            write_file_result([
                image[1], '\r'.join(steps[int(pipeline[1].split('-')[0])]),
                percentage, text, result_text,
                times[int(pipeline[1].split('-')[0])] + time_end
            ])