我希望对一个RGB图像应用高斯模糊。
我希望每个通道都可以独立操作。下面的代码输出了一个有3个通道的模糊图像,但是所有通道的值都相同,导致了一张灰色的图像。
gauss_kernel_2d = gaussian_kernel(2, 0.0, 1.0) # outputs a 5*5 tensor
gauss_kernel = tf.tile(gauss_kernel_2d[:, :, tf.newaxis, tf.newaxis], [1, 1, 3, 3]) # 5*5*3*3
image = tf.nn.conv2d(tf.expand_dims(image, 0), gauss_kernel, strides=[1, 1, 1, 1], padding='SAME') # 1*600*800*3
image = tf.squeeze(image) # 600*800*3
# shape of image needs to be [batch, in_height, in_width, in_channels]
# shape of filter needs to be [filter_height, filter_width, in_channels, out_channels]
我正在寻找一个Tensorflow函数,它可以分别在每个R/G/B通道上应用卷积并输出一张RGB模糊图像。