cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
svlImageProcessing.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5 
6  Author(s): Balazs Vagvolgyi
7  Created on: 2010
8 
9  (C) Copyright 2006-2010 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 
12 --- begin cisst license - do not edit ---
13 
14 This software is provided "as is" under an open source license, with
15 no warranty. The complete license can be found in license.txt and
16 http://www.cisst.org/cisst/license.txt.
17 
18 --- end cisst license ---
19 
20 */
21 
22 #ifndef _svlImageProcessing_h
23 #define _svlImageProcessing_h
24 
27 
28 // Always include last!
30 
31 
32 // Forward declarations
33 class svlImageProcessingInternals;
34 
35 
36 namespace svlImageProcessing
37 {
39  {
40  public:
41  Internals();
42  ~Internals();
43  svlImageProcessingInternals* Get();
44  void Set(svlImageProcessingInternals* ib);
45  void Release();
46  private:
47  svlImageProcessingInternals* Ptr;
48  };
49 
50 
52  {
58  };
59 
60 
62  unsigned int src_videoch,
63  svlSampleImage* dst_img,
64  unsigned int dst_videoch,
65  vctDynamicVector<double> kernel_horiz,
66  vctDynamicVector<double> kernel_vert,
67  bool absres = false);
68 
70  unsigned int src_videoch,
71  svlSampleImage* dst_img,
72  unsigned int dst_videoch,
74  bool absres = false);
75 
76  int CISST_EXPORT UnsharpMask(const svlSampleImage* src_img,
77  unsigned int src_videoch,
78  svlSampleImage* dst_img,
79  unsigned int dst_videoch,
80  int radius,
81  double amount,
82  int threshold = 0);
83 
84  int CISST_EXPORT Crop(svlSampleImage* src_img,
85  unsigned int src_videoch,
86  svlSampleImage* dst_img,
87  unsigned int dst_videoch,
88  int left,
89  int top);
90 
91  int CISST_EXPORT Resize(svlSampleImage* src_img,
92  unsigned int src_videoch,
93  svlSampleImage* dst_img,
94  unsigned int dst_videoch,
95  bool interpolation);
96 
97  int CISST_EXPORT Resize(svlSampleImage* src_img,
98  unsigned int src_videoch,
99  svlSampleImage* dst_img,
100  unsigned int dst_videoch,
101  bool interpolation,
103 
105  unsigned int videoch,
106  DI_Algorithm algorithm);
107 
109  svlSampleImage3DMap* mesh_3d,
110  svlCameraGeometry& camera_geometry,
111  svlRect& roi);
112 
113  int CISST_EXPORT Rectify(svlSampleImage* src_img,
114  unsigned int src_videoch,
115  svlSampleImage* dst_img,
116  unsigned int dst_videoch,
117  const std::string& table_filename,
118  bool interpolation);
119 
120  int CISST_EXPORT Rectify(svlSampleImage* src_img,
121  unsigned int src_videoch,
122  svlSampleImage* dst_img,
123  unsigned int dst_videoch,
124  const std::string& table_filename,
125  bool interpolation,
126  Internals& internals);
127 
128  int CISST_EXPORT Rectify(svlSampleImage* src_img,
129  unsigned int src_videoch,
130  svlSampleImage* dst_img,
131  unsigned int dst_videoch,
132  bool interpolation,
133  Internals& internals);
134 
136  unsigned int videoch,
137  double brightness,
138  double contrast,
139  double gamma);
140 
142  unsigned int videoch,
143  double brightness,
144  double contrast,
145  double gamma,
146  Internals& internals);
147 
148  int CISST_EXPORT Dilate(svlSampleImage* src_img,
149  unsigned int src_videoch,
150  svlSampleImage* dst_img,
151  unsigned int dst_videoch,
152  unsigned int radius);
153 
154  int CISST_EXPORT Erode(svlSampleImage* src_img,
155  unsigned int src_videoch,
156  svlSampleImage* dst_img,
157  unsigned int dst_videoch,
158  unsigned int radius);
159 
160  int CISST_EXPORT Blend(svlSampleImage* src1_img,
161  unsigned int src1_videoch,
162  svlSampleImage* src2_img,
163  unsigned int src2_videoch,
164  svlSampleImage* mask_img,
165  unsigned int mask_videoch,
166  svlSampleImage* dst_img,
167  unsigned int dst_videoch);
168 
170  unsigned int src_videoch,
171  svlSampleImage* dst_img,
172  unsigned int dst_videoch);
173 
174  unsigned int CISST_EXPORT LabelBlobs(const svlSampleImageMono8* image,
175  svlSampleImageMono32* labels,
176  Internals& internals);
177  unsigned int CISST_EXPORT LabelBlobs(const svlSampleImageMono8Stereo* image,
179  const unsigned int videoch,
180  Internals& internals);
182  const svlSampleImageMono32* labels,
183  svlSampleBlobs* blobs,
184  Internals& internals,
185  unsigned int min_area = 0,
186  unsigned int max_area = 0,
187  double min_compactness = 0.0,
188  double max_compactness = 0.0);
190  const svlSampleImageMono32Stereo* labels,
191  svlSampleBlobs* blobs,
192  const unsigned int videoch,
193  Internals& internals,
194  unsigned int min_area = 0,
195  unsigned int max_area = 0,
196  double min_compactness = 0.0,
197  double max_compactness = 0.0);
198 
200  svlEllipse & ellipse,
201  Internals& internals);
202 
204  svlEllipse & ellipse,
205  Internals& internals);
206 
209  svlEllipse & ellipse,
210  Internals& internals);
211 
214  svlEllipse & ellipse,
215  Internals& internals);
216 };
217 
218 #endif // _svlImageProcessing_h
219 
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
int CISST_EXPORT Resize(svlSampleImage *src_img, unsigned int src_videoch, svlSampleImage *dst_img, unsigned int dst_videoch, bool interpolation)
Definition: svlImageProcessing.h:56
Definition: svlImageProcessing.h:54
int CISST_EXPORT Rectify(svlSampleImage *src_img, unsigned int src_videoch, svlSampleImage *dst_img, unsigned int dst_videoch, const std::string &table_filename, bool interpolation)
Definition: svlSampleBlobs.h:31
int CISST_EXPORT Dilate(svlSampleImage *src_img, unsigned int src_videoch, svlSampleImage *dst_img, unsigned int dst_videoch, unsigned int radius)
Dynamic vector referencing existing memory.
Definition: vctDynamicVectorRef.h:77
Definition: svlImageProcessing.h:57
int CISST_EXPORT FitEllipse(vctDynamicVector< vctInt2 > &points, svlEllipse &ellipse, Internals &internals)
int CISST_EXPORT Erode(svlSampleImage *src_img, unsigned int src_videoch, svlSampleImage *dst_img, unsigned int dst_videoch, unsigned int radius)
int CISST_EXPORT SetExposure(svlSampleImage *image, unsigned int videoch, double brightness, double contrast, double gamma)
int CISST_EXPORT DisparityMapToSurface(svlSampleMatrixFloat *disparity_map, svlSampleImage3DMap *mesh_3d, svlCameraGeometry &camera_geometry, svlRect &roi)
Definition: svlTypes.h:279
int CISST_EXPORT Convolution(svlSampleImage *src_img, unsigned int src_videoch, svlSampleImage *dst_img, unsigned int dst_videoch, vctDynamicVector< double > kernel_horiz, vctDynamicVector< double > kernel_vert, bool absres=false)
int CISST_EXPORT Blend(svlSampleImage *src1_img, unsigned int src1_videoch, svlSampleImage *src2_img, unsigned int src2_videoch, svlSampleImage *mask_img, unsigned int mask_videoch, svlSampleImage *dst_img, unsigned int dst_videoch)
int CISST_EXPORT Deinterlace(svlSampleImage *image, unsigned int videoch, DI_Algorithm algorithm)
int CISST_EXPORT GetBlobsFromLabels(const svlSampleImageMono8 *image, const svlSampleImageMono32 *labels, svlSampleBlobs *blobs, Internals &internals, unsigned int min_area=0, unsigned int max_area=0, double min_compactness=0.0, double max_compactness=0.0)
unsigned int CISST_EXPORT LabelBlobs(const svlSampleImageMono8 *image, svlSampleImageMono32 *labels, Internals &internals)
Definition: svlImageProcessing.h:38
Definition: svlSampleImage.h:35
Macros to export the symbols of cisstStereoVision (in a Dll).
Definition: svlCameraGeometry.h:32
Definition: svlTypes.h:215
Definition: svlImageProcessing.h:53
int CISST_EXPORT SwapColorChannels(svlSampleImage *src_img, unsigned int src_videoch, svlSampleImage *dst_img, unsigned int dst_videoch)
Definition: svlImageProcessing.h:55
DI_Algorithm
Definition: svlImageProcessing.h:51
int CISST_EXPORT Crop(svlSampleImage *src_img, unsigned int src_videoch, svlSampleImage *dst_img, unsigned int dst_videoch, int left, int top)
int CISST_EXPORT UnsharpMask(const svlSampleImage *src_img, unsigned int src_videoch, svlSampleImage *dst_img, unsigned int dst_videoch, int radius, double amount, int threshold=0)