图像处理 – 如何同时增强细节并减少噪音?

huangapple go评论68阅读模式
英文:

Image Processing - How to Enhance Fine Details and Reduce Noise Simultaneously?

问题

我正在进行图像处理项目,需要增强图像中的细节并减少噪音。这些图像是在低光条件下捕获的,包含对分析至关重要的复杂细节特征。然而,它们也受到相当多的噪音影响,影响了后续算法的准确性。

我已经尝试使用传统的去噪滤波器,如中值滤波和高斯滤波,它们有助于减少噪音,但不幸的是,它们也会模糊我想要保留的细节。另一方面,当我尝试使用直方图均衡化或锐化掩模等技术增强细节时,它往往会放大噪音。

这是我尝试过的代码片段:

import cv2
import numpy as np

def enhance_details_and_reduce_noise(image):
    # Reducing noise
    denoised_image = cv2.medianBlur(image, 3)

    # Enhancing details
    kernel = np.array([[-1, -1, -1], [-1, 9, -1], [-1, -1, -1]]) # unsharp masking kernel
    enhanced_image = cv2.filter2D(image, -1, kernel)

    return denoised_image, enhanced_image

# Load the image
image = cv2.imread('input_image.jpg', cv2.IMREAD_GRAYSCALE)

# Process the image
denoised_image, enhanced_image = enhance_details_and_reduce_noise(image)

# Display the results
cv2.imshow('Denoised Image', denoised_image)
cv2.imshow('Enhanced Image', enhanced_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

不幸的是,这段代码没有达到同时有效增强细节和减少噪音的期望结果。输出图像要么减少噪音但缺少重要细节,要么增强了细节但放大了噪音。

我正在寻求关于可以帮助我同时实现这两个目标 - 增强细节和减少噪音 - 而不互相牺牲的技术或算法的建议。任何见解或替代方法将不胜感激。

英文:

I am working on an image processing project where I need to enhance fine details in images while also reducing noise. The images are captured in low-light conditions and contain important intricate features that are crucial for analysis. However, they also suffer from a considerable amount of noise that affects the accuracy of subsequent algorithms.

I have tried using traditional denoising filters such as median filtering and Gaussian filtering, which help in reducing noise but unfortunately, they also blur the fine details that I want to preserve. On the other hand, when I attempt to enhance details using techniques like histogram equalization or unsharp masking, it tends to amplify the noise as well.

Here is a snippet of the code I have tried:

import cv2
import numpy as np

def enhance_details_and_reduce_noise(image):
    # Reducing noise
    denoised_image = cv2.medianBlur(image, 3)

    # Enhancing details
    kernel = np.array([[-1, -1, -1], [-1, 9, -1], [-1, -1, -1]]) # unsharp masking kernel
    enhanced_image = cv2.filter2D(image, -1, kernel)

    return denoised_image, enhanced_image

# Load the image
image = cv2.imread('input_image.jpg', cv2.IMREAD_GRAYSCALE)

# Process the image
denoised_image, enhanced_image = enhance_details_and_reduce_noise(image)

# Display the results
cv2.imshow('Denoised Image', denoised_image)
cv2.imshow('Enhanced Image', enhanced_image)
cv2.waitKey(0)
cv2.destroyAllWindows()

Unfortunately, this code does not achieve the desired result of simultaneously enhancing fine details while reducing noise effectively. The output images either have reduced noise but lack essential details or have enhanced details with amplified noise.

I am seeking suggestions on techniques or algorithms that can help me achieve both goals – enhancing fine details and reducing noise – without compromising each other. Any insights or alternative approaches would be greatly appreciated.

答案1

得分: 1

这篇论文提出了一个名为SCENS的新型统一框架,用于在低光照图像中同时增强对比度和抑制噪声。它将观察到的低光照图像分解为照明反射噪声成分。利用二阶总广义变差估计照明,以保持空间平滑度和整体结构,同时通过最小化反射和场景之间梯度的残差来保持反射的分段连续性和细节。

PS: 从IEEE Xplore数字图书馆获取全文通常需要订阅或会员资格。

英文:

This paper proposes a novel and unified framework called SCENS for simultaneous contrast enhancement and noise suppression in low-light images. It decomposes an observed low-light image into illumination, reflectance, and noise components. The illumination is estimated using the second-order total generalized variation to preserve spatial smoothness and overall structure, while the piecewise continuity and fine detail of reflectance are maintained by minimizing the residual of gradients between the reflectance and the scene.

PS: Accessing full-text articles from the IEEE Xplore Digital Library typically requires a subscription or membership.

huangapple
  • 本文由 发表于 2023年7月28日 05:18:19
  • 转载请务必保留本文链接:https://go.coder-hub.com/76783462.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定