MCPcopy Create free account
hub / github.com/arrayfire/arrayfire / cannyImageOtsuTest

Function cannyImageOtsuTest

test/canny.cpp:96–159  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

94
95template<typename T>
96void cannyImageOtsuTest(string pTestFile, bool isColor) {
97 SUPPORTED_TYPE_CHECK(T);
98 IMAGEIO_ENABLED_CHECK();
99
100 using af::dim4;
101
102 vector<dim4> inDims;
103 vector<string> inFiles;
104 vector<dim_t> outSizes;
105 vector<string> outFiles;
106
107 readImageTests(pTestFile, inDims, inFiles, outSizes, outFiles);
108
109 size_t testCount = inDims.size();
110
111 for (size_t testId = 0; testId < testCount; ++testId) {
112 af_array _inArray = 0;
113 af_array inArray = 0;
114 af_array _outArray = 0;
115 af_array cstArray = 0;
116 af_array mulArray = 0;
117 af_array outArray = 0;
118 af_array goldArray = 0;
119
120 inFiles[testId].insert(0, string(TEST_DIR "/CannyEdgeDetector/"));
121 outFiles[testId].insert(0, string(TEST_DIR "/CannyEdgeDetector/"));
122
123 af_dtype type = (af_dtype)dtype_traits<T>::af_type;
124
125 ASSERT_SUCCESS(
126 af_load_image(&_inArray, inFiles[testId].c_str(), isColor));
127
128 ASSERT_SUCCESS(af_cast(&inArray, _inArray, type));
129
130 ASSERT_SUCCESS(
131 af_load_image_native(&goldArray, outFiles[testId].c_str()));
132
133 ASSERT_SUCCESS(af_canny(&_outArray, inArray,
134 AF_CANNY_THRESHOLD_AUTO_OTSU,
135 0.08, 0.32, 3, false));
136
137 unsigned ndims = 0;
138 dim_t dims[4];
139
140 ASSERT_SUCCESS(af_get_numdims(&ndims, _outArray));
141 ASSERT_SUCCESS(
142 af_get_dims(dims, dims + 1, dims + 2, dims + 3, _outArray));
143
144 ASSERT_SUCCESS(af_constant(&cstArray, 255.0, ndims, dims, f32));
145
146 ASSERT_SUCCESS(af_mul(&mulArray, cstArray, _outArray, false));
147 ASSERT_SUCCESS(af_cast(&outArray, mulArray, u8));
148
149 ASSERT_IMAGES_NEAR(goldArray, outArray, 1.0e-3);
150
151 ASSERT_SUCCESS(af_release_array(_inArray));
152 ASSERT_SUCCESS(af_release_array(inArray));
153 ASSERT_SUCCESS(af_release_array(cstArray));

Callers

nothing calls this directly

Calls 10

readImageTestsFunction · 0.85
af_mulFunction · 0.85
af_load_imageFunction · 0.50
af_castFunction · 0.50
af_load_image_nativeFunction · 0.50
af_cannyFunction · 0.50
af_get_numdimsFunction · 0.50
af_get_dimsFunction · 0.50
af_constantFunction · 0.50
af_release_arrayFunction · 0.50

Tested by

no test coverage detected