日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

光谱测量数据处理(matlab)

發布時間:2024/3/24 循环神经网络 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 光谱测量数据处理(matlab) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

光譜測量數據處理(matlab)

  • 一、數據格式
  • 二、數據處理
    • 2.1 數據導出
    • 2.2 數據處理
    • 2.3 處理結果
  • 三、地物光譜特征分析
    • 3.1 光譜曲線平滑
    • 3.2 光譜曲線一階導數


一、數據格式

導出文件:

文件內容:

內容說明:

Columnname
1Wavelengths (nanometers)
2Reference Values (see below)
3Target Values (see below)
4Reflectance (percent)

二、數據處理

2.1 數據導出

將光譜儀測的不同地物的光譜數據以SVC軟件中導出到計算機中,并按不同地物類型存儲在不同Excel表格中。

2.2 數據處理

(一)原理公式


實驗采用垂直測量方法,計算公式為


式中,L——測得地物反射輻射通量,Rr 為白板反射率(已知) ; Lr 為測得白板反射輻射能量;

(二)處理步驟

Step1:共100多組數據,觀察每個數據的圖片結合實地記錄篩選可以利用的數據

Step2:由于儀器光譜突變,將篩選好的數據進行在SVC HR軟件中的平滑操作(overlay)

Step3:將處理后的數據去除文件頭,生成裸數據并保存到txt文本文件中

Step4:求每類地物的光譜數據平均值,生成每類地物的光譜數據

Step5:由于白板反射率波段和每類地物的光譜波段不匹配,對實測數據進行插值

Step6:根據反射率公式選取文件中第四列數據(百分比)與白板反射率的相乘操作

Step7:根據不同需要進行制圖輸出

(三)matlab處理代碼

%---------------------------------------------------------------- %光譜處理代碼 % %時間:2019619%---------------------------------------------------------------- %去除文件頭代碼 %輸入.sig文件fileFolder=fullfile('E:\2019-06-11-下');%引號內是需要遍歷的路徑,填絕對路徑,然后保存在fileFolderdirOutput = dir(fullfile(fileFolder,'*.sig'));%引號內是文件的后綴,寫'.txt'則讀取后綴為'.txt'的文件fileNames = {dirOutput.name};%將所有文件名,以矩陣形式按行排列,保存到fileNames中for i=fileNamesi_trace = strcat('E:\2019-06-11-下\',i)%將字符串組合起來i_trace=char(i_trace)i=char(i)ind=findstr(i-1,'.');i=i(1:ind)M = dlmread(i_trace,'',25,0)i_trace_txt=strcat('E:\2019-06-11-下\',i,'txt')%num1, num2, num3, num4]=textread(i_trace,'%f %f %f f','headerlines',29);% A={num1,num2,num3,num4};% eval(['T',num2str(n),'=','load(i_trace{1,1})',';']);dlmwrite(i_trace_txt, M, 'delimiter', '\t','precision', 6,'newline', 'pc')end%生成平均值代碼clc;clear all;close all;fileFolder=fullfile('E:\txt\柏油路');%引號內是需要遍歷的路徑,填絕對路徑,然后保存在fileFolderdirOutput=dir(fullfile(fileFolder,'*.txt'));%引號內是文件的后綴,寫'.txt'則讀取后綴為'.txt'的文件fileNames={dirOutput.name};%將所有文件名,以矩陣形式按行排列,保存到fileNames中sumM = zeros(741,2);for i=fileNamesii_trace = strcat('E:\txt\柏油路\',i); %將字符串組合起來i_trace=char(i_trace);i = char(i);ind=findstr(i,'.');i=i(1:ind-1);M = dlmread(i_trace,'',0,0);sumM(:,1) = M(:,1);sumM(:,2) = sumM(:,2) + M(:,4);%i_trace_txt=strcat('E:\2019-06-11-下\ave.txt''.txt');%dlmwrite(i_trace_txt, M, 'delimiter', '\t','precision', ,'newline', 'pc') endsumM;aveM(:,1)=sumM(:,1);aveM(:,2)=sumM(:,2)/11.0;aveMsave('E:\txt\柏油路\ave.txt','aveM','-ascii');%插值以及計算反射率代碼 clc; clear all; close all; fileName='E:\txt\110-116 118-121小路\ave.txt'; [Target_Lambda,Target_Percent]=textread('E:\txt\110-116 118-121小路\ave.txt','%f %f','headerlines',0); % M = dlmread('E:\txt\柏油路\ave.txt','',0,0) % title('柏油路光譜曲線',); [Whiteboard_Lambda,Whiteboard_Reflectance]= textread('E:\白板定標文件.txt',' %f %f','headerlines',10); Target_interp = interp1(Target_Lambda,Target_Percent,Whiteboard_Lambda); Target_Reflectance=Target_interp.*Whiteboard_Reflectance; A=zeros(957,2); A(:,1)=Whiteboard_Lambda; A(:,2)=Target_Reflectance; save('E:\txt\110-116 118-121小路\光譜曲線.txt','A','-ascii');

處理后導出數據

%制圖輸出figure,plot(Whiteboard_Lambda,Target_Reflectance);hold on;plot(Whiteboard_Lambda,Target_interp);legend('柏油路反射率','柏油路百分比原圖像', 'Location', 'SouthEast');xlabel('波段(nm)','fontsize',12,'fontweight','bold','color','b');ylabel('反射率/百分比(%)','fontsize',12,'fontweight','bold','color','b');title('柏油路反射率和百分比','fontsize',15,'fontweight','bold');grid on;figure,plot(Whiteboard_Lambda,Target_Reflectance);% legend('柏油路反射率', 'Location', 'SouthEast');xlabel('波段(nm)','fontsize',12,'fontweight','bold','color','b');ylabel('反射率(%)','fontsize',12,'fontweight','bold','color','b');title('柏油路反射率','fontsize',15,'fontweight','bold');grid on;

2.3 處理結果

三、地物光譜特征分析

3.1 光譜曲線平滑

(一)處理代碼

% smooths平滑操作代碼 Reflectance_Smooth = smooth(Target_Reflectance,30,'lowess'); figure, plot(Whiteboard_Lambda,Reflectance_Smooth);

(二)處理結果

3.2 光譜曲線一階導數

(一)處理代碼

% 一階導數代碼 figure, plot(Whiteboard_Lambda,Reflectance_Smooth); h=get(gca,'children') x = get(h,'XData'); y = get(h,'YData'); dy = diff(y) ./ diff(x); axis tight; plot(x(1:end-1),dy,'r') xlabel('波段(nm)','fontsize',12,'fontweight','bold','color','b'); ylabel('導數','fontsize',12,'fontweight','bold','color','b'); title('柏油路反射率:一階導數','fontsize',15,'fontweight','bold'); % legend('柏油路反射率:一階導數'); grid on;

(二)處理結果

總結

以上是生活随笔為你收集整理的光谱测量数据处理(matlab)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。