python图像模糊处理_Python图像处理-模糊和锐化

本文探讨了如何使用Python对图像进行模糊和锐化处理,包括高斯模糊和锐化核的应用。通过实例展示了处理彩色图像时遇到的问题及解决方案,如使用灰度转换和Y'UV颜色空间来避免颜色失真。最后强调了在处理图像时选择合适颜色空间的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

456829de6759eff2f8bae30d74b63785.png

在这篇文章中,我们将讨论如何应用模糊和锐化图像。这些基本知识构成了许多更高级应用程序的主干。

我们将讨论如何将这些知识应用到彩色图像上。现在开始吧!

从导入所需的Python库开始。

import numpy as npimport matplotlib.pyplot as pltfrom skimage.io import imshow, imreadfrom skimage.color import rgb2yuv, rgb2hsv, rgb2gray, yuv2rgb, hsv2rgbfrom scipy.signal import convolve2d

我们将使用下图:

dog = imread('fire_dog.png')plt.figure(num=None, figsize=(8, 6), dpi=80)imshow(dog);
5d42babb2cb2aa02e5627dcdc9536a21.png

现在我们应用到图像的核是高斯模糊核和锐化核。你可以在下面看到如何定义它们的矩阵。

# 锐化sharpen = np.array([[0, -1, 0],                    [-1, 5, -1],                    [0, -1, 0]])                    # 高斯模糊gaussian = (1 / 16.0) * np.array([[1., 2., 1.],                                  [2., 4., 2.],                                  [1., 2., 1.]])                                  fig, ax = plt.subplots(1,2, figsize = (17,10))ax[0].imshow(sharpen, cmap='gray')ax[0].set_title(f'Sharpen', fontsize = 18)    ax[1].imshow(gaussian, cmap='gray')ax[1].set_title(f'Gaussian Blur', fontsize = 18)    [axi.set_axis_off() for axi in ax.ravel()];
5b646362eff2e91cfe1ea82f55ef9922.png

但如何将这些核应用到图像中呢?我首先定义了下面的函数来允许我们迭代地处理核。请注意,我们将边界设置为fill,将fillvalue设置为0,这对于确保输出将是一个0填充的矩阵、且其大小与原始矩阵相同非常重要。

def multi_convolver(image, kernel, iterations):    for i in range(iterations):        image = convolve2d(image, kernel, 'same', boundary = 'fill',                           fillvalue = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值