使用Laplacian算子对Vaihingen.tif进行锐化滤波,函数要求包括两种情况:保留背景及不保留背景。使用python书写
时间: 2024-11-27 10:13:54 浏览: 28
Laplacian算子是一种边缘检测算子,在图像处理中常用于增强图像细节、突出轮廓。在Python中,我们可以使用OpenCV库来进行这种操作。以下是一个简单的示例,展示如何使用`skimage`和`scipy`库进行Laplacian锐化,同时提供两种选项:保留背景和不保留背景:
```python
from skimage import io, img_as_float
import numpy as np
from scipy.ndimage import laplace
# 加载图像
image = io.imread('Vaihingen.tif', as_gray=True)
image = img_as_float(image)
# 保留背景的锐化
def laplacian_sharpening(image, preserve_background=False):
if preserve_background:
# 将原图复制一份,作为背景层
background = image.copy()
# 应用Laplacian算子
sharpened = laplace(image)
# 选择性的将高值区域替换回原始背景
mask = sharpened > 0
image[mask] = background[mask]
else:
sharpened = laplace(image)
return sharpened
# 选择是否保留背景
sharp_image_with_bg = laplacian_sharpening(image, True)
sharp_image_without_bg = laplacian_sharpening(image, False)
# 可视化结果
io.imshow(sharp_image_with_bg, cmap='gray')
io.imshow(sharp_image_without_bg, cmap='gray')
# 显示图片
io.show()
阅读全文
相关推荐


















