00001
00002
00003 #ifndef _JAFAR_IMAGE_CIMAGE_H_
00004 #define _JAFAR_IMAGE_CIMAGE_H_
00005 #include <opencv/cxcore.h>
00006 #if CV_MAJOR_VERSION*10 + CV_MINOR_VERSION > 21
00007 #include <opencv2/core/core_c.h>
00008 #include <opencv2/core/types_c.h>
00009 #include <opencv2/imgproc/types_c.h>
00010 #include <opencv2/imgproc/imgproc_c.h>
00011 #include <opencv2/core/core.hpp>
00012 #include <opencv2/imgproc/imgproc.hpp>
00013 #else
00014 #include <cv.h>
00015 #include <cxtypes.h>
00016 #include <cxcore.h>
00017 #endif
00018
00020
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024
00031 typedef enum JfrImage_TypeColorSpace {
00032 JfrImage_CS_GRAY,
00033 JfrImage_CS_BGR,
00034 JfrImage_CS_RGB,
00035 JfrImage_CS_HSV,
00036 JfrImage_CS_HSL,
00037 JfrImage_CS_CMY,
00038 JfrImage_CS_CMYK,
00039 JfrImage_CS_LUV,
00040 JfrImage_CS_LAB,
00041 JfrImage_CS_XYZ,
00042 JfrImage_CS_YXY,
00043 JfrImage_CS_BayerBG,
00044 JfrImage_CS_BayerGB,
00045 JfrImage_CS_BayerRG,
00046 JfrImage_CS_BayerGR,
00047 JfrImage_CS_YCbCr,
00048 JfrImage_CS_UNKNOWN} JfrImage_TypeColorSpace;
00049
00050 typedef enum JfrImage_InterpolationType {
00051 JfrImage_INTERP_NEAREST,
00052 JfrImage_INTERP_BILINEAR,
00053 JfrImage_INTERP_CUBIC
00054 } JfrImage_InterpolationType;
00058 int JfrImage_colorSpaceChannels(JfrImage_TypeColorSpace cs);
00059
00061 int channelDepthSize(int depth);
00062
00065 struct JfrImage_ImageHeader {
00066 JfrImage_TypeColorSpace colorSpace;
00067 };
00068
00071 typedef struct JfrImage_CImage {
00072 struct JfrImage_ImageHeader header;
00073 IplImage iplImage;
00074 } JfrImage_CImage;
00075
00078 void JfrImage_convertColorMode(const JfrImage_CImage* src_, JfrImage_CImage* dst_);
00079
00080 #ifdef __cplusplus
00081 }
00082 #endif
00083
00085
00086
00087 #endif // _JAFAR_IMAGE_CIMAGE_H_