Skip to content

Commit e8837e1

Browse files
committed
Add EDGE_DETECTOR_XX_EN to declare which model will be used
Add EDGE_DETECTOR_PV_EN safeguard to avoid duplication of functions
1 parent 2f32845 commit e8837e1

File tree

4 files changed

+32
-0
lines changed

4 files changed

+32
-0
lines changed

modules/edge-detector/Makefile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,24 @@ ifdef TEST_NORMALIZE_MAGNITUDE
2626
LFLAGS += -DTEST_NORMALIZE_MAGNITUDE
2727
endif # TEST_NORMALIZE_MAGNITUDE
2828

29+
# Defining preprocessor directive for using PV model
30+
ifdef EDGE_DETECTOR_PV_EN
31+
CFLAGS += -DEDGE_DETECTOR_PV_EN
32+
LFLAGS += -DEDGE_DETECTOR_PV_EN
33+
endif # EDGE_DETECTOR_PV_EN
34+
35+
# Defining preprocessor directive for using PV model
36+
ifdef EDGE_DETECTOR_LT_EN
37+
CFLAGS += -DEDGE_DETECTOR_LT_EN
38+
LFLAGS += -DEDGE_DETECTOR_LT_EN
39+
endif # EDGE_DETECTOR_LT_EN
40+
41+
# Defining preprocessor directive for using PV model
42+
ifdef EDGE_DETECTOR_AT_EN
43+
CFLAGS += -DEDGE_DETECTOR_AT_EN
44+
LFLAGS += -DEDGE_DETECTOR_AT_EN
45+
endif # EDGE_DETECTOR_AT_EN
46+
2947
# Run the compiled file
3048
run:
3149
@./test

modules/edge-detector/include/sobel_edge_detector_pv_model.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#ifdef EDGE_DETECTOR_PV_EN
12
#ifndef SOBEL_EDGE_DETECTOR_HPP
23
#define SOBEL_EDGE_DETECTOR_HPP
34

@@ -36,3 +37,4 @@ SC_MODULE(Edge_Detector)
3637
};
3738

3839
#endif // SOBEL_EDGE_DETECTOR_HPP
40+
#endif // EDGE_DETECTOR_PV_EN

modules/edge-detector/src/sobel_edge_detector_pv_model.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#ifdef EDGE_DETECTOR_PV_EN
2+
#ifndef SOBEL_EDGE_DETECTOR_CPP
3+
#define SOBEL_EDGE_DETECTOR_CPP
4+
15
#include "sobel_edge_detector_pv_model.hpp"
26

37
void Edge_Detector::set_local_window(int window[3][3])
@@ -50,3 +54,6 @@ int Edge_Detector::obtain_sobel_gradient_y()
5054

5155
return this->resultSobelGradientY;
5256
}
57+
58+
#endif // SOBEL_EDGE_DETECTOR_CPP
59+
#endif // EDGE_DETECTOR_PV_EN

modules/edge-detector/src/tb_edge_detector.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@
1111

1212
#include <cmath>
1313

14+
#ifdef EDGE_DETECTOR_PV_EN
1415
#include "sobel_edge_detector_pv_model.hpp"
16+
#elif defined(EDGE_DETECTOR_LT_EN)
17+
#include "sobel_edge_detector_lt_model.hpp"
18+
#error "No EDGE_DETECTOR macro is defined. Please define one of EDGE_DETECTOR_AT_EN (Not yet implemented), EDGE_DETECTOR_LT_EN, or EDGE_DETECTOR_PV_EN."
19+
#endif // EDGE_DETECTOR_XX_EN
1520

1621
using namespace cv;
1722

0 commit comments

Comments
 (0)