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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数字图像处理:实验七 遥感图像读取

發布時間:2023/12/31 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数字图像处理:实验七 遥感图像读取 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗七 遙感圖像讀取

一、實驗目的

  • 熟悉MATLAB中遙感圖像讀寫的格式;
  • 掌握多波段遙感圖像的讀取與存儲;
  • 掌握多波段遙感圖像中單波段、不同波段的組合顯示。
  • 二、實驗儀器及設備

    計算機、Matlab圖像處理軟件、Landsat8遙感圖像

    三、實驗基礎

    1.實驗遙感圖像簡介

    2013年2月11日Landsat8衛星成功發射,設計壽命為五年,星上攜帶兩個主要設備,陸地成像儀和熱紅外傳感器。陸地成像儀共11個波段,其中可見光,近紅外,短波紅外波段空間分辨率為30米,熱紅外波段空間分辨率為100米,全色波段分辨率為15米,成像寬幅185kmx185km。陸地成像儀包括ETEM+傳感器的所有波段,但為了避免大氣吸收特征,對波段進行了重新調整,比較大的調整是band5,排除了0.825um處水汽吸收特征,全做波段band8范圍較窄,可以在全色圖像上更好地區分植被和無植被特征,此外還增強了兩個波段藍色波段,主要應用于海岸帶觀測短波紅外波段。包括水汽強吸收特征,可用于云檢測,近紅外和短波紅外波段與modest對應的波段接近。

    2.相關函數
    MATLAB中用于多波段圖像讀寫的函數包括multibandread和multibandwtite。

    四、實驗內容及步驟

  • 遙感圖像頭文件讀取
  • clc;clear; hdrname='D:\Remote_sensing\ENVI實驗數據\ENVI_shiyuan_dt\shiyan\LC81230322013276LGN00_MTL_shiyan.hdr';fid=fopen(hdrname,'r');info=fread(fid,'char=>char');info=info';%轉置為行向量fprintf(info);%界面輸出打印顯示fclose(fid); >> rs_hdr ENVI description = {Calibrated Radiance from LC81230322013276LGN00_MTL_MultiSpectral} samples = 7771 lines = 7901 bands = 7 data type = 4 interleave = bil file type = ENVI Standard header offset = 0 byte order = 0 map info = {UTM, 1.000, 1.000, 358485.000, 4582815.000, 3.000000e+001, 3.000000e+001, 50, North, WGS-84, units=Meters} coordinate system string = {PROJCS["WGS_1984_UTM_Zone_50N",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["False_Easting",500000.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",117.0],PARAMETER["Scale_Factor",0.9996],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]} default bands = {4,3,2} band names = {Coastal aerosol, Blue, Green, Red, Near Infrared (NIR), SWIR 1, SWIR 2} wavelength = {0.443000, 0.482600, 0.561300, 0.654600, 0.864600, 1.609000, 2.201000} fwhm = {0.016000, 0.060100, 0.057400, 0.037500, 0.028200, 0.084700, 0.186700} wavelength units = Micrometers data ignore value = 0.00000000e+000 sun azimuth = 156.793278sun elevation = 43.279056 cloud cover = 6.400000 earth sun distance = 1.000646 sensor type = Landsat OLI acquisition time = 2013-10-03T02:55:24.3050919Z calibration scale factor = 0.100000 data units = W m^-2 sr^-1 um^-1 image quality = 9
  • 遙感圖像基本信息讀取
  • %讀取列數、行數、波段數、數據類型%列數ac=strfind(info,'samples = ');bc=length('samples = ');cc=strfind(info,'lines ');samples=[];for i=ac+bc:cc-1samples=[samples,info(i)];endsamples=str2num(samples);%行數ar=strfind(info,'lines = ');br=length('lines = ');cr=strfind(info,'bands ');lines=[];for i=ar+br:cr-1lines=[lines,info(i)];endlines=str2num(lines);%波段數ab=strfind(info,'bands = ');bb=length('bands = ');cb=strfind(info,'data type '); bands=[];for i=ab+bb:cb-1bands=[bands,info(i)];endbands=str2num(bands);%數據類型ab=strfind(info,'data type = ');bb=length('data type = ');cb=strfind(info,'interleave');datatype=[];for i=ab+bb:cb-1datatype=[datatype,info(i)];enddatatype=str2num(datatype);precision=[];switch datatypecase 1precision='unit8=>unit8';case 2precision='int16=>int16';case 12precision='unit16=>unit16';case 3precision='int32=>int32';case 13precision='unit32=>unit32'; case 4precision='float32=>float32'; case 5precision='double=>double'; end %數據格式at=strfind(info,'interleave = ');bt=length('interleave = ');ct=strfind(info,'sensor type '); interleave=[];for i=at+bt:ct-1interleave=[interleave,info(i)];end interleave=strtrim(interleave); fprintf('Lines=%i\nSamples=%i\nDataType=%s\n',lines,samples,interleave); 運行結果: Lines=589 Samples=766 DataType=bsq
  • 遙感圖像數據讀取與顯示
    遙感圖像大多數具有多波段,MATLAB中用于多波段圖像讀寫的函數包括multibandread和multibandwtite。
  • %讀取圖像數據 imgfilename='F:\數字圖像處理\Landsat8_image.dat'; fid=fopen(imgfilename,'r'); data=multibandread(imgfilename,[lines,samples,7],precision,0,'bsq','ieee-le'); data=double(data); %數值轉換為0-255的整型用于顯示 data_unit8=data; for k=1:bandsmin_val=min(data(:,:,k));max_val=max(data(:,:,k));for i=1:linesfor j=1:samplesdata_unit8(i,j,k)=uint8((data_unit8(i,j,k)-min_val)/(max_val-min_val)*255);endend end %單波段遙感圖像顯示 %數值轉為0-255的整型用于顯示 data_show=data; for k=1:bandsmin_val=min(data(:,:,k));max_val=max(data(:,:,k));for i=1:linesfor j=1:samplesdata_show(i,j,k)=uint8((data_show(i,j,k)-min_val)/(max_val-min_val)*255);endend end%單波段遙感圖像顯示im1=data_show(:,:,1);im2=data_show(:,:,2);im3=data_show(:,:,3);im4=data_show(:,:,4);im5=data_show(:,:,5);im6=data_show(:,:,6);im7=data_show(:,:,7);im1=uint8(im1);im2=uint8(im2);im3=uint8(im3);im4=uint8(im4);im5=uint8(im5);im6=uint8(im6);im7=uint8(im7);figure;imshow(im1);figure;imshow(im2);figure;imshow(im3);figure;imshow(im4);figure;imshow(im5);figure;imshow(im6);figure;imshow(im7); %真彩色顯示im3=data_show(:,:,1:3);im3=uint8(im3);figure;imshow(im3);%假彩色顯示im3=data_show(:,:,4:6);im3=uint8(im3);figure;imshow(im3);





    圖一 遙感圖像各波段顯示
    4. 遙感圖像存儲

    %按照BIL存儲類型存儲所有波段multibandwrite(data,'data.bil','bil');%以存儲32bit單波段為例numbands=1;for band=1:numbandsmultibandwrite(data(:,:,band),'banddata.bsq','bsq','machfmt','ieee-le','precision',interleave);end

    五、實驗心得

    1.學會了使用multibandread和multibandwtite函數處理遙感影像。
    2. 對遙感影像的頭文件里的內容有了更加深入的了解。

    總結

    以上是生活随笔為你收集整理的数字图像处理:实验七 遥感图像读取的全部內容,希望文章能夠幫你解決所遇到的問題。

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