Chan-Vese Segmentation
imageio.h
Go to the documentation of this file.
1 
16 #ifndef _IMAGEIO_H_
17 #define _IMAGEIO_H_
18 
19 #include <stdio.h>
20 #include "basic.h"
21 
23 #define MAX_IMAGE_SIZE 10000
24 
25 
26 #ifndef DOXYGEN
27 
28 /* Build string macros listing the supported formats */
29 #ifdef USE_LIBJPEG
30 #define SUPPORTEDSTRING_JPEG "/JPEG"
31 #else
32 #define SUPPORTEDSTRING_JPEG ""
33 #endif
34 #ifdef USE_LIBPNG
35 #define SUPPORTEDSTRING_PNG "/PNG"
36 #else
37 #define SUPPORTEDSTRING_PNG ""
38 #endif
39 #ifdef USE_LIBTIFF
40 #define SUPPORTEDSTRING_TIFF "/TIFF"
41 #else
42 #define SUPPORTEDSTRING_TIFF ""
43 #endif
44 
45 /* Definitions for specifying image formats */
46 #define IMAGEIO_U8 0x0000
47 #define IMAGEIO_SINGLE 0x0001
48 #define IMAGEIO_FLOAT IMAGEIO_SINGLE
49 #define IMAGEIO_DOUBLE 0x0002
50 #define IMAGEIO_STRIP_ALPHA 0x0010
51 #define IMAGEIO_BGRFLIP 0x0020
52 #define IMAGEIO_AFLIP 0x0040
53 #define IMAGEIO_GRAYSCALE 0x0080
54 #define IMAGEIO_GRAY IMAGEIO_GRAYSCALE
55 #define IMAGEIO_PLANAR 0x0100
56 #define IMAGEIO_COLUMNMAJOR 0x0200
57 #define IMAGEIO_RGB (IMAGEIO_STRIP_ALPHA)
58 #define IMAGEIO_BGR (IMAGEIO_STRIP_ALPHA | IMAGEIO_BGRFLIP)
59 #define IMAGEIO_RGBA 0x0000
60 #define IMAGEIO_BGRA (IMAGEIO_BGRFLIP)
61 #define IMAGEIO_ARGB (IMAGEIO_AFLIP)
62 #define IMAGEIO_ABGR (IMAGEIO_BGRFLIP | IMAGEIO_AFLIP)
63 
64 #endif /* DOXYGEN */
65 
66 
75 #define READIMAGE_FORMATS_SUPPORTED \
76  "BMP" SUPPORTEDSTRING_JPEG SUPPORTEDSTRING_PNG SUPPORTEDSTRING_TIFF
77 
79 #define WRITEIMAGE_FORMATS_SUPPORTED \
80  "BMP" SUPPORTEDSTRING_JPEG SUPPORTEDSTRING_PNG SUPPORTEDSTRING_TIFF
81 
82 #ifndef _CRT_SECURE_NO_WARNINGS
83 
84 #define _CRT_SECURE_NO_WARNINGS
85 #endif
86 
87 int IdentifyImageType(char *Type, const char *FileName);
88 
89 void *ReadImage(int *Width, int *Height,
90  const char *FileName, unsigned Format);
91 
92 int WriteImage(void *Image, int Width, int Height,
93  const char *FileName, unsigned Format, int Quality);
94 
95 #endif /* _IMAGEIO_H_ */