『红外图像 数据增强』DDE(Digital Detail Enhancement)算法
DDE处理的细节
分离背景层和细节层:使用特殊的滤波器,将图像分成背景层和细节层。背景层通常包含低频信息,而细节层包含高频信息。
对背景层进行灰度增强:通过对背景层应用适当的灰度增强算法,提高背景层的对比度和视觉感知。
对细节层进行细节增强和噪声抑制:细节层中包含着图像的细节信息,可以利用非线性处理方法,例如增强锐化或边缘增强算法来增强细节,并抑制噪声。
动态范围调整:根据图像的整体动态范围,对背景层和细节层进行动态范围的调整和压缩,以便将原本动态范围较高的图像信息映射到8位输出图像的范围内。
合成输出图像:将增强后的背景层和细节层重新合成为一幅8位输出图像,以显示大动态温差和目标局部细节信息。
如上,DDE技术通过滤波器分离、背景层和细节层的处理、动态范围调整等步骤,能够提取和突出图像的细节,并将其限制在8位输出图像中,以保留大动态温差和目标局部的细节信息。
分离背景层和细节层:
对背景层进行灰度增强:
两种方法的效果
![](/assets/blank.gif)
![](/assets/blank.gif)
对细节层进行细节增强
结果比对:
![](/assets/blank.gif)
![](/assets/blank.gif)
直接对输入图像应用自适应直方图均衡化
![](/assets/blank.gif)
深度学习学习到图像的哪些特征:
边缘特征:边缘,即灰度或颜色变化的地方
纹理特征:即图像中重复的局部结构
形状特征:包括物体的轮廓,形状的几何特征
颜色特征:不同颜色空间的颜色特征,包括颜色分布、颜色直方图
空间结构特征:不同物体之间的空间结构关系,包括物体的相对位置、大小、方向等特征
层次结构特征:从低层次的局部特征到高层次的语义特征
个人总结:
我是为了做红外目标检测才做的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 更新
感觉
『红外图像 数据增强』DDE(Digital Detail Enhancement)算法相关推荐
- 机器学习隐私研究新进展:数据增强风险被低估,新算法“降服”维数依赖
编者按:如今,数据是推动人工智能创新的核心要素.但数据的安全和隐私问题限制了数据充分释放其潜能.一直以来,微软都倡导打造负责任的人工智能,并正在开发和利用多种技术以提供更强大的隐私保护.确保数据安全. ...
- 从 CV 到 NLP,深度学习领域的数据增强有哪些?
2019-12-09 04:31:10 作者 | 张宁(哈工大SCIR) 编辑 | 唐里 本文转载自公众号 哈工大SCIR 数据增强(Data Augmentation)是一种通过让有限的数据产生更多 ...
- 大杀器!攻克目标检测难点秘籍四,数据增强大法
点击上方"AI算法修炼营",选择加星标或"置顶" 标题以下,全是干货 前面的话 在前面的秘籍一:模型加速之轻量化网络.秘籍二:非极大抑制算法和回归损失优化之路. ...
- c语言程序乔奎,『C 基础入门』C语言的数据序列化
新推波形开秤才子惹眼,捕鱼球节频度驿亭翘板.封神崴瑞侧室佩带盘存寺里!契刻嘟囔笑窝明智发泡画策『C 基础入门』C语言的数据序列化?浓度满袋伴娘冷烫拿放杀戮行者酷爱,『C 基础入门』C语言的数据序列化伴 ...
- 系列 | 漫谈数仓第四篇NO.4 『数据应用』(BIOLAP)
点击上方蓝色字体,置顶/星标哦 目前10000+人已关注加入我们 本文目录CONTENTS ☞ 01.可视化BI工具 [ 开源BI,商业BI,传统BI ] ☞ 02.OLAP科普 [ ROLAP M ...
- 『Oracle数据复制容灾案例系列』兴业证券Oracle容灾案例
『Oracle数据复制容灾案例系列』 兴业证券Oracle数据库复制容灾案例 使用产品:DDS 上线时间:2006 系统环境:Oracle 10g RAC IBM AIX5L 应用系统:恒生 证 ...
- 手把手教你爬取PC端『某酷视频』个人历史播放数据,并可视化展示
大家好,我是阿辰,今天手把手教你爬取PC端『某酷视频』个人历史播放数据,并可视化展示 上次有粉丝说,那个是ios手机,安卓手机现在需要root权限才可以安装证书,那么今天就不以手机为例,以电脑PC端为 ...
- 『Oracle数据复制容灾案例系列』中银国际证券Oracle容灾案例
『Oracle数据复制容灾案例系列』 中银国际证券Oracle数据库容灾案例 使用产品:DDS 上线时间:2007 系统环境:Oracle 10g RAC 惠普 安腾 IA 64 HPUX 11. ...
- 『 云原生·Docker』Docker容器数据卷
系列文章目录 本系列主要分为以下六大部分,正在更新中,尽请期待! 『 云原生·生之门』 『 云原生·前置知识』 『 云原生·Docker』 『 云原生·Kubernetes』 『 云原生·KubeSp ...
最新文章
- 为什么阿里巴巴禁止使用存储过程?
- 计算机二级公共基础知识证书,计算机二级公共基础知识
- Android + Eclipse + PhoneGap 2.9.0 安卓最新环境配置,部分资料整合网上资料,已成功安装....
- Ajax响应处理数据的三种格式(主要使用gson包)
- 如何防止表单的重复提交
- node.js微博案例第二讲
- python数独游戏源代码100行_python实现自动解数独小程序
- 台式计算机怎么设置屏幕常亮,怎么设置电脑屏幕一直亮着
- 跟据URL来实现WebService
- android traceview工具,[Android]Android TraceView工具使用
- 零元学Expression Design 4 - Chapter 4 教你如何自制超炫笔刷
- R 语言图形函数 par()参数应用举例
- Android实验五-组件通信2
- 小程序云开发实现微信支付完整代码
- TortoiseGit设置中没有远端设置问题
- 计算机英语大专期末考试,电子科技大学《大学英语2(专科)》20春期末考试【标准答案】...
- 汇市经典好文:Y先生稳定赚18.2万美金
- 不使用除法的“除法”
- 最详细Vuex教程(超详细)-基本使用
- 照片怎么在线压缩?怎么压缩照片大小?
热门文章
- uni-app base64加密解密
- 超棒的CSS开源UI界面元素类库 - TopCat
- 算法:通过普利姆(Prim)算法,求出图的最小生成树
- 谈谈安卓的Bitmap与Drawable
- aleve计算机科学,多伦多大学alevel要求 多伦多大学有哪些专业
- [车联网安全自学篇] Car Hacking之汽车TSP (Telematics Service Provider) 服务浅析
- ElasticSearch学习_陶文3_时间序列数据库的秘密(3)——加载和分布式计算
- (十一)ApplicationContext详细介绍(上)
- 幸福人生讲座(五):中国人的生涯规划
- EXCEL 2016:IF如何表示逻辑与、逻辑或