Page.h
author viric <viriketo@gmail.com>
Sun, 24 Apr 2011 18:47:28 +0200
changeset 2 5cdb891abc1e
parent 0 6b8091ca909a
permissions -rw-r--r--
Almenys faig que compili amb un g++ -I. -lnetpbm -o rektigi *.cc

#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