2024-04-19 21:13:05 发布
网友
如何在(CIE)实验室格式的图像上应用高斯模糊?RGB可以用rgb_blurred = skimage.filters.gaussian(lab)模糊,但这在LAB上不起作用(因为它是第一个通道)。有没有一种方法可以在不先将图像转换回rgb,然后再转换回rgb的情况下对图像进行模糊处理?你知道吗
rgb_blurred = skimage.filters.gaussian(lab)
从docs:
The multi-dimensional filter is implemented as a sequence of one-dimensional convolution filters.
因此,您也可以将过滤器应用于实验室图像。图像存储为numpy数组,因此如果您只想将过滤器应用于某些通道,那么使用标准numpy索引是没有问题的。事实上,模糊a和b通道对视觉印象几乎没有影响。效果来自模糊L通道:
a
b
L
from skimage import data from skimage.filters import gaussian from skimage.color import rgb2lab, lab2rgb import matplotlib.pyplot as plt img = data.astronaut() lab = rgb2lab(img) blurred = gaussian(lab, 5) lab[:,:,0] = gaussian(lab[:,:,0], 5, preserve_range=True) fig, ax = plt.subplots(1,3,figsize=(20,20)) ax[0].imshow(img) ax[1].imshow(lab2rgb(blurred)) ax[2].imshow(lab2rgb(lab)) ax[0].set_title('Original') ax[1].set_title('Blurred (entire image)') ax[2].set_title('Blurred (L channel only)')
请注意,对单个通道应用筛选器时,必须将参数preserve_range设置为True,否则结果将在0.0到1.0的范围内。你知道吗
preserve_range
True
0.0
1.0
从docs:
因此,您也可以将过滤器应用于实验室图像。图像存储为numpy数组,因此如果您只想将过滤器应用于某些通道,那么使用标准numpy索引是没有问题的。事实上,模糊
a
和b
通道对视觉印象几乎没有影响。效果来自模糊L
通道:请注意,对单个通道应用筛选器时,必须将参数
preserve_range
设置为True
,否则结果将在0.0
到1.0
的范围内。你知道吗相关问题 更多 >
编程相关推荐