torchvision.transforms.functional.gaussian_blur()功能、各参数的意义以及用法
时间: 2023-12-25 16:05:10 浏览: 252
Pytoch之torchvision.transforms图像变换实例
`torchvision.transforms.functional.gaussian_blur()`是一个PyTorch中的图像变换函数,用于对图像进行高斯模糊处理。具体来说,该函数会对输入的图像进行高斯滤波操作,从而生成一个模糊的图像。
该函数的输入为一个PIL图像(或者是一个张量),并可以指定高斯滤波的半径(radius)和标准差(sigma)。其中,半径(radius)决定了高斯核的大小,标准差(sigma)则决定了高斯核的形状,越大则模糊越强。
函数的定义如下:
```
torchvision.transforms.functional.gaussian_blur(
img: Union[PIL.Image.Image, torch.Tensor],
kernel_size: Tuple[int, int],
sigma: Tuple[float, float]
) -> Union[PIL.Image.Image, torch.Tensor]
```
参数说明:
- `img`:输入的PIL图像或者张量(Tensor),大小为(H,W)或(H,W,C)。
- `kernel_size`:高斯核的大小,通常设置为奇数,如(3, 3)、(5, 5)等。
- `sigma`:高斯核的标准差,用来调整滤波的强度,越大则模糊越强,通常设置为一个小数,如(0.1, 2.0)等。
该函数的输出为一个PIL图像或者张量(Tensor),与输入的类型相同。函数的用法示例如下:
```python
from torchvision.transforms.functional import gaussian_blur
from PIL import Image
img = Image.open('test.jpg') # 打开一张测试图像
img_blur = gaussian_blur(img, kernel_size=(5, 5), sigma=(0.1, 2.0)) # 对图像进行高斯模糊
img_blur.show() # 显示模糊后的图像
```
在上述示例中,我们首先打开了一张测试图像(`test.jpg`),然后对该图像进行高斯模糊,指定了高斯核的大小为(5, 5),标准差为(0.1, 2.0)。最后,使用`show()`函数显示了模糊后的图像。
阅读全文