Algoritmo DDE (Mejora de detalles digitales) "Mejora de datos de imagen infrarroja"

Detalles del procesamiento DDE

  1. Separación de capas de fondo y de detalle: mediante filtros especiales, la imagen se separa en capas de fondo y de detalle. Las capas de fondo suelen contener información de baja frecuencia, mientras que las capas de detalle contienen información de alta frecuencia.

  2. Mejora de escala de grises en la capa de fondo: mejore el contraste y la percepción visual de la capa de fondo aplicando un algoritmo de mejora de escala de grises adecuado a la capa de fondo.

  3. Mejora de detalles y supresión de ruido en la capa de detalles: la capa de detalles contiene la información detallada de la imagen, y se pueden usar métodos de procesamiento no lineal, como algoritmos mejorados de nitidez o de mejora de bordes, para mejorar los detalles y suprimir el ruido.

  4. Ajuste de rango dinámico: de acuerdo con el rango dinámico general de la imagen, ajuste y comprima el rango dinámico de la capa de fondo y la capa de detalles para asignar la información de la imagen original con un alto rango dinámico al rango de la salida de 8 bits imagen.

  5. Imagen de salida compuesta: recomponga la capa de fondo mejorada y la capa de detalles en una imagen de salida de 8 bits para mostrar grandes diferencias dinámicas de temperatura y orientar la información local detallada.

Como se mencionó anteriormente, la tecnología DDE puede extraer y resaltar los detalles de la imagen a través de pasos como la separación de filtros, el procesamiento de la capa de fondo y la capa de detalles, y el ajuste del rango dinámico, y limitarlos a imágenes de salida de 8 bits para preservar grandes diferencias dinámicas de temperatura y detalles de las piezas de destino.

Separe las capas de fondo y detalle:

Mejora en escala de grises de la capa de fondo:

El efecto de los dos métodos.

Ecualización de histograma adaptable

tramo de contraste

Mejora de detalles en la capa de detalles

Comparación de resultados:

algoritmo DDE

 Aplicar ecualización de histograma directamente a la imagen de entrada

Aplica ecualización de histograma adaptable directamente a la imagen de entrada

Ecualización de histograma adaptable (mejora de contraste local)

Qué características de la imagen se aprenden mediante el aprendizaje profundo:

Características de borde: bordes, donde la escala de grises o los cambios de color

Característica de textura: es decir, la estructura local repetida en la imagen.

Características de la forma: incluido el contorno del objeto, las características geométricas de la forma

Características de color: características de color de diferentes espacios de color, incluida la distribución de color, el histograma de color

Características de la estructura espacial: la relación de la estructura espacial entre diferentes objetos, incluida la posición relativa, el tamaño, la dirección y otras características de los objetos.

Características jerárquicas: desde características locales de bajo nivel hasta características semánticas de alto nivel

Resumen personal:

Hice la mejora de datos DDE para la detección de objetivos infrarrojos

Personalmente, siento que el algoritmo DDE aumenta la discriminación entre el fondo y el primer plano, mejora el contraste de la imagen y, al mismo tiempo, las características y los rasgos de los bordes son muy claros.

Sin embargo, la ecualización del histograma se siente un poco demasiado expuesta, y las características y los rasgos de los bordes no están claros.

Después de la ecualización adaptativa del histograma, las características de los bordes y las características de los rasgos también son relativamente claras.

El algoritmo DDE parece más cómodo a simple vista que el histograma adaptativo, pero aún debe combinarse con el entrenamiento del modelo para ver si el algoritmo DDE es mejor que el histograma adaptativo.

código:

#include <opencv2/opencv.hpp>

using namespace cv;


int main()
{
    // 读取输入图像
    Mat inputImage = imread("/home/jason/work/01-img/infrared.png",IMREAD_GRAYSCALE);
    imshow("input", inputImage);

    // -------------------
    // 执行DDE细节增强
    // -----------------

    // 第一步:滤波器分离低频和高频信息
    Mat blurImg, detailImg;
    GaussianBlur(inputImage, blurImg, Size(0, 0), 10);
    detailImg = inputImage - blurImg;
    imshow("blur", blurImg);
    imshow("detai", detailImg);

    // 第二步,对低频信息应用合适的灰度增强算法
    Mat enhancedBlurImg, enhancedDetailImg;

//    double min_val, max_val;// 拉伸对比度
//    cv::minMaxLoc(blurImg, &min_val, &max_val);
//    cv::convertScaleAbs(blurImg, enhancedBlurImg, 255.0/ (max_val - min_val), -255.0 * min_val/ (max_val - min_val));

    cv::Ptr<cv::CLAHE> clahe = cv::createCLAHE(2.0, cv::Size(8,8)); // 自适应直方图均衡化,用于灰度增强
    clahe->apply(blurImg, enhancedBlurImg);
    imshow("enhancedBlurImg", enhancedBlurImg);

    Mat enhancedBlurImg_blur;
    cv::bilateralFilter(enhancedBlurImg, enhancedBlurImg_blur, 9, 75, 75); // 双边滤波,用于去除噪声
    imshow("enhancedBlurImg-blur", enhancedBlurImg_blur);


    // 第三步,对高频信息应用合适的细节增强和噪声抑制算法
     cv::Ptr<cv::CLAHE> clahe_ = cv::createCLAHE(); // 自适应直方图均衡化(局部对比度增强),可增强细节
     clahe_->setClipLimit(4.0);
     clahe_->apply(detailImg, enhancedDetailImg);
     imshow("enhancedDetailImg", enhancedDetailImg);


//     Mat enhancedDetailImg_blur;
//     cv::fastNlMeansDenoising(enhancedDetailImg, enhancedDetailImg_blur, 10, 10, 7); // NL-Means非局部均值去噪,可抑制噪音
//     imshow("enhancedDetailImg_blur", enhancedDetailImg_blur);

    // 第四步
    // 合成最终的输出图像
     Mat output;
    cv::addWeighted(enhancedBlurImg, 0.3, enhancedDetailImg, 0.7, 0,output);
    imshow("output", output);


    // -------------
    // 自适应直方图均衡化、直方图均衡化来对比DDE算法效果
    // -----------
    Mat out2;
    cv::Ptr<cv::CLAHE> clahe2 = cv::createCLAHE(2.0, cv::Size(8,8)); // 自适应直方图均衡化,用于灰度增强
    clahe2->apply(inputImage, out2);
    imshow("自适应直方图均衡化", out2);

    Mat out3;
    cv::equalizeHist(inputImage, out3);
    imshow("直方图均衡化", out3);



    // 等待按键退出
    waitKey(0);

    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/weixin_45824067/article/details/131752883
Recomendado
Clasificación