做外汇消息面的网站,个人主页网页设计作品html,网站打开速度与服务器,黄骅市邮政编码文章目录 非锐化掩模 (Unsharp Masking)拉普拉斯滤波器 (Laplacian Filter)效果对比总结 在图像处理中#xff0c;锐化操作用于增强图像的边缘和细节#xff0c;使图像看起来更清晰。常见的图像锐化方法包括非锐化掩模#xff08;Unsharp Masking#xff09;和拉普拉斯滤波… 文章目录 非锐化掩模 (Unsharp Masking)拉普拉斯滤波器 (Laplacian Filter)效果对比总结 在图像处理中锐化操作用于增强图像的边缘和细节使图像看起来更清晰。常见的图像锐化方法包括非锐化掩模Unsharp Masking和拉普拉斯滤波器Laplacian Filter。 非锐化掩模 (Unsharp Masking)
步骤
模糊图像使用高斯模糊滤波器对原图像进行模糊处理得到模糊图像。计算细节层通过从原图像中减去模糊图像得到细节层。增强图像将细节层乘以一个增益系数后加回到原图像得到增强后的图像。
公式 设原图像为 ( I )模糊图像为 (I blur )细节层为 ( D )增益系数为 ( k )最终的锐化图像 ( I’ ) 计算如下 D I − I blur D I - I_{\text{blur}} DI−Iblur I ′ I k ⋅ D I I k \cdot D I′Ik⋅D
代码示例
import cv2
import numpy as npdef unsharp_mask(image, k1.5):# 高斯模糊图像blurred cv2.GaussianBlur(image, (9, 9), 10.0)# 计算细节层detail image - blurred# 增强图像sharpened image k * detailreturn np.clip(sharpened, 0, 255).astype(np.uint8)image cv2.imread(Task3.jpg)
sharpened_image unsharp_mask(image)
cv2.imshow(Original Image, image)
cv2.imshow(Unsharp Masked Image, sharpened_image)
cv2.waitKey(0)
cv2.destroyAllWindows()拉普拉斯滤波器 (Laplacian Filter)
步骤
计算拉普拉斯图像使用拉普拉斯算子计算图像的二阶导数得到拉普拉斯图像。增强图像将拉普拉斯图像加回到原图像中得到锐化后的图像。
公式 设原图像为 ( I )拉普拉斯图像为 ( L )最终的锐化图像 ( I’ ) 计算如下 L Δ I ∂ 2 I ∂ x 2 ∂ 2 I ∂ y 2 L \Delta I \frac{\partial^2 I}{\partial x^2} \frac{\partial^2 I}{\partial y^2} LΔI∂x2∂2I∂y2∂2I I ′ I k ⋅ L I I k \cdot L I′Ik⋅L
代码示例
import cv2
import numpy as npdef laplacian_sharpen(image, k1.0):# 计算拉普拉斯图像laplacian cv2.Laplacian(image, cv2.CV_64F)laplacian np.uint8(np.absolute(laplacian))# 增强图像sharpened cv2.addWeighted(image, 1, laplacian, k, 0)return sharpenedimage cv2.imread(path_to_your_image.jpg)
sharpened_image laplacian_sharpen(image)
cv2.imshow(Original Image, image)
cv2.imshow(Laplacian Sharpened Image, sharpened_image)
cv2.waitKey(0)
cv2.destroyAllWindows()效果对比
了将非锐化掩模Unsharp Masking和拉普拉斯滤波器Laplacian Filter的方法整合到一个代码中并对比展示效果将两个锐化方法的结果放在同一个窗口中进行展示
import cv2
import numpy as np
import matplotlib.pyplot as pltdef unsharp_mask(image, k1.5):# 高斯模糊图像blurred cv2.GaussianBlur(image, (9, 9), 10.0)# 计算细节层detail image - blurred# 增强图像sharpened image k * detailreturn np.clip(sharpened, 0, 255).astype(np.uint8)def laplacian_sharpen(image, k1.0):# 计算拉普拉斯图像laplacian cv2.Laplacian(image, cv2.CV_64F)laplacian np.uint8(np.absolute(laplacian))# 增强图像sharpened cv2.addWeighted(image, 1, laplacian, k, 0)return sharpeneddef display_images(original, unsharp, laplacian):titles [Original Image, Unsharp Masked , Laplacian Sharpened ]images [original, unsharp, laplacian]plt.figure(figsize(10, 10)) for i in range(3):plt.subplot(1, 3, i 1)plt.imshow(cv2.cvtColor(images[i], cv2.COLOR_BGR2RGB))plt.title(titles[i])plt.xticks([]), plt.yticks([])plt.show()def main():image_path Task3.jpg # 请替换为你的图像路径image cv2.imread(image_path)if image is None:print(fError: Unable to load image at {image_path})returnunsharp_image unsharp_mask(image)laplacian_image laplacian_sharpen(image)display_images(image, unsharp_image, laplacian_image)if __name__ __main__:main()
具体效果对比如下不同的图片的效果可能不同
总结
这两种锐化方法各有优缺点要根据具体需求选择合适的方法 非锐化掩模 优点能够灵活控制图像的锐化程度通过调整增益系数和模糊程度可以获得较为自然的锐化效果。缺点在处理带有高噪声的图像时容易放大噪声。 拉普拉斯滤波器 优点计算简单能够快速增强图像边缘和细节。缺点容易引入噪声和伪影对噪声不敏感的图像效果更好。
通过应用这些方法可以有效增强图像的边缘和细节使图像看起来更加清晰和锐利。