Files
to_be_added/pixel.h
T
jens 05da8712f6 Initial import
git-svn-id: http://moon:8086/svn/software/trunk/libsrc/_to_be_added@1 b431acfa-c32f-4a4a-93f1-934dc6c82436
2014-07-19 07:44:42 +00:00

56 lines
1.7 KiB
C
Executable File

// ------------------------------------------------------------
// pixel.h
//
// Reading writing tiff images
//
// 12.03.2005, J.Ahrensfeld
// ------------------------------------------------------------
#ifndef PIXEL_H
#define PIXEL_H
#include "mtypes.h"
#include "imageio.h"
// ------------------------------------------------------------
#define MAJOR_STATE_MASK 0x03
enum PixelState
{
pixel_state_all = 0,
pixel_state_foreground = 1,
pixel_state_background = 2,
pixel_state_unknown = 4,
pixel_state_computed = 8
};
typedef struct _pixel_t
{
UINT32 state;
pxl_id_t id_this, id_closest_f, id_closest_b;
pos_t raster_coord;
double dist_closest_f, dist_closest_b;
} pixel_t;
typedef struct _set_data_t
{
UINT32 num_row, num_col, num_pixel, num_unknown, num_fore, num_back;
pixel_t *pPixel;
} set_data_t;
// ------------------------------------------------------------
void SetInit(set_data_t *pObj, int num_row, int num_col);
void PixelStateInit(set_data_t *pObj, image_t *pTrimap_image);
int GetCropSet(set_data_t *pObj, int *pCrop, pos_t center, pos_t rect_size, UINT32 select_state);
int GetCircleSet(set_data_t *pObj, int *pCrop, pos_t center, double radius, UINT32 select_state);
int GetSetByState(set_data_t *pObj, pxl_id_t *pSet, UINT32 select_state);
int ComputeDistanceMap(set_data_t *pObj, pxl_id_t *pSet_unknown, int num_unknown);
int ComputeCalcSet(set_data_t *pObj, pxl_id_t *pSet_unknown, int num_unknown);
int SaveCalcSet(char *filename, set_data_t *pObj, pxl_id_t *pSet_unknown, int num_unknown);
int LoadCalcSet(char *filename, set_data_t *pObj, pxl_id_t *pSet_unknown, int num_unknown);
// ------------------------------------------------------------
#endif // PIXEL_H