⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ocr.cpp

📁 This is a sample of an Algorithm of OCR with Neural Network.
💻 CPP
字号:
/* Programa: ocr.c */
/* Descricao: utiliza a rede ocr_t que tenta repetir */
/* o padrao de entrada. O programa abre o arquivo de*/
/* entrada, formata os dados para a entrada da rede */
/* e exibe o resultado computado pela rede neural */

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <malloc.h>
#include "ocr_t.h"
#include "ocr_t.c"
 

#define LINE_LENGTH 80
#define INPUT_WIDTH 81
#define OUTPUT_WIDTH 81
 

void main(int argc, char* argv[]) {
    float *in = (float *)malloc(INPUT_WIDTH * sizeof(float));
    float *out = (float *)malloc(OUTPUT_WIDTH * sizeof(float));
    FILE *pattern_file;
    char *line = (char *)malloc(LINE_LENGTH * sizeof(char)); /* no maximo 80 caracteres em cada linha */
    char chr[2];
    float *index;
    unsigned int counter = 0;
    int answer, ocr;
 

    if (argc < 2) {

        printf("\nFile Name is Missing\n");
        printf("Usage:\n");
        printf(" ocr <pattern_file>\n\n");
        exit();
    }

    printf("\nPattern File is %s\n", argv[1]);

    if ((pattern_file = fopen(argv[1], "rb")) == NULL) {
        printf("\nCan't open pattern file\n");
        exit(0);
    }
    printf("\nBeggining of data was found\n");
    index = in;
    line = fgets(line, LINE_LENGTH, pattern_file);
    while (!feof(pattern_file)) {
        printf("\nThe line is %s\n", line);
        counter = 0;
        chr[0] = line[counter];
        chr[1] = '\0';

        while (chr[0] != '\0') {
            if (chr[0] != ' ' && chr[0] != '\n') {
            *index = (float)atoi(chr);
            printf("value %f\n", *index);
            index ++;
        }

        counter ++;
        chr[0] = line[counter];
        chr[1] = '\0';
    }
 
    line = fgets(line, LINE_LENGTH, pattern_file);
    fclose(pattern_file);

    answer = ocr_t(in, out, 0);
    printf("\n The pattern is: \n\n");

    for (counter = 0; counter < INPUT_WIDTH; counter++) {
        if ((counter +1)% 9 == 0) {
            printf("%i\n", (int)in[counter]);
        }else{
            printf("%i ", (int)in[counter]);
        }

    }

    printf("\n The output vector is : \n");

    for (counter = 0; counter < OUTPUT_WIDTH; counter++) {
        if (out[counter] > 0.8) {
            ocr = 1;
        } else {
            ocr = 0;
        }
 
        if ((counter +1)% 9 == 0) {
            printf("%i\n", ocr);
        }else{
            printf("%i ", ocr);
        }
    }
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -