CCIMXDesktop
 
Loading...
Searching...
No Matches
BlurProcessor.h
1#ifndef BLURPROCESSOR_H
2#define BLURPROCESSOR_H
3
4#include "image_proc_base.h"
5
11class BlurProcessor : public ImageProc {
12public:
16 enum class HandleType {
19 MeanBlur,
21 };
22
27 explicit BlurProcessor(const HandleType t)
28 : type(t) { }
29
33 ~BlurProcessor() override = default;
34
39 inline HandleType handleType() const { return type; }
40
41private:
42 HandleType type;
43};
44
51 virtual ~AbstractParamsPack() = default;
52};
53
58 ~MedianBlurPackage() override = default;
59
63 int kernel_size { 5 };
64};
65
74 : kernel_size(5)
75 , sigma_x(1.5) {
77 }
78
79 ~GaussainPackage() override = default;
80
85
89 double sigma_x;
90
94 double sigma_y;
95};
96
101 ~FilterPackage() override = default;
102
106 int d;
107
112
117};
118
123 ~MeanBlurPackage() override = default;
124
128 int kernel_size { 5 };
129};
130
134class MeanBlur : public BlurProcessor {
135public:
139 MeanBlur();
140
144 ~MeanBlur() override = default;
145
151 bool process(CVImage& prev_image) override;
152
159 static bool process(CVImage& prev_image, const MeanBlurPackage& package);
160
162};
163
168public:
172 GuassainBlur();
173
177 ~GuassainBlur() override = default;
178
184 bool process(CVImage& prev_image) override;
185
192 static bool process(CVImage& prev_image, const GaussainPackage& package);
193
195};
196
200class MedianBlur : public BlurProcessor {
201public:
205 MedianBlur();
206
210 ~MedianBlur() override = default;
211
217 bool process(CVImage& prev_image) override;
218
225 static bool process(CVImage& prev_image, const MedianBlurPackage& package);
226
228};
229
233class FilterBlur : public BlurProcessor {
234public:
238 FilterBlur();
239
243 ~FilterBlur() override = default;
244
250 bool process(CVImage& prev_image) override;
251
258 static bool process(CVImage& prev_image, const FilterPackage& package);
259
261};
262
263#endif // BLURPROCESSOR_H
The BlurProcessor class is an abstract image processor base for various blur operations.
Definition BlurProcessor.h:11
BlurProcessor(const HandleType t)
Constructs a BlurProcessor with the specified blur type.
Definition BlurProcessor.h:27
HandleType
The HandleType enum lists supported blur types.
Definition BlurProcessor.h:16
@ MedianBlur
Median filter blur.
@ GuassainBlur
Gaussian blur.
@ MeanBlur
Mean (average) blur.
~BlurProcessor() override=default
Virtual destructor.
HandleType handleType() const
Returns the blur type of this processor.
Definition BlurProcessor.h:39
The CVImage class is the image class that provides the image in the frameworks.
Definition CVImage.h:9
Performs bilateral filter blur on images.
Definition BlurProcessor.h:233
FilterPackage package
Parameters used in bilateral filter blur.
Definition BlurProcessor.h:260
FilterBlur()
Constructs a FilterBlur processor.
Definition BlurProcessor.cpp:46
~FilterBlur() override=default
Destructor.
bool process(CVImage &prev_image) override
Processes an image with internal parameters.
Definition BlurProcessor.cpp:50
Performs Gaussian blur on images.
Definition BlurProcessor.h:167
GaussainPackage package
Parameters used in Gaussian blur.
Definition BlurProcessor.h:194
bool process(CVImage &prev_image) override
Processes an image with internal parameters.
Definition BlurProcessor.cpp:21
GuassainBlur()
Constructs a GuassainBlur processor.
Definition BlurProcessor.cpp:17
~GuassainBlur() override=default
Destructor.
Performs mean (average) blur on images.
Definition BlurProcessor.h:134
MeanBlurPackage package
Parameters used in mean blur.
Definition BlurProcessor.h:161
~MeanBlur() override=default
Destructor.
MeanBlur()
Constructs a MeanBlur processor.
Definition BlurProcessor.cpp:5
bool process(CVImage &prev_image) override
Processes an image with internal parameters.
Definition BlurProcessor.cpp:8
Performs median blur on images.
Definition BlurProcessor.h:200
MedianBlurPackage package
Parameters used in median blur.
Definition BlurProcessor.h:227
MedianBlur()
Constructs a MedianBlur processor.
Definition BlurProcessor.cpp:33
~MedianBlur() override=default
Destructor.
bool process(CVImage &prev_image) override
Processes an image with internal parameters.
Definition BlurProcessor.cpp:37
The AbstractParamsPack struct serves as a base class for all blur parameter packs.
Definition BlurProcessor.h:50
Parameters for bilateral filter blur.
Definition BlurProcessor.h:100
int d
Diameter of each pixel neighborhood.
Definition BlurProcessor.h:106
double sigma_color
Filter sigma in the coordinate space.
Definition BlurProcessor.h:116
double sigma_space
Filter sigma in the color space.
Definition BlurProcessor.h:111
Parameters for Gaussian blur processing.
Definition BlurProcessor.h:69
double sigma_y
Standard deviation in the Y direction.
Definition BlurProcessor.h:94
int kernel_size
Size of the kernel used for convolution.
Definition BlurProcessor.h:84
double sigma_x
Standard deviation in the X direction.
Definition BlurProcessor.h:89
GaussainPackage()
Constructs a Gaussian package with default parameters.
Definition BlurProcessor.h:73
base of all processors
Definition image_proc_base.h:8
Parameters for mean blur processing.
Definition BlurProcessor.h:122
int kernel_size
Kernel size used in mean filtering.
Definition BlurProcessor.h:128
Parameters for median blur processing.
Definition BlurProcessor.h:57
int kernel_size
Kernel size for the median blur.
Definition BlurProcessor.h:63