conv_img.h

00001 /*
00002 *    Copyright (c) 2007. The BATI team. All right reserved.
00003 *
00004 *    This file is part of BATI library.
00005 *
00006 *    BATI library is free software: you can redistribute it and/or modify
00007 *    it under the terms of the GNU General Public License as published by
00008 *    the Free Software Foundation, either version 3 of the License, or
00009 *    (at your option) any later version.
00010 *
00011 *    BATI library  is distributed in the hope that it will be useful,
00012 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 *    GNU General Public License for more details.
00015 *
00016 *    You should have received a copy of the GNU General Public License
00017 *    along with BATI library.  If not, see <http://www.gnu.org/licenses/>.
00018 */
00019 /* ********************** conv_img.h ***********************************/
00020 /*                                                                     */
00021 /*      descripteurs et prototypes associes a l'operateur lconv_img    */
00022 /*                                                                     */
00023 /*  Derniere modif : B. IONESCU, 15/12/00                              */
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 

Generated on Tue Apr 22 13:31:04 2008 for ima2D by  doxygen 1.5.3