imagecore 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +24 -0
- data/Gemfile +4 -0
- data/Rakefile +2 -0
- data/ext/imagecore/analyze_image.cxx +58 -0
- data/ext/imagecore/analyze_image.h +6 -0
- data/ext/imagecore/extconf.rb +9 -0
- data/ext/imagecore/imagecore.cxx +34 -0
- data/ext/opencv/core/___.c +3 -0
- data/ext/opencv/core/alloc.cpp +697 -0
- data/ext/opencv/core/array.cpp +3206 -0
- data/ext/opencv/core/datastructs.cpp +4064 -0
- data/ext/opencv/core/extconf.rb +22 -0
- data/ext/opencv/core/matrix.cpp +3777 -0
- data/ext/opencv/core/precomp.hpp +216 -0
- data/ext/opencv/core/system.cpp +832 -0
- data/ext/opencv/core/tables.cpp +3512 -0
- data/ext/opencv/highgui/___.c +3 -0
- data/ext/opencv/highgui/bitstrm.cpp +582 -0
- data/ext/opencv/highgui/bitstrm.hpp +182 -0
- data/ext/opencv/highgui/extconf.rb +28 -0
- data/ext/opencv/highgui/grfmt_base.cpp +128 -0
- data/ext/opencv/highgui/grfmt_base.hpp +113 -0
- data/ext/opencv/highgui/grfmt_bmp.cpp +564 -0
- data/ext/opencv/highgui/grfmt_bmp.hpp +99 -0
- data/ext/opencv/highgui/grfmt_exr.hpp +113 -0
- data/ext/opencv/highgui/grfmt_imageio.hpp +56 -0
- data/ext/opencv/highgui/grfmt_jpeg.cpp +622 -0
- data/ext/opencv/highgui/grfmt_jpeg.hpp +90 -0
- data/ext/opencv/highgui/grfmt_jpeg2000.cpp +529 -0
- data/ext/opencv/highgui/grfmt_jpeg2000.hpp +95 -0
- data/ext/opencv/highgui/grfmt_png.cpp +406 -0
- data/ext/opencv/highgui/grfmt_png.hpp +101 -0
- data/ext/opencv/highgui/grfmt_pxm.cpp +513 -0
- data/ext/opencv/highgui/grfmt_pxm.hpp +92 -0
- data/ext/opencv/highgui/grfmt_sunras.cpp +425 -0
- data/ext/opencv/highgui/grfmt_sunras.hpp +105 -0
- data/ext/opencv/highgui/grfmt_tiff.cpp +718 -0
- data/ext/opencv/highgui/grfmt_tiff.hpp +136 -0
- data/ext/opencv/highgui/grfmts.hpp +56 -0
- data/ext/opencv/highgui/loadsave.cpp +535 -0
- data/ext/opencv/highgui/precomp.hpp +223 -0
- data/ext/opencv/highgui/utils.cpp +689 -0
- data/ext/opencv/highgui/utils.hpp +128 -0
- data/ext/opencv/imgproc/___.c +3 -0
- data/ext/opencv/imgproc/_geom.h +72 -0
- data/ext/opencv/imgproc/color.cpp +3179 -0
- data/ext/opencv/imgproc/contours.cpp +1780 -0
- data/ext/opencv/imgproc/extconf.rb +11 -0
- data/ext/opencv/imgproc/filter.cpp +3063 -0
- data/ext/opencv/imgproc/precomp.hpp +159 -0
- data/ext/opencv/imgproc/shapedescr.cpp +1306 -0
- data/ext/opencv/imgproc/smooth.cpp +1566 -0
- data/ext/opencv/imgproc/tables.cpp +214 -0
- data/ext/opencv/imgproc/thresh.cpp +636 -0
- data/ext/opencv/imgproc/utils.cpp +242 -0
- data/ext/opencv/include/opencv2/core/core.hpp +4344 -0
- data/ext/opencv/include/opencv2/core/core_c.h +1885 -0
- data/ext/opencv/include/opencv2/core/internal.hpp +710 -0
- data/ext/opencv/include/opencv2/core/mat.hpp +2557 -0
- data/ext/opencv/include/opencv2/core/operations.hpp +3623 -0
- data/ext/opencv/include/opencv2/core/types_c.h +1875 -0
- data/ext/opencv/include/opencv2/core/version.hpp +58 -0
- data/ext/opencv/include/opencv2/highgui/highgui.hpp +198 -0
- data/ext/opencv/include/opencv2/highgui/highgui_c.h +506 -0
- data/ext/opencv/include/opencv2/imgproc/imgproc.hpp +1139 -0
- data/ext/opencv/include/opencv2/imgproc/imgproc_c.h +783 -0
- data/ext/opencv/include/opencv2/imgproc/types_c.h +538 -0
- data/imagecore.gemspec +20 -0
- data/lib/imagecore.rb +16 -0
- data/lib/imagecore/version.rb +3 -0
- metadata +119 -0
@@ -0,0 +1,182 @@
|
|
1
|
+
/*M///////////////////////////////////////////////////////////////////////////////////////
|
2
|
+
//
|
3
|
+
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
|
4
|
+
//
|
5
|
+
// By downloading, copying, installing or using the software you agree to this license.
|
6
|
+
// If you do not agree to this license, do not download, install,
|
7
|
+
// copy or use the software.
|
8
|
+
//
|
9
|
+
//
|
10
|
+
// License Agreement
|
11
|
+
// For Open Source Computer Vision Library
|
12
|
+
//
|
13
|
+
// Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
|
14
|
+
// Copyright (C) 2009, Willow Garage Inc., all rights reserved.
|
15
|
+
// Third party copyrights are property of their respective owners.
|
16
|
+
//
|
17
|
+
// Redistribution and use in source and binary forms, with or without modification,
|
18
|
+
// are permitted provided that the following conditions are met:
|
19
|
+
//
|
20
|
+
// * Redistribution's of source code must retain the above copyright notice,
|
21
|
+
// this list of conditions and the following disclaimer.
|
22
|
+
//
|
23
|
+
// * Redistribution's in binary form must reproduce the above copyright notice,
|
24
|
+
// this list of conditions and the following disclaimer in the documentation
|
25
|
+
// and/or other materials provided with the distribution.
|
26
|
+
//
|
27
|
+
// * The name of the copyright holders may not be used to endorse or promote products
|
28
|
+
// derived from this software without specific prior written permission.
|
29
|
+
//
|
30
|
+
// This software is provided by the copyright holders and contributors "as is" and
|
31
|
+
// any express or implied warranties, including, but not limited to, the implied
|
32
|
+
// warranties of merchantability and fitness for a particular purpose are disclaimed.
|
33
|
+
// In no event shall the Intel Corporation or contributors be liable for any direct,
|
34
|
+
// indirect, incidental, special, exemplary, or consequential damages
|
35
|
+
// (including, but not limited to, procurement of substitute goods or services;
|
36
|
+
// loss of use, data, or profits; or business interruption) however caused
|
37
|
+
// and on any theory of liability, whether in contract, strict liability,
|
38
|
+
// or tort (including negligence or otherwise) arising in any way out of
|
39
|
+
// the use of this software, even if advised of the possibility of such damage.
|
40
|
+
//
|
41
|
+
//M*/
|
42
|
+
|
43
|
+
#ifndef _BITSTRM_H_
|
44
|
+
#define _BITSTRM_H_
|
45
|
+
|
46
|
+
#include <stdio.h>
|
47
|
+
|
48
|
+
namespace cv
|
49
|
+
{
|
50
|
+
|
51
|
+
enum
|
52
|
+
{
|
53
|
+
RBS_THROW_EOS=-123, // <end of stream> exception code
|
54
|
+
RBS_THROW_FORB=-124, // <forrbidden huffman code> exception code
|
55
|
+
RBS_HUFF_FORB=2047, // forrbidden huffman code "value"
|
56
|
+
RBS_BAD_HEADER=-125, // invalid header
|
57
|
+
};
|
58
|
+
|
59
|
+
typedef unsigned long ulong;
|
60
|
+
|
61
|
+
// class RBaseStream - base class for other reading streams.
|
62
|
+
class RBaseStream
|
63
|
+
{
|
64
|
+
public:
|
65
|
+
//methods
|
66
|
+
RBaseStream();
|
67
|
+
virtual ~RBaseStream();
|
68
|
+
|
69
|
+
virtual bool open( const string& filename );
|
70
|
+
virtual bool open( const Mat& buf );
|
71
|
+
virtual void close();
|
72
|
+
bool isOpened();
|
73
|
+
void setPos( int pos );
|
74
|
+
int getPos();
|
75
|
+
void skip( int bytes );
|
76
|
+
|
77
|
+
protected:
|
78
|
+
|
79
|
+
bool m_allocated;
|
80
|
+
uchar* m_start;
|
81
|
+
uchar* m_end;
|
82
|
+
uchar* m_current;
|
83
|
+
FILE* m_file;
|
84
|
+
int m_block_size;
|
85
|
+
int m_block_pos;
|
86
|
+
bool m_is_opened;
|
87
|
+
|
88
|
+
virtual void readBlock();
|
89
|
+
virtual void release();
|
90
|
+
virtual void allocate();
|
91
|
+
};
|
92
|
+
|
93
|
+
|
94
|
+
// class RLByteStream - uchar-oriented stream.
|
95
|
+
// l in prefix means that the least significant uchar of a multi-uchar value goes first
|
96
|
+
class RLByteStream : public RBaseStream
|
97
|
+
{
|
98
|
+
public:
|
99
|
+
virtual ~RLByteStream();
|
100
|
+
|
101
|
+
int getByte();
|
102
|
+
int getBytes( void* buffer, int count );
|
103
|
+
int getWord();
|
104
|
+
int getDWord();
|
105
|
+
};
|
106
|
+
|
107
|
+
// class RMBitStream - uchar-oriented stream.
|
108
|
+
// m in prefix means that the most significant uchar of a multi-uchar value go first
|
109
|
+
class RMByteStream : public RLByteStream
|
110
|
+
{
|
111
|
+
public:
|
112
|
+
virtual ~RMByteStream();
|
113
|
+
|
114
|
+
int getWord();
|
115
|
+
int getDWord();
|
116
|
+
};
|
117
|
+
|
118
|
+
// WBaseStream - base class for output streams
|
119
|
+
class WBaseStream
|
120
|
+
{
|
121
|
+
public:
|
122
|
+
//methods
|
123
|
+
WBaseStream();
|
124
|
+
virtual ~WBaseStream();
|
125
|
+
|
126
|
+
virtual bool open( const string& filename );
|
127
|
+
virtual bool open( vector<uchar>& buf );
|
128
|
+
virtual void close();
|
129
|
+
bool isOpened();
|
130
|
+
int getPos();
|
131
|
+
|
132
|
+
protected:
|
133
|
+
|
134
|
+
uchar* m_start;
|
135
|
+
uchar* m_end;
|
136
|
+
uchar* m_current;
|
137
|
+
int m_block_size;
|
138
|
+
int m_block_pos;
|
139
|
+
FILE* m_file;
|
140
|
+
bool m_is_opened;
|
141
|
+
vector<uchar>* m_buf;
|
142
|
+
|
143
|
+
virtual void writeBlock();
|
144
|
+
virtual void release();
|
145
|
+
virtual void allocate();
|
146
|
+
};
|
147
|
+
|
148
|
+
|
149
|
+
// class WLByteStream - uchar-oriented stream.
|
150
|
+
// l in prefix means that the least significant uchar of a multi-byte value goes first
|
151
|
+
class WLByteStream : public WBaseStream
|
152
|
+
{
|
153
|
+
public:
|
154
|
+
virtual ~WLByteStream();
|
155
|
+
|
156
|
+
void putByte( int val );
|
157
|
+
void putBytes( const void* buffer, int count );
|
158
|
+
void putWord( int val );
|
159
|
+
void putDWord( int val );
|
160
|
+
};
|
161
|
+
|
162
|
+
|
163
|
+
// class WLByteStream - uchar-oriented stream.
|
164
|
+
// m in prefix means that the least significant uchar of a multi-byte value goes last
|
165
|
+
class WMByteStream : public WLByteStream
|
166
|
+
{
|
167
|
+
public:
|
168
|
+
virtual ~WMByteStream();
|
169
|
+
void putWord( int val );
|
170
|
+
void putDWord( int val );
|
171
|
+
};
|
172
|
+
|
173
|
+
inline unsigned BSWAP(unsigned v)
|
174
|
+
{
|
175
|
+
return (v<<24)|((v&0xff00)<<8)|((v>>8)&0xff00)|((unsigned)v>>24);
|
176
|
+
}
|
177
|
+
|
178
|
+
bool bsIsBigEndian( void );
|
179
|
+
|
180
|
+
}
|
181
|
+
|
182
|
+
#endif/*_BITSTRM_H_*/
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'mkmf'
|
2
|
+
|
3
|
+
# not valid for C++ code
|
4
|
+
$warnflags = ($warnflags.split - %w(-Wdeclaration-after-statement -Wimplicit-function-declaration)) * ' '
|
5
|
+
|
6
|
+
# OpenCV includes
|
7
|
+
$INCFLAGS << ' -I ../include'
|
8
|
+
|
9
|
+
# Find stuff
|
10
|
+
if have_library('jpeg')
|
11
|
+
$defs.push '-DHAVE_JPEG'
|
12
|
+
end
|
13
|
+
|
14
|
+
if have_library('tiff')
|
15
|
+
$defs.push '-DHAVE_TIFF'
|
16
|
+
end
|
17
|
+
|
18
|
+
if have_library('png')
|
19
|
+
$defs.push '-DHAVE_PNG'
|
20
|
+
end
|
21
|
+
|
22
|
+
if have_library('jasper')
|
23
|
+
$defs.push '-DHAVE_JASPER'
|
24
|
+
end
|
25
|
+
|
26
|
+
create_header('cvconfig.h')
|
27
|
+
|
28
|
+
create_makefile("opencv_highgui")
|
@@ -0,0 +1,128 @@
|
|
1
|
+
/*M///////////////////////////////////////////////////////////////////////////////////////
|
2
|
+
//
|
3
|
+
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
|
4
|
+
//
|
5
|
+
// By downloading, copying, installing or using the software you agree to this license.
|
6
|
+
// If you do not agree to this license, do not download, install,
|
7
|
+
// copy or use the software.
|
8
|
+
//
|
9
|
+
//
|
10
|
+
// Intel License Agreement
|
11
|
+
// For Open Source Computer Vision Library
|
12
|
+
//
|
13
|
+
// Copyright (C) 2000, Intel Corporation, all rights reserved.
|
14
|
+
// Third party copyrights are property of their respective owners.
|
15
|
+
//
|
16
|
+
// Redistribution and use in source and binary forms, with or without modification,
|
17
|
+
// are permitted provided that the following conditions are met:
|
18
|
+
//
|
19
|
+
// * Redistribution's of source code must retain the above copyright notice,
|
20
|
+
// this list of conditions and the following disclaimer.
|
21
|
+
//
|
22
|
+
// * Redistribution's in binary form must reproduce the above copyright notice,
|
23
|
+
// this list of conditions and the following disclaimer in the documentation
|
24
|
+
// and/or other materials provided with the distribution.
|
25
|
+
//
|
26
|
+
// * The name of Intel Corporation may not be used to endorse or promote products
|
27
|
+
// derived from this software without specific prior written permission.
|
28
|
+
//
|
29
|
+
// This software is provided by the copyright holders and contributors "as is" and
|
30
|
+
// any express or implied warranties, including, but not limited to, the implied
|
31
|
+
// warranties of merchantability and fitness for a particular purpose are disclaimed.
|
32
|
+
// In no event shall the Intel Corporation or contributors be liable for any direct,
|
33
|
+
// indirect, incidental, special, exemplary, or consequential damages
|
34
|
+
// (including, but not limited to, procurement of substitute goods or services;
|
35
|
+
// loss of use, data, or profits; or business interruption) however caused
|
36
|
+
// and on any theory of liability, whether in contract, strict liability,
|
37
|
+
// or tort (including negligence or otherwise) arising in any way out of
|
38
|
+
// the use of this software, even if advised of the possibility of such damage.
|
39
|
+
//
|
40
|
+
//M*/
|
41
|
+
|
42
|
+
#include "precomp.hpp"
|
43
|
+
|
44
|
+
#include "grfmt_base.hpp"
|
45
|
+
#include "bitstrm.hpp"
|
46
|
+
|
47
|
+
namespace cv
|
48
|
+
{
|
49
|
+
|
50
|
+
BaseImageDecoder::BaseImageDecoder()
|
51
|
+
{
|
52
|
+
m_width = m_height = 0;
|
53
|
+
m_type = -1;
|
54
|
+
m_buf_supported = false;
|
55
|
+
}
|
56
|
+
|
57
|
+
bool BaseImageDecoder::setSource( const string& filename )
|
58
|
+
{
|
59
|
+
m_filename = filename;
|
60
|
+
m_buf.release();
|
61
|
+
return true;
|
62
|
+
}
|
63
|
+
|
64
|
+
bool BaseImageDecoder::setSource( const Mat& buf )
|
65
|
+
{
|
66
|
+
if( !m_buf_supported )
|
67
|
+
return false;
|
68
|
+
m_filename = string();
|
69
|
+
m_buf = buf;
|
70
|
+
return true;
|
71
|
+
}
|
72
|
+
|
73
|
+
size_t BaseImageDecoder::signatureLength() const
|
74
|
+
{
|
75
|
+
return m_signature.size();
|
76
|
+
}
|
77
|
+
|
78
|
+
bool BaseImageDecoder::checkSignature( const string& signature ) const
|
79
|
+
{
|
80
|
+
size_t len = signatureLength();
|
81
|
+
return signature.size() >= len && memcmp( signature.c_str(), m_signature.c_str(), len ) == 0;
|
82
|
+
}
|
83
|
+
|
84
|
+
ImageDecoder BaseImageDecoder::newDecoder() const
|
85
|
+
{
|
86
|
+
return ImageDecoder();
|
87
|
+
}
|
88
|
+
|
89
|
+
BaseImageEncoder::BaseImageEncoder()
|
90
|
+
{
|
91
|
+
m_buf_supported = false;
|
92
|
+
}
|
93
|
+
|
94
|
+
bool BaseImageEncoder::isFormatSupported( int depth ) const
|
95
|
+
{
|
96
|
+
return depth == CV_8U;
|
97
|
+
}
|
98
|
+
|
99
|
+
string BaseImageEncoder::getDescription() const
|
100
|
+
{
|
101
|
+
return m_description;
|
102
|
+
}
|
103
|
+
|
104
|
+
bool BaseImageEncoder::setDestination( const string& filename )
|
105
|
+
{
|
106
|
+
m_filename = filename;
|
107
|
+
m_buf = 0;
|
108
|
+
return true;
|
109
|
+
}
|
110
|
+
|
111
|
+
bool BaseImageEncoder::setDestination( vector<uchar>& buf )
|
112
|
+
{
|
113
|
+
if( !m_buf_supported )
|
114
|
+
return false;
|
115
|
+
m_buf = &buf;
|
116
|
+
m_buf->clear();
|
117
|
+
m_filename = string();
|
118
|
+
return true;
|
119
|
+
}
|
120
|
+
|
121
|
+
ImageEncoder BaseImageEncoder::newEncoder() const
|
122
|
+
{
|
123
|
+
return ImageEncoder();
|
124
|
+
}
|
125
|
+
|
126
|
+
}
|
127
|
+
|
128
|
+
/* End of file. */
|
@@ -0,0 +1,113 @@
|
|
1
|
+
/*M///////////////////////////////////////////////////////////////////////////////////////
|
2
|
+
//
|
3
|
+
// IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.
|
4
|
+
//
|
5
|
+
// By downloading, copying, installing or using the software you agree to this license.
|
6
|
+
// If you do not agree to this license, do not download, install,
|
7
|
+
// copy or use the software.
|
8
|
+
//
|
9
|
+
//
|
10
|
+
// License Agreement
|
11
|
+
// For Open Source Computer Vision Library
|
12
|
+
//
|
13
|
+
// Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
|
14
|
+
// Copyright (C) 2009, Willow Garage Inc., all rights reserved.
|
15
|
+
// Third party copyrights are property of their respective owners.
|
16
|
+
//
|
17
|
+
// Redistribution and use in source and binary forms, with or without modification,
|
18
|
+
// are permitted provided that the following conditions are met:
|
19
|
+
//
|
20
|
+
// * Redistribution's of source code must retain the above copyright notice,
|
21
|
+
// this list of conditions and the following disclaimer.
|
22
|
+
//
|
23
|
+
// * Redistribution's in binary form must reproduce the above copyright notice,
|
24
|
+
// this list of conditions and the following disclaimer in the documentation
|
25
|
+
// and/or other materials provided with the distribution.
|
26
|
+
//
|
27
|
+
// * The name of the copyright holders may not be used to endorse or promote products
|
28
|
+
// derived from this software without specific prior written permission.
|
29
|
+
//
|
30
|
+
// This software is provided by the copyright holders and contributors "as is" and
|
31
|
+
// any express or implied warranties, including, but not limited to, the implied
|
32
|
+
// warranties of merchantability and fitness for a particular purpose are disclaimed.
|
33
|
+
// In no event shall the Intel Corporation or contributors be liable for any direct,
|
34
|
+
// indirect, incidental, special, exemplary, or consequential damages
|
35
|
+
// (including, but not limited to, procurement of substitute goods or services;
|
36
|
+
// loss of use, data, or profits; or business interruption) however caused
|
37
|
+
// and on any theory of liability, whether in contract, strict liability,
|
38
|
+
// or tort (including negligence or otherwise) arising in any way out of
|
39
|
+
// the use of this software, even if advised of the possibility of such damage.
|
40
|
+
//
|
41
|
+
//M*/
|
42
|
+
|
43
|
+
#ifndef _GRFMT_BASE_H_
|
44
|
+
#define _GRFMT_BASE_H_
|
45
|
+
|
46
|
+
#include "utils.hpp"
|
47
|
+
#include "bitstrm.hpp"
|
48
|
+
|
49
|
+
namespace cv
|
50
|
+
{
|
51
|
+
|
52
|
+
class BaseImageDecoder;
|
53
|
+
class BaseImageEncoder;
|
54
|
+
typedef Ptr<BaseImageEncoder> ImageEncoder;
|
55
|
+
typedef Ptr<BaseImageDecoder> ImageDecoder;
|
56
|
+
|
57
|
+
///////////////////////////////// base class for decoders ////////////////////////
|
58
|
+
class BaseImageDecoder
|
59
|
+
{
|
60
|
+
public:
|
61
|
+
BaseImageDecoder();
|
62
|
+
virtual ~BaseImageDecoder() {};
|
63
|
+
|
64
|
+
int width() const { return m_width; };
|
65
|
+
int height() const { return m_height; };
|
66
|
+
virtual int type() const { return m_type; };
|
67
|
+
|
68
|
+
virtual bool setSource( const string& filename );
|
69
|
+
virtual bool setSource( const Mat& buf );
|
70
|
+
virtual bool readHeader() = 0;
|
71
|
+
virtual bool readData( Mat& img ) = 0;
|
72
|
+
|
73
|
+
virtual size_t signatureLength() const;
|
74
|
+
virtual bool checkSignature( const string& signature ) const;
|
75
|
+
virtual ImageDecoder newDecoder() const;
|
76
|
+
|
77
|
+
protected:
|
78
|
+
int m_width; // width of the image ( filled by readHeader )
|
79
|
+
int m_height; // height of the image ( filled by readHeader )
|
80
|
+
int m_type;
|
81
|
+
string m_filename;
|
82
|
+
string m_signature;
|
83
|
+
Mat m_buf;
|
84
|
+
bool m_buf_supported;
|
85
|
+
};
|
86
|
+
|
87
|
+
|
88
|
+
///////////////////////////// base class for encoders ////////////////////////////
|
89
|
+
class BaseImageEncoder
|
90
|
+
{
|
91
|
+
public:
|
92
|
+
BaseImageEncoder();
|
93
|
+
virtual ~BaseImageEncoder() {};
|
94
|
+
virtual bool isFormatSupported( int depth ) const;
|
95
|
+
|
96
|
+
virtual bool setDestination( const string& filename );
|
97
|
+
virtual bool setDestination( vector<uchar>& buf );
|
98
|
+
virtual bool write( const Mat& img, const vector<int>& params ) = 0;
|
99
|
+
|
100
|
+
virtual string getDescription() const;
|
101
|
+
virtual ImageEncoder newEncoder() const;
|
102
|
+
|
103
|
+
protected:
|
104
|
+
string m_description;
|
105
|
+
|
106
|
+
string m_filename;
|
107
|
+
vector<uchar>* m_buf;
|
108
|
+
bool m_buf_supported;
|
109
|
+
};
|
110
|
+
|
111
|
+
}
|
112
|
+
|
113
|
+
#endif/*_GRFMT_BASE_H_*/
|