ฉันพยายามเรียนรู้วิธีการประมวลผลภาพจากการรับรู้ระยะไกลโดยใช้การเชื่อมโยง Python GDAL และการถ่ายภาพจำนวนมาก เป็นครั้งแรกที่ฉันอ่านไฟล์ geotiff Landsat8 ทำการจัดการอย่างง่ายและเขียนผลลัพธ์ลงในไฟล์ใหม่ รหัสด้านล่างดูเหมือนว่าจะทำงานได้ดียกเว้นว่าแรสเตอร์ดั้งเดิมถูกทิ้งในไฟล์เอาต์พุตแทนที่จะเป็นแรสเตอร์ที่ได้รับการจัดการ
ความคิดเห็นหรือข้อเสนอแนะใด ๆ ยินดีต้อนรับ แต่โดยเฉพาะอย่างยิ่งบันทึกเกี่ยวกับสาเหตุที่แรสเตอร์ที่จัดการไม่แสดงในผลลัพธ์
import os
import gdal
gdal.AllRegister()
file = "c:\~\LC81980242015071LGN00.tiff"
(fileRoot, fileExt) = os.path.splitext(file)
outFileName = fileRoot + "_mod" + fileExt
ds = gdal.Open(file)
band = ds.GetRasterBand(1)
arr = band.ReadAsArray()
[cols, rows] = arr.shape
arr_min = arr.Min()
arr_max = arr.Max()
arr_mean = int(arr.mean())
arr_out = numpy.where((arr < arr_mean), 10000, arr)
driver = gdal.GetDriverByName("GTiff")
outdata = driver.Create(outFileName, rows, cols, 1, gdal.GDT_UInt16)
outband = outdata.GetRasterBand(1)
outband.WriteArray(arr_out)
outdata = None
print arr_min
> 0
print arr_max
> 65535
print arr_mean
> 4856
ฉันใช้ Python 2.7.1 บนเครื่อง Windows 7 32 บิต
สวัสดีขอบคุณที่มองดูสิ่งนี้! ฉันรู้ว่าฉันละเลยการแปลงสัญญาณทางภูมิศาสตร์คิดที่จะเคี้ยวในภายหลัง ฉันเห็นภาพทั้งหมดที่ส่งออก (โดยใช้ Irfanview) ดังนั้นฉันคิดว่ามันเป็นไปไม่ได้ ฉันจะสร้างข้อมูลที่คุณร้องขอเมื่อฉันกลับมานั่งในคืนนี้
—
Hans Roelofsen
สวัสดีฉันพยายามให้ข้อมูลที่คุณถาม ฉันใช้ Python GDAL และไม่แน่ใจว่าคำสั่งที่คุณระบุตรงกับคำสั่ง Python อย่างไร ในกรณีใด ๆ ฉันใช้ GDAL-1.11.2-cp27-ไม่มี-win32 เป็นมาจากที่นี่ ฉันจะอัปเดตโพสต์ของฉันด้วยสถิติบางอย่างใน. tiff ดั้งเดิม
—
Hans Roelofsen
arr_min จะเป็นอย่างไร
—
fluidmotion
arr_min = 0 ฉันได้อัปเดตโพสต์เพื่อแสดงสิ่งนี้ ขอบคุณ!
—
Hans Roelofsen
gdainfo -stats original.tiff
และgdal-config --version
ที่สามารถช่วยได้