一般的滤波器都是针对灰度图像的,scikit-image 库提供了针对彩色图像滤波的decorator:adapt_rgb,adapt_rgb 提供两种形式的滤波,一种是对rgb三个通道分别进行处理,另外一种方式是将rgb转为hsv颜色模型,然后针对v通道进行处理,最后再转回rgb颜色模型。
针对模式一,称为 each_channel
@adapt_rgb(each_channel)
def sobel_each(image):
return filters.sobel(image)
模式二称为 hsv_value
@adapt_rgb(hsv_value)
def sobel_hsv(image):
return filters.sobel(image)
利用上述两种模式,可以对彩色图像滤波,下面是完整的用例代码;
from skimage import data
from skimage.exposure import rescale_intensity
import matplotlib.pyplot as plt
from skimage.color.adapt_rgb import adapt_rgb, each_channel, hsv_value
from skimage import filters
@adapt_rgb(each_channel