Transformación logarítmica de imagen.

  La transformación logarítmica de imágenes en escala de grises es una técnica de mejora de imágenes común que se utiliza para mejorar el contraste y los detalles de las imágenes. Esta transformación puede tomar el logaritmo de los valores de píxeles de la imagen original, expandiendo así los valores de píxeles más pequeños a un rango mayor, mientras comprime los valores de píxeles más grandes para lograr mejores efectos visuales.
  La fórmula de transformación logarítmica es la siguiente:
s = c ⋅ log ⁡ ( 1 + r ) s = c \cdot \log(1 + r)s=Ciniciar sesión ( 1+r )
  dondesss es el valor de píxel de la imagen de salida. ccc es un parámetro de ganancia utilizado para ajustar el contraste. RRr es el valor de píxel de la imagen de entrada.
  La clave de esta transformación radica en las propiedades de la función logarítmica, que asigna números positivos más pequeños a un rango mayor mientras comprime números positivos más grandes. Esto resulta útil para ampliar los detalles en áreas de bajo brillo de una imagen y suprimir la sobreexposición en áreas de alto brillo.
  Las siguientes son algunas características y usos de la transformación logarítmica:
  1.Mejorar los detalles de bajo brillo: la transformación logarítmica puede mejorar los detalles de las áreas de bajo brillo en una imagen, haciéndolas más claramente visibles.
  2.Suprimir la sobreexposición de alto brillo: la transformación logarítmica puede suprimir la sobreexposición en áreas de alto brillo de la imagen, haciéndola más suave.
  3.Aumente el contraste general: al realizar una transformación logarítmica en los valores de píxeles de la imagen, puede aumentar el contraste general de la imagen, haciéndola más atractiva visualmente.
  4.Compresión de imagen: la transformación logarítmica puede comprimir valores de píxeles más grandes, haciendo que los detalles de la imagen sean más prominentes.
  Cabe señalar que al realizar una transformación logarítmica, dado que el dominio de la función logarítmica requiere que el valor de entrada sea mayor que cero, en operaciones reales, los valores de los píxeles a menudo se traducen primero para garantizar que todos los valores de los píxeles sean positivos. .
  En la implementación del código, la función de transformación logarítmica de valores de píxeles se puede utilizar para procesar imágenes en escala de grises. El siguiente es un código de ejemplo simple de Python:

import cv2
import numpy as np

class Log_trans:
    def __init__(self,input_path,c):
        self.input_path=input_path
        self.c=c

    def logarithmic_transform(self):
        img=cv2.imread(self.input_path,flags=0)# 读取灰度图像
        if img is None:
            print('Unable to load image!')
            return 0
        else:
            print('Load image successfully!')
            img_trans=np.uint8((self.c)*np.log1p(img))

            self.img_show(img,img_trans)

    def img_show(self,img,img_trans):
        cv2.imshow('img',img)
        cv2.imshow('img_trans',img_trans)
        cv2.waitKey()
        cv2.destroyAllWindows()

# 输入图像文件的路径
imgfile = "./Images/cat.jpg"
# 设置增益参数
c=20
img=Log_trans(imgfile,c)
img.logarithmic_transform()

  En este ejemplo, cel parámetro se utiliza para ajustar la ganancia de contraste y se puede ajustar según sea necesario.

Supongo que te gusta

Origin blog.csdn.net/qq_50993557/article/details/132177383
Recomendado
Clasificación