Page.h
author viric <viriketo@gmail.com>
Sun, 24 Apr 2011 18:25:11 +0200
changeset 1 a573dab6cb46
parent 0 6b8091ca909a
permissions -rw-r--r--
Afegeixo el Makefile.am que falta.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     1
#ifndef __PAGE_H__
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     2
#define __PAGE_H__
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     3
extern "C" {
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     4
#include <pam.h>
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     5
}
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     6
#include "Bitmap.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     7
#include "Histogram.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     8
#include "Text.h"
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
     9
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    10
typedef char *tRow;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    11
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    12
class Page
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    13
{
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    14
public:
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    15
	Page(const char *filename);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    16
	~Page();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    17
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    18
	int imageWidth() const { return width; };
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    19
	int imageHeight() const { return height;};
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    20
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    21
	//writeMap(char *filename) const;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    22
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    23
	/*
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    24
	Angle skewAngle();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    25
	*/
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    26
	void rotateMap(float angle);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    27
	void rotateMap(float angle, Bitmap* &mapNew);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    28
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    29
	void calcHistogram();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    30
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    31
	/* Funció una mica inútil */
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    32
	void tryAngles(float min, float max, float step);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    33
	float getSkew(int depth = 5, float margin = 3);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    34
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    35
	float ratioBlackWhite() const;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    36
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    37
	// OCR
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    38
	void getText();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    39
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    40
	//static void Initialize();
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    41
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    42
	void writeMap(const char *filename) const;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    43
	void readMap(const char *filename);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    44
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    45
private:
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    46
	float std_dev_lines_angle(float angle);
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    47
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    48
	int width;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    49
	int height;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    50
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    51
	pam pamImage;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    52
	Bitmap *map;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    53
	Text *text;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    54
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    55
	Histogram *hist;
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    56
};
6b8091ca909a Init from working directory of svn repository.
viric@llimona
parents:
diff changeset
    57
#endif