红外图像盲元补偿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. ...
随机推荐
- linux基础-第二十单元_计划任务crond服务
第二十单元 计划任务crond服务 什么是计划任务:后台运行,到了预定的时间就会自动执行的任务,前提是:事先手动将计划任务设定好.这就用到了crond服务 crond服务相关的软件包[root@MiW ...
- struts2文件上传时获取上传文件的大小
利用struts2框架上传文件时,如果想要获取上传文件的大小可以利用下面的方式进行: FileInputStream ins = new FileInputStream(file); if (ins. ...
- ClassNotFoundException和 NoClassDefFoundError区别验证
首先NoClassDefFoundError是一个错误,而ClassNotFoundException是一个异常 NoClassDefFoundError产生的原因: 如果JVM或者Classload ...
- cadvisor详解
一. cadvisor和k8s的耦合 cadvisor是一个谷歌开发的容器监控工具,它被内嵌到k8s中作为k8s的监控组件.现在将k8s中的cadvisor实现分析一下. k8s中和cadvisor的 ...
- ChannelHandlerContext writeAndFlush(firstMessage)
- git学习——分支
分支 创建分支:git branch 如:git branch testing Git通过HEAD指针知道用户是在哪一个分支上工作. 切换分支用git checkout命令,注意:可以用git sta ...
- javascript - 一种对象赋值方式
/** * step1: * 结果为:1,'2' */ let opt = { num: 1, str: '2' } let { num, str } = opt; console.log(num, ...
- 大话项目管理工具之Jira篇
前言 上一篇文章谈的是知识管理工具 -- Confluence,它来自澳大利亚 Atlassian 公司. 非常凑巧的是,今天要介绍的 JIRA 也是来自 Atlassian 公司的.但他不再是知识管 ...
- mui.ajax返回type为abort
最近在使用h5和mui开发app,发现mui.ajax有一个小bug 情况一: 参数和请求路径无误,但是总是调起失败的回调函数,打印出 type=abort (终止请求) 原因: mui.ajax默认 ...
- CHAPTER ONE LOAD-BALANCING
1.1 Synopsis In this part, we will explain how to create a load-balancer withnginxfor a lot of OpenE ...