forked from vchukanov/cppimagefilterbase
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfilter.h
More file actions
55 lines (49 loc) · 1.44 KB
/
filter.h
File metadata and controls
55 lines (49 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#pragma once
#include "png_toolkit.h"
#include <vector>
#include <algorithm>
#include "parseconfig.h"
class Filter {
protected:
int calculateHeightStart(int up, image_data& imgData);
int calculateHeightFinish(int down, image_data& imgData);
int calculateWidthStart(int left, image_data& imgData);
int calculateWidthFinish(int right, image_data& imgData);
//int calculateLenghtString(image_data& imgData);
void filterBW(vector<int> coordinates, image_data& imgData);
};
class Red : protected Filter {
public:
Red(vector<int> coordinates, image_data& imgData);
void red_filter(image_data& imgData);
private:
vector<int> posPicture;
};
class Threshold : protected Filter {
public:
Threshold(vector<int> coordinates, image_data& imgData);
void threshold_filter(image_data& imgData);
int middleFilter(image_data& imgData, vector<int>matrixCoordinates);
private:
vector<int> posPicture;
};
class Blur : protected Filter {
public:
Blur(vector<int> coordinates, image_data& imgData);
void blur_filter(image_data& imgData);
vector<int> filterExtraBlur(image_data& imgData, vector<int>matrixCoordinates);
private:
vector<int> posPicture;
};
class Edge : protected Filter {
public:
Edge(vector<int> coordinates, image_data& imgData);
void edge_filter(image_data& imgData);
int filterExtraEdge(image_data& imgData, vector<int>matrixCoordinates);
private:
vector<int> posPicture;
};
class Filters {
public:
void doFilter(configData data, image_data& imgData);
};