非均匀性矫正

非均匀性矫正
非均匀性矫正

一、图像的非均匀性矫正

二、图像增强

三、程序代码(MATLAB)%%%%%%%%%%%%%%%%%%%%555555555555555555555555555555555一点矫正HIGH_T=fopen('highdat_151.dat','rb');

HIGH=fread(HIGH_T,[200,200],'uint8');

HIGH=uint8(HIGH); %类型转化为uint8

subplot(321);imshow(HIGH); title('原始高温图像');

subplot(322);mesh(double(HIGH));title('原始高温图像三维显示'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

LOW_T=fopen('lowdat_151.dat','rb');

LOW=fread(LOW_T,[200,200],'uint8');

LOW=uint8(LOW);

subplot(323);imshow(LOW); title('原始低温图像');

subplot(324);mesh(double(LOW)); title('原始低温图像三维显示'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

HAND_D=fopen('handdat_60.dat','rb');

HAND=fread(HAND_D,[200,200],'uint8');

HAND=uint8(HAND);

subplot(325),imshow(HAND); title('原始手形图像');

subplot(326),mesh(double(HAND)); title('原始手形图像三维显示'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%选取低温图进行定标

S=mean2(LOW(:)); % S为定标值

S_LOW=S*ones(200,200);

S_LOW=uint8(S_LOW); %S_LOW为定标矩阵

D_LOW=LOW-S_LOW; %校正系数D_LOW

figure;

HIGH_L=HIGH-D_LOW;

subplot(321);imshow(HIGH_L); title('经低温矫正后的高温图像');

subplot(322);mesh(double(HIGH_L)); title('经低温矫正后的高温图像三维显示'); LOW_L=S_LOW;

subplot(323);imshow(LOW_L); title('经低温矫正后的低温图像');

subplot(324);mesh(double(LOW_L)); title('经低温矫正后的低温图像三维显示'); HAND_L=HAND-D_LOW;

subplot(325);imshow(HAND_L); title('经低温矫正后的原始手图像');

subplot(326);mesh(double(HAND_L)); title('经低温矫正后的原始手图像三维显示'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%选取高温图进行定标

S=mean2(HIGH(:)); % S为定标值

S_HIGH=S*ones(200,200);

S_HIGH=uint8(S_HIGH); %S_LOW为定标矩阵

D_HIGH=HIGH-S_HIGH; %校正系数D_HIGH

figure;

HIGH_H=S_HIGH;

subplot(321);imshow(HIGH_H); title('经高温矫正后的高温图像');

subplot(322);mesh(double(HIGH_H)); title('经高温矫正后的高温图像三维显示'); LOW_H=LOW-D_HIGH;

subplot(323);imshow(LOW_H); title('经高温矫正后的低温图像');

subplot(324);mesh(double(LOW_H)); title('经高温矫正后的低温图像三维显示'); HAND_H=HAND-D_HIGH;

subplot(325);imshow(HAND_H); title('经高温矫正后的原始手图像');

subplot(326);mesh(double(HAND_H)); title('经高温矫正后的原始手图像三维显示');

%%%%%%%%5555555555555555555555555555555555555555两点矫正%%%%%在上述程序基础之上

S_L=mean2(LOW(:)); % S_L为矫正点定标值

S_H=mean2(HIGH(:)); % S_H为矫正点定标值

G_1=S_H-S_L; %数G_1

G_2=HIGH-LOW; %矩阵G_2

G=zeros(200,200);

figure;

G_3=zeros(200,200);

O=zeros(200,200);

HIGH_HL=zeros(200,200);

for x=1:200

for y=1:200

G(x,y)=G_1/G_2(x,y);%乘性增益

G_3(x,y)=G(x,y)*LOW(x,y);

O(x,y)=S_L-G_3(x,y); %加性增益

HIGH_HL(x,y)=HIGH(x,y)*G(x,y)+O(x,y);%对盲元处进行矫正end

end

HIGH_HL=uint8(HIGH_HL);

subplot(321); imshow(HIGH_HL,[]);title('两点矫正后的高温图像');

subplot(322);mesh(double(HIGH_HL)); title('两点矫正后的高温图像三维显示'); LOW_HL=zeros(200,200);

for x=1:200

for y=1:200

G(x,y)=G_1/G_2(x,y);%乘性增益

G_3(x,y)=G(x,y)*LOW(x,y);

O(x,y)=S_L-G_3(x,y); %加性增益

LOW_HL(x,y)=LOW(x,y)* G(x,y)+O(x,y);%对盲元处进行矫正

end

end

LOW_HL=uint8(LOW_HL);

subplot(323);imshow(LOW_HL,[]); title('两点矫正后的低温图像');

subplot(324);mesh(double(LOW_HL)); title('两点矫正后的低温图像三维显示'); HAND_HL=zeros(200,200);

for x=1:200

for y=1:200

G(x,y)=G_1/G_2(x,y);%乘性增益

G_3(x,y)=G(x,y)*LOW(x,y);

O(x,y)=S_L-G_3(x,y); %加性增益

HAND_HL(x,y)=HAND(x,y)* G(x,y)+O(x,y);%对盲元处进行矫正end

end

HAND_HL=uint8(HAND_HL);

subplot(325);imshow(HAND_HL,[]); title('两点矫正后的手图像');

subplot(326);mesh(double(HAND_HL)); title('两点矫正后的手图像三维显示');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%直方图均衡增强

TU=HAND_HL;

graydis=zeros(1,256); %设置矩阵大小

graydispro=zeros(1,256);

new_graydis=zeros(1,256);

new_graydispro=zeros(1,256);

[N,M]=size(TU);

NEW_TU=zeros(N,M);

for x=1:N

for y=1:M

graydis(1,TU(x,y))=graydis(1,TU(x,y))+1;

end

end

graydispro=graydis./sum(graydis);

for i=2:256

graydispro(1,i)=graydispro(1,i)+graydispro(1,i-1);

end

%计算和原始灰度对应的新的灰度t[],建立映射关系

for i=1:256

t(1,i)=floor(254*graydispro(1,i)+0.5);

end

for x=1:N

for y=1:M

NEW_TU(x,y)=t(1,TU(x,y));

end

end

%%%%%%%%%%%%%%%%%%%%5555555555555555555改进图像增强算法I=TU;

m=mean(I(:));%获得图像阈值

for i=1:200

for j=1:200

if I(i,j)>m+2 && I(i,j)<=255 %灰度大于阈值灰度按一定比值进行增加l=I(i,j)-m; %灰度差值

k=20*l/(255-m); %%灰度增加量

I1(i,j)=I(i,j)+k;

else

I1(i,j)=I(i,j)-80; %灰度小于阈值,灰度减小

end

end

end

s=fftshift(fft2(I1));

[a,b]=size(s);

a0=round(a/2);

b0=round(b/2);

d=0.001;

p=0.9;q=1;

for i=1:a

for j=1:b

distance=sqrt((i-a0)^2+(j-b0)^2);

if distance<=d

h=0;

else

h=1;

end

s(i,j)=(p+q*h)*s(i,j);

end

end

s=uint8(real(ifft2(ifftshift(s)))); figure;

subplot(321);imshow(TU,[]);

title('两点矫正后的手图');

subplot(322);mesh(double(TU));

title('对应的三为响应图');

subplot(323);imshow(NEW_TU,[]); title('直方图均衡化后的图'); subplot(324);mesh(double(NEW_TU)); title('对应的三为响应图');

subplot(325);imshow(s,[]);

title('算法增强后所得图像'); subplot(326);mesh(double(s));

title('对应三维响应图');

HDR及一些非均匀性校正算法

HDR High Dynamic Range ,即高动态范围,比如所谓的高动态范围图象(HDRI)或者高动态范围渲染(HDRR)。动态范围是指信号最高和最低值的相对比值。目前的16位整型格式使用从“0”(黑)到“1”(白)的颜色值,但是不允许所谓的“过范围”值,比如说金属表面比白色还要白的高光处的颜色值。在HDR的帮助下,我们可以使用超出普通范围的颜色值,因而能渲染出更加真实的3D场景。也许我们都有过这样的体验:开车经过一条黑暗的隧道,而出口是耀眼的阳光,由于亮度的巨大反差,我们可能会突然眼前一片白光看不清周围的东西了,HDR在这样的场景就能大展身手了。 HDR可以用3句话来概括:亮的地方可以非常亮暗的地方可以非常暗亮暗部的细节都很明显。HDR的处理在显卡中可以分为3个步骤:将画面用高光照动态范围渲染,并储存每个象素的亮度特性;将HDRI画面转成低动态范围的画面(RGBA或是sRGB);色彩和Gamma校正后传送到显示设备输出。 计算机在表示图像的时候是用8bit(256)级或16bit(65536)级来区分图像的亮度的,但这区区几百或几万无法再现真实自然的光照情况。HDR文件是一种特殊图形文件格式,它的每一个像素除了普通的RGB信息,还有该点的实际亮度信息。普通的图形文件每个象素只有0 -255的灰度范围,这实际上是不够的。想象一下太阳的发光强度和一个纯黑的物体之间的灰度范围或者说亮度范围的差别,远远超过了256个级别。因此,一张普通的白天风景图片,看上去白云和太阳可能都呈现是同样的灰度/亮度,都是纯白色,但实际上白云和太阳之间实际的亮度不可能一样,他们之间的亮度差别是巨大的。因此,普通的图形文件格式是很不精确的,远远没有纪录到现实世界的实际状况。所以,现在我们就要介绍一下高动态范围图像(简称HDRI)。 HDR高动态范围渲染目前是一种逐渐开始流行的显示技术,其技术出发点就是让计算机能够显示更接近于现实照片的画面质量。目前在民用领域看到最多HDR技术应用的必然是游戏了。 在现实中,当人从黑暗的地方走到阳光下时,我们的眼睛会不由自主的迷起来,那是因为在黑暗的地方,人为了更好的分辨物体,瞳孔张开很大,以便吸收光线;而突然到了光亮处瞳孔来不及收缩,视网膜上的视神经无法承受如此多的光线,人自然会迷上眼睛阻止大量光线冲击视神经。而电脑是不具备这种功能的。所以,HDR的最终效果因该是亮处的效果是鲜亮的,而黑暗处你也可以清晰的分辨物体的轮廓,位置和深度,而不是以前的一团黑。动态、趋近真实的物理环境是HDR的特效表现原则。 实际游戏中会发现井底水面反射的阳光在墙壁上动态的明亮反光,洞口的明亮天空也会稍微变弱些。这样就能更清晰的表现出水面的反光。如果此时低头看水面会发现水面直接将阳光反射到人眼中很刺眼,但仅仅1秒钟时间光线就会减弱,因为人眼适应了直接反射的阳光。 这就是游戏的曝光控制功能,模拟人眼自动适应光线变化的能力,而不是照相机。HDR并不仅仅是反射的光强度要高。在游戏中,如果你盯着一个面向阳光直射的物体,物体表面会出现丰富的光反射;如果盯着不放,物体表面的泛光会渐渐淡出,还原出更多的细节。HDR特效是变化的,因此称作高动态光照。 热成像的非均匀性校正算法有很多种,红外焦平面非均匀性校正算法主要分为基于定标的非均匀校正算法(如一点温度定标算法、二点温度定标算法、多点温度定标算法)和基于场景的自适应非均匀校正算法(如时域高通滤波(THPFC)算法、人工神经网络(ANNC)算法、恒定统计平均(Cs)校正算法等)。目前二点温度定标算法和多点温度定标算法是最为成熟的实用性算法,但是它需要周期性的对它维护,这给红外成像设备维护工作带来很多困难。而基于场景的非均匀

非均匀性矫正

一、图像的非均匀性矫正

二、图像增强

三、程序代码(MATLAB)%%%%%%%%%%%%%%%%%%%%555555555555555555555555555555555一点矫正HIGH_T=fopen('highdat_151.dat','rb'); HIGH=fread(HIGH_T,[200,200],'uint8'); HIGH=uint8(HIGH); %类型转化为uint8 subplot(321);imshow(HIGH); title('原始高温图像'); subplot(322);mesh(double(HIGH));title('原始高温图像三维显示'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LOW_T=fopen('lowdat_151.dat','rb'); LOW=fread(LOW_T,[200,200],'uint8'); LOW=uint8(LOW); subplot(323);imshow(LOW); title('原始低温图像'); subplot(324);mesh(double(LOW)); title('原始低温图像三维显示'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% HAND_D=fopen('handdat_60.dat','rb'); HAND=fread(HAND_D,[200,200],'uint8'); HAND=uint8(HAND); subplot(325),imshow(HAND); title('原始手形图像'); subplot(326),mesh(double(HAND)); title('原始手形图像三维显示'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%选取低温图进行定标 S=mean2(LOW(:)); % S为定标值 S_LOW=S*ones(200,200); S_LOW=uint8(S_LOW); %S_LOW为定标矩阵 D_LOW=LOW-S_LOW; %校正系数D_LOW figure; HIGH_L=HIGH-D_LOW; subplot(321);imshow(HIGH_L); title('经低温矫正后的高温图像'); subplot(322);mesh(double(HIGH_L)); title('经低温矫正后的高温图像三维显示'); LOW_L=S_LOW; subplot(323);imshow(LOW_L); title('经低温矫正后的低温图像'); subplot(324);mesh(double(LOW_L)); title('经低温矫正后的低温图像三维显示'); HAND_L=HAND-D_LOW; subplot(325);imshow(HAND_L); title('经低温矫正后的原始手图像'); subplot(326);mesh(double(HAND_L)); title('经低温矫正后的原始手图像三维显示'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%选取高温图进行定标 S=mean2(HIGH(:)); % S为定标值 S_HIGH=S*ones(200,200); S_HIGH=uint8(S_HIGH); %S_LOW为定标矩阵 D_HIGH=HIGH-S_HIGH; %校正系数D_HIGH figure; HIGH_H=S_HIGH; subplot(321);imshow(HIGH_H); title('经高温矫正后的高温图像');

红外图像非均匀性校正及增强算法研究

红外图像非均匀性校正及增强算法研究 受限于制造工艺的约束,红外焦平面中各探测像元的光电响应率不一致,即存在非均匀性问题,导致图像中出现固定样式噪声,且具有缓慢的时间漂移性。并且,红外探测器的光电响应动态范围较大,而单幅图像场景的温度范围通常在红外探测器总体动态范围中占比小,导致原始红外图像对比度低、物体边界模糊。 因此,非均匀性校正和图像增强是必不可少的红外图像预处理步骤。本文将围绕基于场景的非均匀性校正和红外图像增强技术展开研究,论文的主要研究内容如下:1.凝视型红外探测器中,传统的基于神经网络的非均匀性校正方法通常假设固定样式噪声满足独立同分布,但在低成本非制冷探测器中,非均匀性的条纹噪声强,噪声分布特性不满足假设,导致现有方法难以兼顾边缘保护与条纹噪声抑制。 针对该问题,本文提出了基于自适应稀疏表示以及局部全局联合约束学习率的非均匀性校正方法,引入稀疏表示理论,利用干净的红外图像集训练出的过完备字典中的原子可稀疏地表示图像场景信息的特性,在自适应的误差容限内重建图像,从而保护图像边缘、将噪声成分当作冗余去除。实验结果表明,在均方根误差指标上,本方法相比传统方法降低了1.1652至1.9107不等、降低了约17.92%至26.37%,能够在保护图像边缘的同时有效去除包括条纹噪声在内的固定样式噪声。 2.扫描型红外探测器中,若直接采用凝视型探测器的非均匀性校正方法,则仍需数百帧图像计算校正系数,算法收敛慢。传统的扫描型探测器校正方法利用扫描成像的特性逐列(假设沿行扫描)更新校正系数,在单帧图像内完成校正。 然而,单帧图像内场景辐射多样性通常有限,导致传统方法易陷入局部最优

红外焦平面阵列非均匀性校正算法的研究

红外焦平面阵列非均匀性校正算法的研究 摘要:红外焦平面阵列普遍存在非均匀性,会严重影响红外成像质量。对非均匀性的主要来源和表现形式进行了探讨,介绍了在工程应用中常用的校正方法,两点温度校正法、时域高通滤波法和人工神经网络法,给出详细的推导,并对几种校正算法进行了分析和研究,对这几种校正算法的优点和缺点进行讨论和综合对比,为进一步开展红外焦平面非均匀性校正提供参考意见。 关键词:红外焦平面阵列非均匀性校正算法对比 Study of Non-uniformity Correction Algorithms for IRFPA Abstract:There usually exist a non-uniformity problem for infrared focal plane arrays.This problem may has a severe influence on the imaging quality of them.The non-uniformity of the major sources and manifestations are discussed.Two temperature correction method,constant statistical average,temporal high-pass filtering and artificial neural network which usually applied in engineering are introduced. Three correction algorithms are analysed and researched, giving a detailed derivation,and advantages and disadvantages of the four correction algorithms are discussed and comprehensively compared. providing a reference suggestions for the further development of non-uniformity correction algorithms for IRFPA.

红外图像非均匀性校正

改进的红外图像神经网络非均匀性校正算法 摘要:红外焦平面阵列(IRFPA)像元响应存在不一致性,会严重影响红外成像系统成像的质量,实际应用中需要采用响应的非均匀性校正(NUC)技术。传统的神经网络校正算法在校正结果中存在图像模糊和伪像的问题,影响人们对于目标的观察。在分析了传统的神经网络性校正算法所出现问题原因的基础上,提出了有效的改进算法:用非线性滤波器代替传统算法中使用的均值滤波器。算法改进之后所得到的校正图像,不仅在清晰度方面有明显的改善,而且有效的消除了传统算法中存在伪像的问题。 关键词:非均匀性;神经网络;模糊;伪像 中图分类号:TN215 文献标识码:A Improved infrared image neural network non-uniformity correction algorithm Abstract:The responsive of infrared focal plane arrays (IRFPA) is different; it will affect the quality of imaging system seriously. Non-uniformity correction technology will need in practical application. The calibrated images have the problems of blurring and existing ghost artifacts when use the traditional neural network correction algorithm. And it is bad for the observation of the target. After analysis the reasons for the problems in the traditional neural network correction algorithm,proposed the improved algorithm. Replace the mean filter, which used in the traditional algorithm, by the nonlinear filter. The corrected image by the improved algorithm not only a marked improvement in clarity, but also effectively eliminate the problem of artifacts in traditional algorithms. Keywords:Non-uniformity; Neural network; Blurring; Ghosting artifacts 0引言 红外技术是20世纪初新出的一种不可见光技术,目前已被广泛应用于军事和民事领域,如红外探测,红外监视等。而IRFPA作为红外技术的核心部分,起着关键的作用,但是IRFPA上存在的非均匀性是影响红外系统的一个重大因素。因此,对于非均匀性的研究是目前广泛讨论的问题。 目前国内外已经出现了多种IRFPA非均匀性校正方法,归纳起来它们大致可以分为两类:基于定标的NUC算法[1],这类算法由于精度高、算法简单,得到了广泛的应用。但是定标类校正方法由于受到IRFPA工作时间和环境的影响,其响应参数会发生缓慢漂移,进而影响校正精度。因此,定标类校正方法通常需要进行周期性定标校正[2],这样在校正过程中就需要设备停止工作,所以会带来很大的不便。第二类是基于场景的NUC算法[3],这类校正算法在一定程度上能够克服IRFPA响应漂移带来的校正误差,并且不需要参考源,因此基于场景的算法成为了目前研究的主要方向。神经网络校正方法以其较好的自适应性和误差跟踪能力而成为场景类校

相关文档
最新文档