实验室表格模糊

2024-04-19 21:13:05 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在(CIE)实验室格式的图像上应用高斯模糊?RGB可以用rgb_blurred = skimage.filters.gaussian(lab)模糊,但这在LAB上不起作用(因为它是第一个通道)。有没有一种方法可以在不先将图像转换回rgb,然后再转换回rgb的情况下对图像进行模糊处理?你知道吗


Tags: 方法图像格式lab情况rgbgaussian实验室
1条回答
网友
1楼 · 发布于 2024-04-19 21:13:05

docs

The multi-dimensional filter is implemented as a sequence of one-dimensional convolution filters.

因此,您也可以将过滤器应用于实验室图像。图像存储为numpy数组,因此如果您只想将过滤器应用于某些通道,那么使用标准numpy索引是没有问题的。事实上,模糊ab通道对视觉印象几乎没有影响。效果来自模糊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)')

enter image description here

请注意,对单个通道应用筛选器时,必须将参数preserve_range设置为True,否则结果将在0.01.0的范围内。你知道吗

相关问题 更多 >