数字图像处理实验图像增强
发布时间
阅读量:
阅读量
实验3 图像增强:实现局部增强,同态滤波,USM虚光蒙版滤镜
**一.**实验要求
图像增强:实现局部增强,同态滤波,USM虚光蒙版滤镜
二.实验设备及材料
1.PC机一台;
2. pycharm
**三.**设计思路
这个程序实现了图像的局部增强和USM虚光蒙版滤镜功能。程序使用Python语言和OpenCV、NumPy等库实现图像增强和滤镜功能可以提高图像的对比度和亮度,使得图像更加清晰和鲜明。
程序的逻辑思路是先定义两个函数分别实现局部增强和USM虚光蒙版滤镜。在局部增强函数中,程序先定义一个窗口大小w,然后对于每个像素点,计算以该像素点为中心的大小为w的邻域均值和标准差,然后根据全局对比度和局部区域标准差计算局部增强系数a,最后对该像素点进行局部增强。在USM虚光蒙版滤镜函数中,程序先使用高斯滤器对图像进行模糊处理,然后计算原图像和模糊图像之间的差值,得到一个蒙版图像,最后蒙版图像与原图像进行加权合成,得到USM虚光蒙版滤镜效果。
程序的实现效果是可以对图像进行局部增强和US虚光蒙版滤镜操作,提高图像的对比度和亮度,使得图像更加清晰和鲜明。程序使用了OpenCV、NumPy等库,这些库提供了丰富的图像处理和数学计算功能,使得程序的实现更加单和高效。通过这个程序,用户可以学习到如何使用Python实现图像增强和滤镜功能,同时也可以了解到局增强和USM虚光蒙版滤镜的原理和应用。
四、程序****代码
import cv2
import numpy as np
def zh_cn(string):
return string.encode('gb2312').decode(errors='ignore')
# 局部图像增强
def LocalEnhance(img, w):
h = (w-1) // 2
row, col, channel = img.shape
Img = np.zeros((row, col, channel), dtype=np.uint8)
imgd = img.astype(np.float64)
for k in range(channel):
gvar = np.std(imgd[:, :, k]) # 计算全局标准差,作为图像全局对比度参考
for i in range(row):
i0 = max(0, i-h)
i1 = min(row, i+h+1)
for j in range(col):
j0 = max(0, j-h)
j1 = min(col, j+h+1)
len = (i1-i0) * (j1-j0)
m = np.sum(imgd[i0:i1, j0:j1, k]) / len # 邻域均值
lvar = np.sqrt(np.sum((imgd[i0:i1, j0:j1, k]-m)**2) / (len-1))
a = min(4, gvar / lvar)
Img[i, j, k] = np.clip(np.round(a*(imgd[i, j, k]-m) + m), 0, 255)
return Img
# USM虚光蒙版滤镜
def USM(img):
imgd = img.astype(np.float64)
sigma = 50
gausFilter = cv2.getGaussianKernel(30, sigma)
blur = cv2.filter2D(imgd, -1, gausFilter*gausFilter.T, borderType=cv2.BORDER_REPLICATE)
cv2.imshow('Gaussian Blur', blur.astype(np.uint8))
mask = imgd - blur
cv2.imshow('Mask', mask.astype(np.uint8))
Img = imgd + mask * 0.7
Img = (Img / np.max(Img) * 255).astype(np.uint8)
cv2.imshow('USM', Img)
return Img
# 读取图像
img1 = cv2.imread('img1.png')
img2 = cv2.imread('x.png')
# 局部增强
Img1 = LocalEnhance(img1, 15)
# 显示结果
cv2.imshow(zh_cn("原图"), img1)
cv2.imshow(zh_cn("局部增强"), Img1)
cv2.imshow(zh_cn("原图2"), img2)
Img2 = USM(img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
五**、实验结果**
1、下图为原图像和实现局部对比度增强的图像的结果:


- 下图为实现USM增强的图像(下图依次为原图、蒙版、高斯和USM)




图象编辑过程中,可用的锐化工具很多,可以为图象增加对比度、使用边缘锐化滤镜或噪音滤镜等,而虚光蒙版(USM)则是最成熟的锐化技术。虚光蒙版通过一个象素与一个象素相比较,对原图建立一个虚化版本,它增强了边缘的清晰度,却不会产生不自然的迹象,也不会消除低对比度区域的层次。
全部评论 (0)
还没有任何评论哟~
