26 #include "testing/testing.h"
28 using namespace libmv;
44 EXPECT_NEAR(im(5, 5), 1, 1
e-7);
55 EXPECT_TRUE(filtered == convolved);
64 for (
int j = 0; j < 5; j++) {
65 for (
int i = 0; i < 5; i++) {
66 if (i == 0 || i == 4 || j == 0 || j == 4) {
76 FloatImage im(10, 10), blurred_and_derivatives;
79 EXPECT_NEAR(blurred_and_derivatives(5, 5, 0), 1.0, 1
e-7);
80 EXPECT_NEAR(blurred_and_derivatives(5, 5, 1), 0.0, 1
e-7);
81 EXPECT_NEAR(blurred_and_derivatives(5, 5, 2), 0.0, 1
e-7);
84 TEST(
Convolve, BlurredImageAndDerivativesChannelsHorizontalSlope) {
86 for (
int j = 0; j < 10; ++j) {
87 for (
int i = 0; i < 10; ++i) {
92 EXPECT_NEAR(blurred_and_derivatives(5, 5, 0), 10.0, 1
e-7);
93 EXPECT_NEAR(blurred_and_derivatives(5, 5, 1), 2.0, 1
e-7);
94 EXPECT_NEAR(blurred_and_derivatives(5, 5, 2), 0.0, 1
e-7);
97 TEST(
Convolve, BlurredImageAndDerivativesChannelsVerticalSlope) {
99 for (
int j = 0; j < 10; ++j) {
100 for (
int i = 0; i < 10; ++i) {
105 EXPECT_NEAR(blurred_and_derivatives(5, 5, 0), 10.0, 1
e-7);
106 EXPECT_NEAR(blurred_and_derivatives(5, 5, 1), 0.0, 1
e-7);
107 EXPECT_NEAR(blurred_and_derivatives(5, 5, 2), 2.0, 1
e-7);
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
3D array (row, column, channel).
SyclQueue void void size_t num_bytes SyclQueue void const char void *memory_device_pointer KernelContext int kernel
depth_tx normal_tx diffuse_light_tx specular_light_tx volume_light_tx environment_tx ambient_occlusion_tx aov_value_tx in_weight_img image(1, GPU_R32F, Qualifier::WRITE, ImageType::FLOAT_2D_ARRAY, "out_weight_img") .image(3
void ConvolveHorizontal(const Array3Df &in, const Vec &kernel, Array3Df *out_pointer, int plane)
TEST(PolynomialCameraIntrinsics2, ApplyOnFocalCenter)
void BoxFilterHorizontal(const Array3Df &in, int window_size, Array3Df *out_pointer)
void BlurredImageAndDerivativesChannels(const Array3Df &in, double sigma, Array3Df *blurred_and_gradxy)
void ConvolveGaussian(const Array3Df &in, double sigma, Array3Df *out_pointer)
void Convolve(const Array3Df &in, const Vec &kernel, Array3Df *out_pointer, int plane)
void ComputeGaussianKernel(double sigma, Vec *kernel, Vec *derivative)
void BoxFilter(const Array3Df &in, int box_width, Array3Df *out)