<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      行走的蓑衣客

      導航

       

      摘錄于 https://blog.csdn.net/weixin_43123242/article/details/93525175

      1.下載第三方包

      在網址 https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml下載對應python版本的whl文件。如,GDAL?3.0.0?cp38?cp38m?win32.whl。

      pip install numpy
      pip install GDAL?3.0.0?cp38?cp38m?win32.whl

      2、代碼

      from osgeo import gdal, gdalconst
      from osgeo.gdalconst import *
      import numpy as np
      import sys
      np.set_printoptions(threshold = 1e6) 
      #設置輸入和輸出參數
      #參數1:輸入待計算邊界的原始TIFF影像
      #參數2:計算的結果影像文件(TIFF文件)
      #參數3:參數1中的待計算的焦點像元值
      #參數4:用于計算邊界像元的鄰域算子窗口大小
      #參數5:參數1中的待計算的鄰域像元值
      Input = sys.argv[1].replace('\\','/')
      FocusPoint = int(sys.argv[2])
      ZoneNear = int(sys.argv[3])
      NeiOpe = int(sys.argv[4])
      Output = sys.argv[5].replace('\\','/')
      #讀取柵格數據
      ds = gdal.Open(Input,GA_ReadOnly)
      if ds is None:
          print(Input)
      cols = ds.RasterXSize
      rows = ds.RasterYSize
      geotransform = ds.GetGeoTransform()
      geoProjection = ds.GetProjection()
      pixelWidth = geotransform[1]
      pixelHeight = geotransform[5]
      band = ds.GetRasterBand(1)
      data = band.ReadAsArray(0, 0, cols, rows)
      data = data.astype(np.int)
      Ordata = np.array(data,dtype = int)
      #基于原始數據構造二元值
      UniqueValue = np.unique(Ordata)#計算唯一像元值
      OnlyFocusPoint = np.where(Ordata == FocusPoint, 0, -1)
      OnlyZoneNear = np.where(Ordata == ZoneNear, 2, 0)
      FZ = OnlyFocusPoint + OnlyZoneNear
      ReData = np.where(FZ == -1, 0, FZ)
      #拼接數據
      row0 = np.zeros([1,cols], dtype = int)
      col0 = np.zeros([rows+2,1], dtype = int)
      rowPinRow = np.r_[row0,ReData,row0]
      rowPinCol = np.c_[col0,rowPinRow,col0]
      DataPin = rowPinCol
      rowsPin = np.shape(DataPin)[0]
      colsPin = np.shape(DataPin)[1]
      outData = np.zeros([rowsPin,colsPin],dtype = np.int)
      #構造切片
      if NeiOpe == 8: 
          #8鄰域,不包括中心像元
          outData[1:rowsPin-1,1:colsPin-1] = (DataPin[0:rowsPin-2,0:colsPin-2] + DataPin[0:rowsPin-2,1:colsPin-1] + DataPin[0:rowsPin-2,2:colsPin] + DataPin[1:rowsPin-1,0:colsPin-2] + DataPin[1:rowsPin-1,2:colsPin] + DataPin[2:rowsPin,0:colsPin-2] + DataPin[2:rowsPin,1:colsPin-1] + DataPin[2:rowsPin,2:colsPin])
      elif NeiOpe == 4:
          #4鄰域,不包括中心像元
          outData[1:rowsPin-1,1:colsPin-1] = (DataPin[0:rowsPin-2,1:colsPin-1] + DataPin[1:rowsPin-1, 0:colsPin-2] + DataPin[1:rowsPin-1,2:colsPin] + DataPin[2:rowsPin,1:colsPin-1])
      else:
          print('Only 4 or 8')
      ResultData = outData[1:rowsPin-1,1:colsPin-1]
      #構造淹沒
      Mask = np.where(Ordata == FocusPoint, 0, np.nan)
      EdgeData = np.array(Mask + ResultData)
      #新建柵格用于存放EdgeData
      driver = gdal.GetDriverByName("GTiff")
      outDataset = driver.Create(Output, cols, rows, 1, gdal.GDT_Int16)
      outDataset.SetGeoTransform(geotransform) 
      outDataset.SetProjection(geoProjection)
      outBand = outDataset.GetRasterBand(1)
      outBand.WriteArray(EdgeData)
      outBand.SetNoDataValue(0)
      outDataset.FlushCache()
      #至此計算指定像元值的焦點像元鄰域中特地像元值的像元個數計算完成
      #若計算出具體的邊界長度,可用pixelWidth或pixelHeight乘以EdgeData計算即可
      print('Done')

      3.原圖像文件&計算結果

      原始圖像

       

       提取邊界的結果圖(4領域)

       

       圖3 提取邊界的結果圖(8領域)

       

      posted on 2022-12-18 17:24  行走的蓑衣客  閱讀(360)  評論(0)    收藏  舉報
       
      主站蜘蛛池模板: 中文字幕乱码一区二区免费| 亚洲色成人网站www永久下载| 国产老头多毛Gay老年男| 国产av午夜精品福利| 亚洲an日韩专区在线| 在线天堂中文新版www| 日韩av高清在线看片| 视频一区视频二区制服丝袜| 国产97人人超碰caoprom| 中文字幕亚洲人妻一区| 国产AV无码专区亚洲AWWW| 国产91午夜福利精品| 激烈的性高湖波多野结衣| 在线日韩日本国产亚洲| 国产裸体无遮挡免费精品| 亚洲午夜无码久久久久蜜臀AV | 国产日韩入口一区二区| 国产精品一二二区视在线| 40岁大乳的熟妇在线观看| 内射视频福利在线观看| 少妇办公室好紧好爽再浪一点| 免费观看又色又爽又黄的崩锅| 女同性恋一区二区三区视频| 精品亚洲男人一区二区三区| 波多野结衣视频一区二区| 国产精品久久蜜臀av| 精品国产精品中文字幕| 麻豆精品一区二区视频在线| 国产亚洲人成网站在线观看| 亚洲AV成人片不卡无码| 亚洲av激情五月性综合| 中文字幕久久久久人妻中出| 国产成人亚洲综合图区| 亚洲日本精品国产第一区| 老司机精品成人无码av| 亚洲精品美女一区二区| 久久精品av国产一区二区| 亚洲国产女性内射第一区| 一区二区三区午夜无码视频| 久久精品国产中文字幕| 性色在线视频精品|