MCPcopy Create free account
hub / github.com/CVCUDA/CV-CUDA / CPUBilateralFilterTensor

Function CPUBilateralFilterTensor

tests/cvcuda/system/TestOpBilateralFilter.cpp:145–180  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

143}
144
145static void CPUBilateralFilterTensor(std::vector<uint8_t> &vIn, std::vector<uint8_t> &vOut, int columns, int rows,
146 int batch, int rowStride, int channels, int sampleStride, int diameter,
147 float sigmaColor, float sigmaSpace)
148{
149 if (sigmaColor <= 0)
150 {
151 sigmaColor = 1;
152 }
153 if (sigmaSpace <= 0)
154 {
155 sigmaSpace = 1;
156 }
157
158 int radius;
159 if (diameter <= 0)
160 {
161 radius = std::roundf(sigmaSpace * 1.5f);
162 }
163 else
164 {
165 radius = diameter / 2;
166 }
167 if (radius < 1)
168 {
169 radius = 1;
170 }
171
172 float spaceCoefficient = -1 / (2 * sigmaSpace * sigmaSpace);
173 float colorCoefficient = -1 / (2 * sigmaColor * sigmaColor);
174 for (int i = 0; i < batch; i++)
175 {
176 uint8_t *pIn = vIn.data() + i * sampleStride;
177 uint8_t *pOut = vOut.data() + i * sampleStride;
178 CPUBilateralFilter(pIn, pOut, columns, rows, rowStride, channels, radius, colorCoefficient, spaceCoefficient);
179 }
180}
181
182static void CPUBilateralFilterVarShape(std::vector<std::vector<uint8_t>> &vIn, std::vector<std::vector<uint8_t>> &vOut,
183 std::vector<int> &vColumns, std::vector<int> &vRows,

Callers 1

TEST_PFunction · 0.85

Calls 2

CPUBilateralFilterFunction · 0.85
dataMethod · 0.45

Tested by

no test coverage detected