00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "image.h"
00027 #include "proto2D.h"
00028 #include "rasterfile.h"
00029 #include <stdlib.h>
00030 #include <fcntl.h>
00031 #include <sys/types.h>
00032 #include <sys/stat.h>
00033 #include <math.h>
00034
00035 typedef struct {
00036
00037 pixdb **comp0, **comp1, **comp2;
00038 int type_conv;
00039 int transf_interm;
00040 pixdb comp_a, comp_b, comp_c;
00041 int nr, nc;
00042
00043 } space_struct;
00044
00045 void conv_TLS_RVB2(space_struct *des, imarvb *ima_tls, imarvb *ima_rvb);
00046 void conv_RVB_TLS2(space_struct *des, imarvb *ima_rvb, imarvb *ima_tls);
00047
00048 double maxim(double i, double j);
00049 double minim(double i, double j);
00050 void conv_RVB_HSV(space_struct *des, imarvb *ima_rvb);
00051 void conv_HSV_RVB(space_struct *des, imarvb *ima_rvb);
00052
00053 void toetRGB_to_XYZ(double RD, double VD, double BD, double *X, double *Y, double *Z);
00054 void ceiRGB_to_XYZ(double RD, double VD, double BD, double *X, double *Y, double *Z);
00055 void XYZ_to_ceiuvY(double X, double Y, double Z, double *u, double *v, double *Y1);
00056 double f(double t);
00057 void conv_RVB_Lab(space_struct *des, imarvb *ima_rvb);
00058 void conv_RVB_Luv(space_struct *des, imarvb *ima_rvb);
00059
00060 param* conv_img_lect(space_struct *des, param *ptp, char *debq);
00061 int conv_img_init(space_struct *des, imarvb im0, imarvb *imres);
00062 int conv_img_calc(space_struct *des, imarvb im0, imarvb *imres);
00063
00064
00065 int alloc_space_struct(space_struct *des, imarvb *im);
00066 int free_space_struct(space_struct *des);
00067
00068
00069
00070
00071
00072
00073