红外图像盲元补偿matlab实现源码与效果验证
在国内红外公司绝大多数一直以来国外进口的成像芯片,能够进行红外芯片自助开发的电学应该只有大立光电和广微积电光学方法只有上海巨哥和一直未能产 品化的昆山光微电子。由于政治和历史原因,欧美对中国大陆还是实行武器以及相关的禁运。红外作为重要的军品广发应用于单兵夜视和武器制导也被有条件的封 锁。国内拿到的电学红外探测器一般为B类品或C类,这就会导致会有相对于A类品更多比率的盲元。B;类品盲元的比例一般为320*240 探测器在五十左 右。红外探测器本身的工艺成熟度也决定了了相对于cmos的可见光成像芯片更多的盲元。在可见光图像处理中一般已将无需盲元处理了。
对于盲元的定义,现在一般是定义为低于或高于平均相应的多少百分点。具体的百分点各公司研究所不近相同,也因应用的区域和行业不同而有所区别。
对于盲元处理一般采取的方式:
1.对于低硬件和运算周期的消耗,低复杂度一般采用相邻位像素直接替代、相邻位上下左右四位或周围八位像素进行差值运算。
2.对于资源多切要求高的应用,可以采用滤波找到边缘进行盲元位相应的趋势预测而不是简单的平均
本文只做原理示例 故采用第一种
一般盲元数相对于温度会呈现出线性上升的特性,故以下的处理方式可采用分段方式检测盲元,这里知识采用了一个温度段。产品上盲元的偏出平均响应比较多的是定位为偏出平均10%,本文为了效果明显就定的比较高。
具体源码如下:
clear;
clc;
%%%%%%%%%%%%%%低温单帧图像取值%%%%%%%%%%%%%
save3 =zeros(3,2,'uint16');
fid = textread('3005b.txt','%s');
fid1 = hex2dec(fid);
save3(:,:) = reshape(fid1,3,2);
sample1 = zeros(3,2,'double');
sample1 = save3(:,:);
subplot(2,2,1),imshow(uint8(sample1));
title('T1温度原始图');
%%%%%%%%高温单帧图像取值%%%%%%%%%%%%%%%
save3 =zeros(3,2,'uint16');
fid = textread('7005b.txt','%s');
fid1 = hex2dec(fid);
save3(:,:) = reshape(fid1,3,2);
sample2 = zeros(3,2,'double');
sample2= save3(:,:);
subplot(2,2,2),imshow(uint8(sample2));
title('T2温度原始图');
%%%%%%%%%%%%%%%计算平均响应率%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
avr1=sum(sample1(:))/(3*2);
avr2=sum(sample2(:))/(3*2);
avr_response = avr2 - avr1;
%%%%%%%%%%%%%%%设定门限%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
H_rat = 0.4;%定义盲元的象元偏差率
H_threshold = avr_response*(1+H_rat);%临界阈值上限
L_threshold = avr_response*(1-H_rat);%临界阈值下限
%%%%%%%%%%%%%%计算盲元%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
sample3 = reshape(sample1,1,6);
sample4 = reshape(sample2,1,6);
signal_pixel = zeros(1,6,'double');
for i = 1:6;
signal_pixel(1,i) = sample4(1,i)- sample3(1,i);%各象元响应率
if signal_pixel(1,i)>H_threshold || signal_pixel(1,i)<L_threshold
signal_pixel(1,i) = signal_pixel(1,i-1);%盲元后一象元替代
end
end
%%%%%%%%%%%%%%显示盲元补偿后效果%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
sample3 = zeros(3,2,'double');
sample3 = reshape(signal_pixel,3,2);
subplot(2,2,3),imshow(uint8(sample3));
title('盲元补偿后');

可以自己造图才跑,数据文件上传太繁琐了就没上传,如果有兴趣可以找我来要。
QQ:356636122
红外图像盲元补偿matlab实现源码与效果验证的更多相关文章
- 红外图像处理之直方图均衡的matlab源码与效果验证
红外图像是热辐射成像,由于场景中的目标与背景的温差相对较小,红外图像的动态范围大.对比度 低, 信噪比也较可见光图像的低.为了能够从红外图像中正确地识别出目标,必须对红外图像进行增强处理.一般红外探测 ...
- 菜鸟系列Fabric源码学习 — MVCC验证
Fabric 1.4 源码分析 MVCC验证 读本节文档之前建议先查看[Fabric 1.4 源码分析 committer记账节点]章节. 1. MVCC简介 Multi-Version Concur ...
- OpenCV3三种超像素分割算法源码以及效果
OpenCV3中超像素分割算法SEEDS,SLIC, LSC算法在Contrib包里,需要使用Cmake编译使用.为了方便起见,我将三种算法的源码文件从contrib包里拎了出来,可以直接使用,顺便比 ...
- AccessTokenValidation3 源码分析 jwttoken验证流程图
processon分享地址:https://www.processon.com/view/link/5c6a0b59e4b08a7683c40fc5
- python3开发进阶-Django框架中form的查看校验方法is_valid()的源码,自定义验证方法
form表单的校验方法is_valid() 点开我们发现这个函数里面只有两个方法方法,最终返回True or False 我们点进.is_bound属性,里面判断传输的数据不是空和上传文件不是空 点进 ...
- 第二篇:白话tornado源码之待请求阶段
上篇<白话tornado源码之一个脚本引发的血案>用上帝视角多整个框架做了一个概述,同时也看清了web框架的的本质,下面我们从tornado程序的起始来分析其源码. 概述 上图是torna ...
- [AYUI]QQ管家源码已经开源
(0-50元 黑色字体 享受AY 1周的 ayui 技术问答) (50-100元 绿色字体 享受AY 15天的 ayui 技术问答) (100-150元 蓝色字体 享受AY 20天的 ayui ...
- MyBatis 源码分析 - 配置文件解析过程
* 本文速览 由于本篇文章篇幅比较大,所以这里拿出一节对本文进行快速概括.本篇文章对 MyBatis 配置文件中常用配置的解析过程进行了较为详细的介绍和分析,包括但不限于settings,typeAl ...
- tornado源码分析系列一
先来看一个简单的示例: #!/usr/bin/env python #coding:utf8 import socket def run(): sock = socket.socket(socket. ...
随机推荐
- C# SendMail 发送邮件
最近因为用的发送邮件的地方,就查询了资料,总结以下几个方法 1.利用新浪邮箱发送 2.利用公司邮箱发送 3.利用CDO发送,这种方式要引用Interop.ADODB.dll(http://www.no ...
- Concise: Compressed ’n’ Composable Integer Set
Word Aligned Hybrid (WAH) bitmap compression 下面是:Concise: Compressed ’n’ Composable Integer Set Figu ...
- 高精度整数 - a+b(王道)
题目描述: 实现一个加法器,使其能够输出a+b的值. 输入: 输入包括两个数a和b,其中a和b的位数不超过1000位. 输出: 可能有多组测试数据,对于每组数据,输出a+b的值 样例输入: 2 6 1 ...
- angular directive 深入理解
由于业务的需要,最近angular 的diretive 研究的比较多,有和同事一起共同协作开发scada的项目, 对directive 有了进一步更深的理解. 感觉才开始真正理解了这句话的意思: In ...
- IT痴汉的工作现状21-Android开发前景论
饭间闲谈 齐天.周权和我是饭搭子.总是边吃边聊一些与技术.汽车和女人相关的话题. "前阵子Nokia裁员之事不知道完没完?这艾洛普挺能作啊."我吃着香喷喷的过桥米线说." ...
- JavaScript原生函数(内置函数)
1.JavaScript原生函数(内置函数) JavaScript原生函数(内置函数)有: String() Number() Boolean() Array() Object() Function( ...
- gdb调试多进程和多线程命令(转)
1. 默认设置下,在调试多进程程序时GDB只会调试主进程.但是GDB(>V7.0)支持多进程的分别以及同时调试,换句话说,GDB可以同时调试多个程序.只需要设置follow-fork-mode( ...
- object hook实现禁止创建文件
object hook实现禁止创建文件 原理不说了,大伙都懂得.. 要解决的问题: ,FILE_NON_DIRECTORY_FILE); if (!NT_SUCCESS(status)) { dpri ...
- Atitit.atijson 类库的新特性设计与实现 v3 q31
Atitit.atijson 类库的新特性设计与实现 v3 q31 1. V1版本---集成了多引擎1 2. V2版本新特性 --bsh脚本化2 3. V3版本新特性---循环引用解决使用fastjs ...
- There's no Qt version assigned to this project for platform Win32. Please use the 'change Qt version' feature and choose a valid Qt version for this platform.
这个是用在vs2015时爆出的问题. 解决方法是: 1.鼠标放置在解决方案中的工程名处,用鼠标右键点击(右击). 2.选择Qt Project Settings,在弹出的对话框中的version栏处填 ...