红外图像盲元补偿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. ...
随机推荐
- python安全编程
##入门 这将是第一个一系列关于python编程的博客文章.python是一门非常强大的语言,因为它有信息安全社区的支撑.这意味着很多工具都是由python编写并且可以在脚本中调用很多模块.使用模块的 ...
- 10道典型的JavaScript面试题
问题1: 作用域(Scope) 考虑以下代码: (function() { ; })(); console.log(b); 上述代码会打印出5.这个问题的陷阱就是,在立即执行函数表达式(IIFE)中, ...
- [Python爬虫] 之十八:Selenium +phantomjs 利用 pyquery抓取电视之家网数据
一.介绍 本例子用Selenium +phantomjs爬取电视之家(http://www.tvhome.com/news/)的资讯信息,输入给定关键字抓取资讯信息. 给定关键字:数字:融合:电视 抓 ...
- CentOS下vi编辑器
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于对Unix及Linux系统的任何版本,vi编辑器是完全相 ...
- 转:TensorFlow和Caffe、MXNet、Keras等其他深度学习框架的对比
http://geek.csdn.net/news/detail/138968 Google近日发布了TensorFlow 1.0候选版,这第一个稳定版将是深度学习框架发展中的里程碑的一步.自Tens ...
- ionic在iOS中打包失败
在ios中打包失败,遇上这样的错误 解决办法,查看index.html的权限是否是只读状态,如果是,改成可读可写,再次打包重试,成功!
- Spine U3D整合流程问题
Spine U3D整合流程问题 What: 公司2d项目开发,动画外包的spine.本来在spine里面一切正常,但是导入u3d运行库的时候动画切换的时候原来的动画是好的,一旦切换了就乱帧了. 如下结 ...
- 【Python3 爬虫】11_报错No module named 'requests'
从网上下载了一段源码,执行过程中报错: No module named 'requests' 一看英文就明白是咋回事了~ 是由于:没有模块requests 解决方案 打开cmd,在窗口运行命令:pip ...
- 每日一个机器学习算法——LR(逻辑回归)
本系列文章用于汇集知识点,查漏补缺,面试找工作之用.数学公式较多,解释较少. 1.假设 2.sigmoid函数: 3.假设的含义: 4.性质: 5.找一个凸损失函数 6.可由最大似然估计推导出 单个样 ...
- 工作总结 管理NuGet 程序包 中 找不到 npoi 怎么办
在设置里 勾选 可用程序包源