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.

#ifndef __PAGE_H__
#define __PAGE_H__
extern "C" {
#include <pam.h>
}
#include "Bitmap.h"
#include "Histogram.h"
#include "Text.h"

typedef char *tRow;

class Page
{
public:
	Page(const char *filename);
	~Page();

	int imageWidth() const { return width; };
	int imageHeight() const { return height;};

	//writeMap(char *filename) const;

	/*
	Angle skewAngle();
	*/
	void rotateMap(float angle);
	void rotateMap(float angle, Bitmap* &mapNew);

	void calcHistogram();

	/* Funció una mica inútil */
	void tryAngles(float min, float max, float step);
	float getSkew(int depth = 5, float margin = 3);

	float ratioBlackWhite() const;

	// OCR
	void getText();

	//static void Initialize();

	void writeMap(const char *filename) const;
	void readMap(const char *filename);

private:
	float std_dev_lines_angle(float angle);

	int width;
	int height;

	pam pamImage;
	Bitmap *map;
	Text *text;

	Histogram *hist;
};
#endif