來源:賽斯拜克 發(fā)表時間:2023-07-07 瀏覽量:497 作者:awei
數(shù)據(jù)處理是高光譜相機應用過程中至關重要的環(huán)節(jié)。本文將介紹數(shù)據(jù)處理的概念、方法以及在高光譜相機中的應用。
數(shù)據(jù)處理是指對原始數(shù)據(jù)進行加工、處理和分析,從而提取有用信息和知識的過程。在高光譜相機應用中,數(shù)據(jù)處理主要包括以下幾個方面:
預處理:對原始數(shù)據(jù)進行去噪、平滑、濾波等處理,以消除噪聲、提高信噪比和光譜分辨率。
特征提?。簩μ幚砗蟮臄?shù)據(jù)進行特征提取,以便實現(xiàn)對不同類別數(shù)據(jù)的區(qū)分和分類。特征提取方法包括主成分分析、偏最小二乘法、支持向量機等。
分類和識別:利用特征提取的結果,對數(shù)據(jù)進行分類和識別。常見的分類和識別方法包括最小距離分類、最大似然分類、支持向量機分類等。
在高光譜相機數(shù)據(jù)處理中,常用的方法包括:
基于像素的分析方法:對每個像素的數(shù)據(jù)進行處理和分析,以獲取像素的光譜特征。這種方法適用于對單個像素的數(shù)據(jù)進行處理和分析。
基于區(qū)域的分析方法:對圖像中的某個區(qū)域進行處理和分析,以獲取該區(qū)域的光譜特征。這種方法適用于對圖像中的某個特定區(qū)域進行處理和分析。
基于整個圖像的分析方法:對整個圖像進行處理和分析,以獲取整個圖像的光譜特征。這種方法適用于對整個圖像進行處理和分析。
數(shù)據(jù)處理在高光譜相機中有著廣泛的應用,主要包括以下幾個方面:
遙感圖像分析:利用數(shù)據(jù)處理技術對遙感圖像進行預處理、特征提取和分類,可以實現(xiàn)對地物的準確識別和分類。
生物醫(yī)學成像:利用數(shù)據(jù)處理技術對生物醫(yī)學圖像進行處理和分析,可以幫助醫(yī)生更準確地診斷疾病。
環(huán)境監(jiān)測:利用數(shù)據(jù)處理技術對環(huán)境監(jiān)測數(shù)據(jù)進行處理和分析,可以更準確地監(jiān)測和評估環(huán)境狀況。
(一)高光譜譜格式轉換之rar轉mat格式
??網(wǎng)上的很多公開高光譜數(shù)據(jù)集(如cave,icvl等)下載下來是raw格式,而一般用神經(jīng)網(wǎng)絡等方法對高光譜數(shù)據(jù)進行分類、訓練、超分辨的時候,大多使用.mat格式的高光譜數(shù)據(jù),礙于網(wǎng)上一直沒有一個系統(tǒng)全面的方法,于是我總結了以下方法,分為兩步:
??
1. 使用ENVI軟件讀取原格式的高光譜數(shù)據(jù),選取需要的光譜通道,裁剪需要的像素區(qū)域,轉化為.tiff格式保存
2. 使用MATLAB軟件編寫代碼批量將.tiff格式數(shù)據(jù)轉化為mat格式光譜數(shù)據(jù)
①RAW轉tiff步驟:
導入高光譜圖像
選擇感興趣的波段和裁剪區(qū)域
保存為tiff格式
②tiff轉mat步驟:
%% 讀取文件夾里的所有tif文件轉化成mat格式(452,25-643.27) 28個通道規(guī)格化到0-1之間的測試集
% path='C:HIS-pre-deal430-740粉末New Folder' %保存放tiff的文件路徑
% A = dir(fullfile(path,'*.tif'));
% A = struct2cell(A);
% num = size(A)
% for i=1:num(2)
% a=A((i-1)*6+1);
% a=a{1};
% deal = importdata(a);
% for j=1:28
% img(:,:,j)=deal(:,:,20+2*j);
% end
% img=single(img)/double(65536);
% k='C:HIS-pre-deal430-740粉末New Folder'; %保存結果的文件路徑
% kk=num2str(i);
% kkk='.mat';
% kkkk=[k,kk,kkk];
% % save(kkkk,'img')
% end
(二)兩種方法把高光譜圖像縮放到0-1的數(shù)據(jù)集
%% 把高光譜圖像轉變成0-1的數(shù)據(jù)集
% % %% 方法一:
% img_expand = importdata('15.mat');
% % % img=im2double(img_expand);
% % % save('C:UsersDesktoptest1.mat','img')
% % %% 方法二:
% c=0;
% for i=1:31 //通道數(shù)為31
% b=max(max(squeeze(img_expand(:,:,i))));
% c=max(b,c);
% end
%img_h = importdata('test6.mat');
% img=double(img)/double(65536);
% save('C:UsersDesktoptest1.mat','img')
(三)高光譜數(shù)據(jù)預處理成規(guī)定大小和規(guī)格的數(shù)據(jù)集
%% 高光譜數(shù)據(jù)預處理成規(guī)定大小和規(guī)格的數(shù)據(jù)(660*660*12) %%%%%%%%
% img_expand = importdata('scene148.mat');
% for i=1:12 //通道數(shù)
% img(:,:,i)=img_expand(1:660,1:660,i); //長寬
% %imshow(img(:,:,i))
% end
% save('C:UsersDesktoptest1.mat','img')
(四)高光譜數(shù)據(jù)增強
由于拍攝的高光譜數(shù)據(jù)總是有限的,而神經(jīng)網(wǎng)絡需要大量的數(shù)據(jù)樣本來訓練擬合,一種行而有效的方式就是數(shù)據(jù)增強。
①旋轉
%% 讀取路徑下的所有mat文件,并左旋轉90(角度自行修改,右旋類似)
% path='C:HIS-pre-deal'
% A = dir(fullfile(path,'*.mat'));
% A = struct2cell(A);
% num = size(A)
% for i=1:num(2)
% a=A((i-1)*6+1);
% a=a{1};
% deal = importdata(a);
% for j=1:28
% dea=imrotate(squeeze(deal(:,:,j)),90);
% img_hs(:,:,j)=reshape(dea,1,512,512);
% end
% kk=num2str(i);
% k='C:HIS-pre-deal左旋轉90';
% kkk='_左旋.mat';
% kkkk=[k,kk,kkk];
% save(kkkk,'img_hs')
% end
②縮放
%% 第一種縮放形式:對高光譜圖像進行大小縮放,并保存到相應文件夾
% size=0.5; //縮放尺度
% for i=1:28
% deal=img(:,:,i);
% img_deal(:,:,i)=imresize(deal,size);
% % subplot(4,7,i)
% % imshow(deal)
% end
% img=0;
% img=img_deal;
% save('C:HIS-pre-dealDeal-imgscene010.mat','img')
%% 第二種縮放形式:剪切。
% img_hs = importdata('scene200.mat');
% for i=1:24
% deal=img_hs(100:429,100:429,i);
% deal=im2double(deal);
% img(:,:,i)=deal;
% % subplot(4,7,i)
% % imshow(deal)
% end
% save('C:HIS-pre-dealDeal-img660-1.mat','img')
(五)論文可用的光譜反射率等曲線對比圖畫法
%% 人物
% x=[455.65 462.49 469.33 476.17 483.02 489.9 496.78 503.65 510.55 517.45 524.36...
% 531.29 538.21 545.15 552.11 559.06 566.02 573.01 579.99 586.99 594.0 601.0 608.03 615.06 622.1 629.16 636.23 643.27];%x軸上的光譜波段值
% a=[0.046328 %a數(shù)據(jù)y值
% 0.042890
% 0.049437
% 0.052339
% 0.055272
% 0.057959
% 0.061730
% 0.064379
% 0.069850
% 0.076214
% 0.089666
% 0.109428
% 0.134469
% 0.151328
% 0.155143
% 0.163445
% 0.160454
% 0.145173
% 0.134909
% 0.119050
% 0.107735
% 0.092402
% 0.078581
% 0.073911
% 0.068458
% 0.066618
% 0.064307
% 0.061029]; %b數(shù)據(jù)y值
% b=[0.050210
% 0.048562
% 0.047848
% 0.048780
% 0.053608
% 0.054584
% 0.062421
% 0.066507
% 0.070665
% 0.082705
% 0.092355
% 0.112599
% 0.148814
% 0.160001
% 0.164293
% 0.159431
% 0.150049
% 0.139673
% 0.123176
% 0.113360
% 0.104669
% 0.093209
% 0.083308
% 0.078677
% 0.072299
% 0.070175
% 0.066874
% 0.067031];
% c=[0.032769 %c數(shù)據(jù)y值
% 0.033612
% 0.033636
% 0.035964
% 0.039693
% 0.044313
% 0.052775
% 0.061756
% 0.073795
% 0.086206
% 0.102327
% 0.120271
% 0.134366
% 0.143251
% 0.146189
% 0.148024
% 0.140879
% 0.133600
% 0.123866
% 0.112065
% 0.106048
% 0.100711
% 0.092865
% 0.086199
% 0.081167
% 0.077816
% 0.073928
% 0.071923
% ];
% d=[ 0.039684 %d數(shù)據(jù)y值
% 0.035936
% 0.039848
% 0.037460
% 0.037582
% 0.042013
% 0.048105
% 0.052788
% 0.059851
% 0.075452
% 0.085753
% 0.104524
% 0.117041
% 0.120392
% 0.119326
% 0.113422
% 0.105514
% 0.094912
% 0.085812
% 0.074321
% 0.067386
% 0.057413
% 0.050733
% 0.040744
% 0.041173
% 0.038101
% 0.035418
% 0.032557];
% e=[ 0.063452 %e數(shù)據(jù)y值
% 0.065448
% 0.066141
% 0.065247
% 0.067798
% 0.072938
% 0.078020
% 0.080517
% 0.084534
% 0.091731
% 0.101428
% 0.109275
% 0.117019
% 0.120379
% 0.117849
% 0.111377
% 0.099289
% 0.085903
% 0.078416
% 0.073114
% 0.068887
% 0.063553
% 0.059130
% 0.057317
% 0.059024
% 0.055005
% 0.057847
% 0.058094
% ];
% f=[0.051219 %f數(shù)據(jù)y值
% 0.065892
% 0.055956
% 0.049184
% 0.063560
% 0.074998
% 0.060415
% 0.067667
% 0.058828
% 0.079587
% 0.068357
% 0.099085
% 0.098976
% 0.094208
% 0.092482
% 0.093320
% 0.103216
% 0.086699
% 0.078904
% 0.062498
% 0.070742
% 0.068190
% 0.080951
% 0.067120
% 0.067791
% 0.062038
% 0.071721
% 0.071092
% ];
% g=[0.046503%g數(shù)據(jù)y值
% 0.054286
% 0.039724
% 0.045279
% 0.055584
% 0.064824
% 0.052188
% 0.051663
% 0.045794
% 0.076992
% 0.065128
% 0.090259
% 0.093017
% 0.084527
% 0.091849
% 0.093118
% 0.110003
% 0.101593
% 0.099130
% 0.087800
% 0.094021
% 0.102329
% 0.105936
% 0.092304
% 0.094816
% 0.089412
% 0.099360
% 0.091986];
% % plot(x,a,'-*b',x,b,'-or'); %線性,顏色,標記
% plot(x,a,'-or','LineWidth',1.5,'MarkerSize',3,'MarkerEdgeColor','red','MarkerFaceColor','red');
% hold on;
% plot(x,b,'-ob','LineWidth',1.5,'MarkerSize',3,'MarkerEdgeColor',[0 0.6 1],'MarkerFaceColor',[0 0.6 1]);
% hold on;
% plot(x,c,'--og','LineWidth',1.5,'MarkerSize',3,'MarkerEdgeColor','green','MarkerFaceColor','green');
% hold on;
% plot(x,d,'--o','Color',[1 .5 0],'LineWidth',1.5,'MarkerSize',3,'MarkerEdgeColor',[1 .5 0],'MarkerFaceColor',[1 .5 0]);
% hold on;
% plot(x,e,'--oc','LineWidth',1.5,'MarkerSize',3,'MarkerEdgeColor','cyan','MarkerFaceColor','cyan');
% hold on;
% plot(x,f,'--om','LineWidth',1.5,'MarkerSize',3,'MarkerEdgeColor','magenta','MarkerFaceColor','magenta');
% hold on;
% plot(x,g,'--oy','LineWidth',1.5,'MarkerSize',3,'MarkerEdgeColor','yellow','MarkerFaceColor','yellow');
% hold off;
% axis([450,650,0,0.18]) %確定x軸與y軸框圖大小
% set(gca,'XTick',[450:50:650]) %x軸范圍1-6,間隔1
% set(gca,'YTick',[0:0.04:0.18]) %y軸范圍0-700,間隔100
% legend('Truth','Ours','TSA','λ-net','HSSP','DCSI','TwIST'); %右上角標注
% xlabel('Wavelength(nm)') %x軸坐標描述
% ylabel('Intensity') %y軸坐標描述
(六)高光譜圖像拼接組合
(七)高光譜圖像快照式模擬編碼
(八)高光譜圖像分波段顯示
(九)mat轉tiff格式
數(shù)據(jù)處理是高光譜相機應用過程中至關重要的環(huán)節(jié)。通過數(shù)據(jù)處理,可以提取有用信息和知識,為高光譜相機在遙感、生物醫(yī)學成像、環(huán)境監(jiān)測等領域的應用提供有力支持。隨著科技的不斷進步,數(shù)據(jù)處理技術將在高光譜相機應用中發(fā)揮越來越重要的作用。