著述目次
一、简介:二、图像廓清度增强决策:三、算法已矣门径3.1高反差保留已矣3.2. usm锐化3.3 Overlay重叠
四:合座代码已矣五:恶果
一、简介:
你是否有过这么的烦闷,拍出来的相片老是不够廓清,显得雾蒙蒙的?其实,通过一些约略的技巧,咱们不错让这些迟滞的相片快活重生。领先,让咱们来了解一下什么是图像廓清度。约略来说,图像廓清度即是指图片中的细节是否廓清可见。一张廓清的相片,细节丰富,角落分明;而一张迟滞的相片,则细节丢失,看起来不够敏锐。图像廓清度增强即是指通过一系列算法和时间技能提高图像的视觉恶果,使图像中的细节愈加廓清,角落愈加敏锐,合座图像愈加昭彰。 迷水商城
二、图像廓清度增强决策:
二、图像廓清度增强决策:
为了提高图像的廓清度,咱们制定了以下增强决策: 高反差保留:领先,咱们对原图进行高反差保留处罚,这一门径旨在保留图像中的高频细节,如角落和纹理,同期过滤掉低频的布景噪声。通过这种相貌,图像的细节取得强化,而不会引入稀零的噪声。 USM锐化:接着,咱们对图像进行USM(Unsharp Masking)锐化处罚。USM锐化是一种常用的图像增强时间,它通过增强图像的角落对比度来提高图像的廓清度。这一门径将进一步凸起图像的细节,使图像看起来愈加敏锐。 细节图与原图重叠:终末,咱们将经过USM锐化处罚的细节图与原始图像进行重叠。这一门径通过统一原始图像的色调信息和锐化后的细节信息,已矣图像廓清度的合座提高。 具体施行门径如下: 对原图进行小核高斯迟滞处罚,这一门径有助于进一步去除图像上的噪声,为后续的细节保留和锐化打下考究的基础。对去噪后的图像哄骗高反差保留,以保留图像中的细节信息。 对保留细节后的图像进行USM锐化,以增强图像的角落和细节。将锐化后的细节图与原始图像进行重叠,通过重叠处罚,最终的图像既保留了原始色调,又增强了廓清度和细节。 通过上述决策,咱们不错有用地提高图像的廓清度,使图像愈加安妥视觉审好意思和本色哄骗的需求。 迷水商城
三、算法已矣门径
3.1高反差保留已矣
高反差保留是一种图像处罚时间,它的主要观点是强化图像中的细节和角落,同期尽量保抓图像的合座亮度不变。简而言之,高反差保留的经过如下: 识别反差:领先,算法会分析图像中的每个像素与其周围像素之间的反差进度。反差常常是通过诡计像素值的梯度来笃定的,梯度越大,反差就越彰着。 保留反差:在识别出反差之后,算法会将这些反差信息保留住来。具体来说,即是将那些反差较大的像素点保留其原始值,而将反差较小的像素点(常常是图像的平坦区域)转化为接近中间灰度的值。 和会图像:终末,将经过反差保留处罚的图像与原始图像进行和会。这么,原始图像中的低反差区域(如平滑过渡的色调或亮度区域)会保抓不变,而高反差区域(如角落和细节)则会取得增强。 高反差保留的恶果是使图像的细节愈加凸起,香港催情水网而不会显耀改革图像的合座色调。这种时间在图像增强、锐化处罚以及艺术恶果制作中颠倒常用 迷水商城迷水商城迷水商城
代码如下: 91插骚鲍 麟网国产黑4网: 恒大®舞团 91无码探花迷水商城
def high_reserve(img, ksize, sigm):
# 将输入图像转化为浮点数,以便进行后续的数学运算
img = img * 1.0
# 使用高斯迟滞对图像进行迟滞处罚,催情香水是真的吗ksize是高斯核的大小,sigm是高斯核的步调差
gauss_out = cv2.GaussianBlur(img, (ksize, ksize), sigm)
# 诡计原始图像与高斯迟滞后的图像之差,然后加上128以治疗亮度
img_out = img - gauss_out + 128
# 将图像数据缩放到0到1的领域内,便于后续处罚
img_out = img_out / 255.0
# 富有处罚,介意像素值超出0到1的领域
# 创建一个掩码,记号小于0的像素
mask_1 = img_out < 0
# 创建一个掩码,记号大于1的像素
mask_2 = img_out > 1
# 将小于0的像素值诞生为0
img_out = img_out * (1 - mask_1)
# 将大于1的像素值诞生为1
img_out = img_out * (1 - mask_2) + mask_2
# 复返处罚后的图像
return img_out
图片
3.2. usm锐化
USM(Unsharp Masking,非锐化褪色)锐化是一种常用的图像处罚时间,用于增强图像的角落和细节,使图像看起来愈加廓清和昭彰。以下是USM锐化的基应允趣和门径: 旨趣:USM锐化的中枢念念想是先迟滞原图像,然后从原图中减去这个迟滞的版块,终末将取得的角落增强收尾与原图搀和,以此来提高图像的廓清度。 门径: 1.高斯迟滞:领先,对原始图像哄骗高斯迟滞。这个经过会创建一个迟滞版块的图像,迟滞的进度由用户设定的半径(radius)参数放置。 2. 角遁藏要:接下来,从原始图像中减去迟滞的图像。这个操作会凸起图像中的角落和细节,因为这些区域在减法操作后会有较高的对比度。 3. 搀和:终末,将索要出的角落信息与原始图像进行搀和。搀和的比例由用户设定的数目(amount)参数放置,这个参数决定了锐化恶果的强度。
代码如下: 迷水商城迷水商城
def usm(img, number):
# 使用高斯迟滞对原始图像进行迟滞处罚,(0, 0)示意核大小自动说明sigma值诡计
# number参数是高斯核的步调差sigma,放置迟滞的进度
blur_img = cv2.GaussianBlur(img, (0, 0), number)
# 使用addWeighted函数对原始图像和迟滞图像进行搀和
# 参数1.5和-0.5差异是原始图像和迟滞图像的权重,0是加到搀和收尾上的常数
# 这里的权重诞生使得搀和收尾华夏始图像的角落和细节取得增强
usm = cv2.addWeighted(img, 1.5, blur_img, -0.5, 0)
# 复返USM锐化处罚后的图像
return usm
3.3 Overlay重叠
Overlay”(重叠)是一种搀和形状,它用于将两个图层的内容以特定的相貌搀和在全部,创造出一系列视觉恶果。重叠搀和形状常常用于增强图像的对比度和富有度,同期保留底层图层的细节。 重叠搀和形状的恶果取决于底层图层的亮度。它说明底层图层的亮度来治疗搀和图层(即顶层图层)的心扉,解任以下法则: 1. 当底层图层像素的亮度低于50%时: 重叠搀和形状会将顶层图层的心扉与底层图层进行“乘法”搀和。这会导致底层较暗的区域变得更暗,从而增强对比度。 2. 当底层图层像素的亮度高于50%时: 重叠搀和形状会将顶层图层的心扉与底层图层进行“屏幕”搀和。这会导致底层较亮的区域变得更亮,一样增强对比度。 迷水商城迷水商城迷水商城
代码已矣: 迷水商城迷水商城
def Overlay(target, blend):
# 创建一个布尔型掩码,其中blend小于0.5的像素位置为True,不然为False
mask = blend < 0.5
# 使用掩码对图像进行分区域处罚
# 当掩码为True时(即blend小于0.5),使用公式2 * target * blend诡计搀和收尾
# 当掩码为False时(即blend大于等于0.5),使用公式1 - 2 * (1 - target) * (1 - blend)诡计搀和收尾
img = 2 * target * blend * mask + (1 - mask) * (1 - 2 * (1 - target) * (1 - blend))
# 复返处罚后的图像
return img
注: 2 * target * blend * mask: mask 是一个布尔数组,它示意搀和图层 blend 中像素值小于0.5的位置。 当 mask 为 True 时,即 blend 的像素值小于0.5,这个部分会被激活。 2 * target * blend 已矣了“乘法”搀和恶果,这会使得较暗的区域变得更暗,增强对比度。 (1 - mask): 这是一个反掩码,它示意搀和图层 blend 中像素值大于等于0.5的位置。 当 mask 为 False 时,即 blend 的像素值大于等于0.5,这个部分会被激活。 (1 - 2 * (1 - target) * (1 - blend)): 这个抒发式已矣了“屏幕”搀和恶果,当 blend 的像素值大于等于0.5时哄骗。 (1 - target) 和 (1 - blend) 差异诡计了谋略图层和搀和图层像素值的补数。 2 * (1 - target) * (1 - blend) 已矣了补数的“乘法”搀和,然后通过 1 - 取反,取得“屏幕”搀和恶果,这会使得较亮的区域变得更亮。 迷水商城
四:合座代码已矣
import cv2
import numpy as np
def high_reserve(img,ksize,sigm):
img = img * 1.0
gauss_out = cv2.GaussianBlur(img,(ksize,ksize),sigm)
img_out = img - gauss_out + 128
img_out = img_out/255.0
# 富有处罚
mask_1 = img_out < 0
mask_2 = img_out > 1
img_out = img_out * (1-mask_1)
img_out = img_out * (1-mask_2) + mask_2
return img_out
def usm(img ,number):
blur_img = cv2.GaussianBlur(img, (0, 0), number)
usm = cv2.addWeighted(img, 1.5, blur_img, -0.5, 0)
return usm
def Overlay(target, blend):
mask = blend < 0.5
img = 2 * target * blend * mask + (1 - mask) * (1 - 2 * (1 - target) * (1 - blend))
return img
img = cv2.imread(r'F:\traditional_vison\R-C.png')
img_gas = cv2.GaussianBlur(img,(3,3),1.5)
# img = cv2.resize(img,(640,480))
# print(img.shape)
high = high_reserve(img_gas,11,5)
usm1 = usm(high,11)
add = (Overlay(img_gas/255,usm1)*255).astype(np.uint8)
cv2.imshow("de_blur",add)
cv2.imshow("img_gas",img_gas)
# add=cv2.medianBlur((add*255).astype(np.uint8),3)
# cv2.imwrite(r"E:\PS\R-C (1).jpg",add)
cv2.waitKey(0)
五:恶果
左侧为原始图像,右侧为增强后的图像 图片
本站仅提供存储职业,扫数内容均由用户发布,如发现存害或侵权内容,请点击举报。
|