2025年『红外图像 数据增强』DDE(Digital Detail Enhancement)算法

『红外图像 数据增强』DDE(Digital Detail Enhancement)算法DDE 处理的细节 分离背景层和细节层 使用特殊的滤波器 将图像分成背景层和细节层 背景层通常包含低频信息 而细节层包含高频信息 对背景层进行灰度增强 通过对背景层应用适当的灰度增强算法 提高背景层的对比度和视觉感知 对细节层进行细节增强和噪声抑制 细节层中包含着图像的细节信息

大家好,我是讯享网,很高兴认识大家。

DDE处理的细节

  1. 分离背景层和细节层:使用特殊的滤波器,将图像分成背景层和细节层。背景层通常包含低频信息,而细节层包含高频信息。
  2. 对背景层进行灰度增强:通过对背景层应用适当的灰度增强算法,提高背景层的对比度和视觉感知。
  3. 对细节层进行细节增强和噪声抑制:细节层中包含着图像的细节信息,可以利用非线性处理方法,例如增强锐化或边缘增强算法来增强细节,并抑制噪声。
  4. 动态范围调整:根据图像的整体动态范围,对背景层和细节层进行动态范围的调整和压缩,以便将原本动态范围较高的图像信息映射到8位输出图像的范围内。
  5. 合成输出图像:将增强后的背景层和细节层重新合成为一幅8位输出图像,以显示大动态温差和目标局部细节信息。

如上,DDE技术通过滤波器分离、背景层和细节层的处理、动态范围调整等步骤,能够提取和突出图像的细节,并将其限制在8位输出图像中,以保留大动态温差和目标局部的细节信息。

分离背景层和细节层:


讯享网

对背景层进行灰度增强:

两种方法的效果

自适应直方图均衡化

对比度拉伸

对细节层进行细节增强

结果比对:

DDE算法

 直接对输入图像 应用 直方图均衡化

直接对输入图像应用自适应直方图均衡化

自适应直方图均衡化(局部对比度增强)

深度学习学习到图像的哪些特征:

边缘特征:边缘,即灰度或颜色变化的地方

纹理特征:即图像中重复的局部结构

形状特征:包括物体的轮廓,形状的几何特征

颜色特征:不同颜色空间的颜色特征,包括颜色分布、颜色直方图

空间结构特征:不同物体之间的空间结构关系,包括物体的相对位置、大小、方向等特征

层次结构特征:从低层次的局部特征到高层次的语义特征

个人总结:

我是为了做红外目标检测才做的DDE数据增强

个人感觉DDE算法将背景和前景区分度加大,提高图像对比度,同时边缘特征、性状特征很清楚

而直方图均衡化有点曝光太强的感觉,边缘特征、性状特征不太清楚

自适应直方图均衡化后,边缘特征、性状特征也比较清楚

DDE算法处理后的比自适应直方图肉眼上看上去更舒服,但是还是需要结合模型训练才能看出DDE算法是否比自适应直方图要好!

代码:

#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; } 

讯享网


2023.07.19 更新

感觉

 

小讯
上一篇 2025-01-14 23:59
下一篇 2025-03-05 15:42

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/69247.html