コード例 #1
0
ファイル: filters.c プロジェクト: Zboubinours/ocr
void filter_contrast(struct matrix *M)
{
    double *C = calloc(9, sizeof(double));
    C[1] = C[3] = C[5] = C[7] = -1, C[4] = 5;
    convolution_apply(M, C);
    free(C);
}
コード例 #2
0
ファイル: filters.c プロジェクト: Zboubinours/ocr
void filter_repoussage(struct matrix *M)
{
    double *C = malloc(sizeof(double) * 9);
    C[0] = -2, C[1] = C[3] = -1, C[4] = C[5] = C[7] = 1, C[6] = C[2] = 0, C[8] = 2;
    convolution_apply(M, C);
    free(C);
}
コード例 #3
0
ファイル: filters.c プロジェクト: Zboubinours/ocr
void filter_flou(struct matrix *M)
{
    double *C = malloc(sizeof(double) * 9);
    for(int i = 0; i < 9; i++)
        C[i] = 1;
    convolution_apply(M, C);
    free(C);
}
コード例 #4
0
ファイル: filters.c プロジェクト: Zboubinours/ocr
void filter_noise(struct matrix *M)
{
    double *C = malloc(sizeof(double) * 9); //the convolution matrix (3x3).
    for(int i = 0; i < 9; i++)
        C[i] = 1;
    C[4] = 5;
    convolution_apply(M, C);
    free(C);
}
コード例 #5
0
ファイル: filters.c プロジェクト: LesOCR/mediocr
SDL_Surface *filter_blur(SDL_Surface *s)
{
	int convolution[9] = {1, 1, 1, 1, 1, 1, 1, 1, 1};

	return convolution_apply(s, &convolution[0], 3, 9);
}
コード例 #6
0
ファイル: filters.c プロジェクト: LesOCR/mediocr
SDL_Surface *filter_edge(SDL_Surface *s)
{
	int convolution[9] = {0, 0, 0, -1, 1, 0, 0, 0, 0};

	return convolution_apply(s, &convolution[0], 3, 3);
}
コード例 #7
0
ファイル: filters.c プロジェクト: LesOCR/mediocr
SDL_Surface *filter_sharpen(SDL_Surface *s)
{
	int convolution[9] = {0, -2, 0, -2, 11, -2, 0, -2, 0};

	return convolution_apply(s, &convolution[0], 3, 3);
}