煤矸双能X射线透射图像不均匀较正

因X射线成像扇形效应影响,不同位置的探测器采集到的X射线强度不一,实际X射线输出的图像背景明暗相间,呈现条纹状分布。图像滤波只能一定程度上消除噪声,而无法对不均匀进行校正。另外由于探测器每个成像像元都有自己的偏置量和增益,即便是在相同X射线辐射强度下,输出的信号强度也会表现出不一致。探测器闪烁体的材质、制作工艺、安装误差等都会使得不均匀性无法改变。均一化的背景值对目标分割和特征提取具有重要意义,目前常用的校正方法有线性校正、非线性校正和分段多点校正,其中线性校正分为一点校正和两点校正。我们之前对噪声进行了滤波处理,并未对本底噪声进行去除,那么本文还将通过不均匀校正将本底噪声进一步去除。

对于成像不均匀的校正结果评价,主要以非均匀度CV进行评价,又被称为差异系数。非均匀度是图像矩阵的标准差与均值期望的百分比,非均匀度越小,数据离散程度越小,表示图像的均匀度越好。

Snipaste_2024-04-12_10-22-45.png

图像矩阵的均值和标准差:

Snipaste_2024-04-12_10-22-54.png

Snipaste_2024-04-12_10-23-02.png

分别采用一点法和两点法校正X射线低能区空载背景图像和有物料的图像,其中一点法与两点法定标点X射线辐射能量参数为160 KeV。两点法的另一个定标点为关闭X射线采集到的信号输出,目的在于去除本底值的影响。经过一点法与两点法校正后图像背景像素灰度值为104.5,背景值可依据需求调整。

如表所示,采用一点法校正空载图像,其均匀度最佳,仅0.65%,相对原图像提高96.91%。但是对于有物料时的校正效果较差,相对原图像均匀度仅提高11.78%。两点法相对原图像,可将空载图像均匀度提高94.91%,有物料的图像均匀度提高20.93%。对原图像采用高斯滤波并不会提高图像的均匀度,也即不会对产生的条纹缺陷起到削弱作用。

Snipaste_2024-04-12_10-25-36.png

一点法校正

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
%一点校正法
clc
clear all;
close all;
%导入空载图像
High_KZ = imread('C:\Users\雷子\Desktop\图像校正复原\2020_8_20_9_23_26_941_H.bmp');
W = fspecial('gaussian',[3,3],0.8);
High_KZ= imfilter(High_KZ, W, 'replicate');


Y_iF2 = mean(mean(High_KZ(80:500,:)));
D = mean(High_KZ(80:500,:))-Y_iF2;


%对空载背景进行校正,首先是不对背景做滤波处理
High_jx = zeros(1000,1088);
for j = 1:1000
for i = 1:1088
High_jx(j,i) = double(High_KZ(j,i))-D(:,i);
end
end
figure,imshow(uint8(High_jx),[0,135]);

%测试有物料的图像
High_Y = imread('C:\Users\雷子\Desktop\图像校正复原\2020_8_20_9_23_28_719_H.bmp');
High_jY = zeros(1000,1088);
High_Y = imfilter(High_Y , W, 'replicate');
%图像滤波
% High_Y=medfilt2(High_Y,[3 3]);
for j = 1:1000
for i = 1:1088
High_jY(j,i) = double(High_Y(j,i))-D(:,i);
end
end
imshow(uint8(High_jY),[]);
plot(High_KZ (500,:)),hold on;%绘制第500行
plot(High_jx(500,:));

plot(High(500,:)),hold on;
plot(High_jY(500,:));

%高斯滤波
%W = fspecial('gaussian',[3,3],0.8); %创建高斯滤波器
%K8= imfilter(High_Y, W, 'replicate'); %对椒盐噪声进行高斯滤波

%计算均值、方差、标准差
ME = mean(mean(High_jY));

for i = 1:1000
for j = 1:1088
STD1(i,j)= double((double(High_jY(i,j))-ME)^2);
end
end
STD = (sum(sum(STD1))/(1000*1088))^(1/2);
DET = STD/ME;

一点法校正后空载图像:

Snipaste_2024-04-12_10-30-06.png

Snipaste_2024-04-12_10-31-05.png

一点法校正后有物料图像:

Snipaste_2024-04-12_10-34-15.png

Snipaste_2024-04-12_10-35-10.png

两点法校正

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
%两点校正法
clc
clear all;
close all;
%导入空载图像
High_KZ = imread('C:\Users\雷子\Desktop\桌面文件\图像校正复原\2020_8_20_9_23_26_941_H.bmp');
W = fspecial('gaussian',[3,3],0.8);
High_KZ= imfilter(High_KZ, W, 'replicate');
figure,imshow(High_KZ);
% plot(High_KZ(:,500));
%plot(High_KZ(500,:));
%导入关闭射源图像
High_GB = imread('C:\Users\雷子\Desktop\桌面文件\图像校正复原\2020_8_20_11_18_41_290_H.bmp');
High_GB= imfilter(High_GB, W, 'replicate');
figure,imshow(High_GB);
% 图像滤波
% High_KZ=medfilt2(High_KZ,[3 3]);
% High_GB=medfilt2(High_GB,[3 3]);

Y_iF1 = mean(High_GB(80:500,:));
Y_iF2 = mean(High_KZ(80:500,:));

O_F1 =mean(Y_iF1);
O_F2 = mean(Y_iF2);

Z=(O_F1-O_F2 )./(Y_iF1-Y_iF2);
P=(Y_iF1.*O_F2-Y_iF2.*O_F1)./(Y_iF1-Y_iF2);

%对空载背景进行校正,首先是不对背景做滤波处理
High_jx = zeros(1000,1088);
for j = 1:1000
for i = 1:1088
High_jx(j,i) = double(High_KZ(j,i)).*Z(1,i)+P(1,i);
end
end
figure,imshow(uint8(High_jx),[0,135]);

% plot(High_jx(500,:));hold on;
% plot(High_KZ(500,:));

%测试有物料的图像
High_Y = imread('C:\Users\雷子\Desktop\桌面文件\图像校正复原\2020_8_20_9_23_28_719_H.bmp');
High_jY = zeros(1000,1088);
High_Y = imfilter(High_Y , W, 'replicate');
%图像滤波
% High_Y=medfilt2(High_Y,[3 3]);
for j = 1:1000
for i = 1:1088
High_jY(j,i) = double(High_Y(j,i)).*Z(1,i)+P(1,i);
end
end
imshow(uint8(High_jY),[]);

plot(High_KZ (500,:)),hold on; %绘制第500行
plot(High_jx(500,:));

plot(High_Y(500,:)),hold on;
plot(High_jY(500,:));
%计算均值、方差、标准差
ME = mean(mean(High_jx));

for i = 1:1000
for j = 1:1088
STD1(i,j)= double((double(High_jx(i,j))-ME)^2);
end
end
STD = (sum(sum(STD1))/(1000*1088))^(1/2);
DET = STD/ME;

两点法校正后空载图像:

Snipaste_2024-04-12_10-42-39.png

Snipaste_2024-04-12_10-42-25.png

两点法校正后有物料图像:

Snipaste_2024-04-12_10-47-05.png

Snipaste_2024-04-12_10-46-14.png

直观上看一点校正与两点校正均能够得到较均匀的图像。但是对于有物料的图像,采用一点校正法时,大厚度的煤矸中间条纹仍然清晰可见。一点法对空载图像校正的均匀度较好的原因在于其对图像左右边缘的处理效果较好,降低了数值离散程度。但一点法校正处理有物料的图像时对于大厚度的煤矸效果较差,不仅存在条纹而且会出现负值,偏离原来的成像像素灰度值。两点法校正对有物料的情况处理能够很好的贴合实际像素变化,仅在成像的左右边缘出现一定波动,而边缘部分一般不存在物料不被关注。因此采用两点法校正X射线图像,对于高能区的图像校正与低能区校正相同,在此不做赘述。