最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對(duì)Python3+gdal 讀取tiff格式數(shù)據(jù)的實(shí)例講解

 更新時(shí)間:2018年12月04日 14:50:53   作者:竹子熊貓  
今天小編就為大家分享一篇對(duì)Python3+gdal 讀取tiff格式數(shù)據(jù)的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

1、遇到的問(wèn)題:numpy版本

im_data = dataset.ReadAsArray(0,0,im_width,im_height)#獲取數(shù)據(jù) 這句報(bào)錯(cuò)

升級(jí)numpy:pip install -U numpy 但是提示已經(jīng)是最新版本

解決:卸載numpy 重新安裝

2.直接從壓縮包中讀取tiff圖像

參考:http://gdal.org/gdal_virtual_file_systems.html#gdal_virtual_file_systems_vsizip

當(dāng)前情況是2層壓縮: /'/vsitar/C:/Users/summer/Desktop/a_PAN1.tiff'

3.讀tiff

def readTif(fileName):
	
	merge_img = 0
	driver = gdal.GetDriverByName('GTiff')
	driver.Register()
 
	dataset = gdal.Open(fileName)
	if dataset == None:
		print(fileName+ "掩膜失敗,文件無(wú)法打開")
		return
	im_width = dataset.RasterXSize #柵格矩陣的列數(shù)
	print('im_width:', im_width) 
 
	im_height = dataset.RasterYSize #柵格矩陣的行數(shù)
	print('im_height:', im_height) 
	im_bands = dataset.RasterCount #波段數(shù)
	im_geotrans = dataset.GetGeoTransform()#獲取仿射矩陣信息
	im_proj = dataset.GetProjection()#獲取投影信息
	
 
	if im_bands == 1:
		band = dataset.GetRasterBand(1)
		im_data = dataset.ReadAsArray(0,0,im_width,im_height) #獲取數(shù)據(jù)
		cdata = im_data.astype(np.uint8)
		merge_img = cv2.merge([cdata,cdata,cdata])
 
		cv2.imwrite('C:/Users/summer/Desktop/a.jpg', merge_img)
# 
	elif im_bands == 4:
	# 	# im_data = dataset.ReadAsArray(0,0,im_width,im_height)#獲取數(shù)據(jù)
	# 	# im_blueBand = im_data[0,0:im_width,0:im_height] #獲取藍(lán)波段
	# 	# im_greenBand = im_data[1,0:im_width,0:im_height] #獲取綠波段
	# 	# im_redBand = im_data[2,0:im_width,0:im_height] #獲取紅波段
	# 	# # im_nirBand = im_data[3,0:im_width,0:im_height] #獲取近紅外波段
	# 	# merge_img=cv2.merge([im_redBand,im_greenBand,im_blueBand])
 
	# 	# zeros = np.zeros([im_height,im_width],dtype = "uint8")
 
	# 	# data1 = im_redBand.ReadAsArray
 
	# 	band1=dataset.GetRasterBand(1)
	# 	band2=dataset.GetRasterBand(2)
	# 	band3=dataset.GetRasterBand(3)
	# 	band4=dataset.GetRasterBand(4)
	
		data1=band1.ReadAsArray(0,0,im_width,im_height).astype(np.uint16) #r #獲取數(shù)據(jù)
		data2=band2.ReadAsArray(0,0,im_width,im_height).astype(np.uint16) #g #獲取數(shù)據(jù)
		data3=band3.ReadAsArray(0,0,im_width,im_height).astype(np.uint16) #b #獲取數(shù)據(jù)
		data4=band4.ReadAsArray(0,0,im_width,im_height).astype(np.uint16) #R #獲取數(shù)據(jù)
	# 	print(data1[1][45])
	# 	output1= cv2.convertScaleAbs(data1, alpha=(255.0/65535.0))
	# 	print(output1[1][45])
	# 	output2= cv2.convertScaleAbs(data2, alpha=(255.0/65535.0))
	# 	output3= cv2.convertScaleAbs(data3, alpha=(255.0/65535.0))
 
		merge_img1 = cv2.merge([output3,output2,output1]) #B G R
		
		cv2.imwrite('C:/Users/summer/Desktop/merge_img1.jpg', merge_img1)

4.圖像裁剪:

import cv2
import numpy as np
import os
 
tiff_file = './try_img/2.tiff'
save_folder = './try_img_re/'
if not os.path.exists(save_folder):
	os.makedirs(save_folder)
 
tif_img = cv2.imread(tiff_file)
width, height, channel = tif_img.shape
# print height, width, channel : 6908 7300 3
threshold = 1000
overlap = 100
 
step = threshold - overlap
x_num = width/step + 1
y_num = height/step + 1
print x_num, y_num
 
N = 0
yj = 0 
 
for xi in range(x_num):
	for yj in range(y_num):
	# print xi
		if yj <= y_num:
			print yj
			x = step*xi
	  y = step*yj
 
	  wi = min(width,x+threshold)
	  hi = min(height,y+threshold)
	  # print wi , hi
 
	  if wi-x < 1000 and hi-y < 1000:
	  	im_block = tif_img[wi-1000:wi, hi-1000:hi]
 
	  elif wi-x > 1000 and hi-y < 1000:
	  	im_block = tif_img[x:wi, hi-1000:hi]
 
	  elif wi-x < 1000 and hi-y > 1000:
	  	im_block = tif_img[wi-1000:wi, y:hi]
 
	 	else:
	  	im_block = tif_img[x:wi,y:hi]
	  	
	  cv2.imwrite(save_folder + 'try' + str(N) + '.jpg', im_block)
	  N += 1

以上這篇對(duì)Python3+gdal 讀取tiff格式數(shù)據(jù)的實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python登錄并爬取淘寶信息代碼示例

    python登錄并爬取淘寶信息代碼示例

    這篇文章主要介紹了python 登錄并爬取淘寶信息代碼示例,具有一定借鑒價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • Python實(shí)現(xiàn)IP代理批量采集的示例代碼

    Python實(shí)現(xiàn)IP代理批量采集的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)IP代理批量采集,并檢測(cè)代理是否可用。文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-09-09
  • pandas解決空列表問(wèn)題

    pandas解決空列表問(wèn)題

    本文主要介紹了Python的pandas庫(kù)中高效處理空列表的問(wèn)題,包括識(shí)別、過(guò)濾、替換和聚合操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • 基于Python制作一個(gè)桌面寵物

    基于Python制作一個(gè)桌面寵物

    這篇文章主要來(lái)和大家分享一個(gè)Python寵物桌面小程序,全程都是通過(guò) PyQT 來(lái)制作的,對(duì)于 Python GUI 感興趣的朋友,千萬(wàn)不要錯(cuò)過(guò)哦
    2022-12-12
  • Python如何利用xlrd和xlwt模塊操作Excel表格

    Python如何利用xlrd和xlwt模塊操作Excel表格

    這篇文章主要給大家介紹了關(guān)于Python如何利用xlrd和xlwt模塊操作Excel表格的相關(guān)資料,其中xlrd模塊實(shí)現(xiàn)對(duì)excel文件內(nèi)容讀取,xlwt模塊實(shí)現(xiàn)對(duì)excel文件的寫入,需要的朋友可以參考下
    2022-03-03
  • Python腳本實(shí)現(xiàn)抓取指定網(wǎng)站上的所有圖片

    Python腳本實(shí)現(xiàn)抓取指定網(wǎng)站上的所有圖片

    對(duì)于開發(fā)者、數(shù)據(jù)分析師以及研究人員而言,從網(wǎng)頁(yè)中提取有價(jià)值的信息是一項(xiàng)至關(guān)重要的技能,本文將詳細(xì)介紹如何使用Python編寫一個(gè)腳本來(lái)自動(dòng)抓取指定網(wǎng)站上的所有圖片,需要的可以參考下
    2024-10-10
  • Python中的面向?qū)ο缶幊淘斀?下)

    Python中的面向?qū)ο缶幊淘斀?下)

    這篇文章主要介紹了Python中的面向?qū)ο缶幊淘斀?下),本文講解了繼承、super關(guān)鍵字、重寫、多重繼承、類、實(shí)例和其他對(duì)象的內(nèi)建函數(shù)、私有化等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • Python?數(shù)據(jù)類型中的字符串和數(shù)字

    Python?數(shù)據(jù)類型中的字符串和數(shù)字

    這篇文章主要介紹了Python?數(shù)據(jù)類型中的字符串和數(shù)字,Python3中有六個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型,Number、String、List、Tuple、Set、Dictionary,加先來(lái)我們就來(lái)看看這幾種數(shù)據(jù)類型的具體相關(guān)介紹,需要的小伙伴可以參考一下
    2022-02-02
  • python之語(yǔ)音識(shí)別speech模塊

    python之語(yǔ)音識(shí)別speech模塊

    這篇文章主要介紹了python之語(yǔ)音識(shí)別speech模塊,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • keras如何指定運(yùn)行時(shí)顯卡及限制GPU用量

    keras如何指定運(yùn)行時(shí)顯卡及限制GPU用量

    這篇文章主要介紹了keras如何指定運(yùn)行時(shí)顯卡及限制GPU用量問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03

最新評(píng)論

济南市| 抚顺市| 织金县| 涞源县| 即墨市| 莒南县| 岑溪市| 巩留县| 高阳县| 兴仁县| 纳雍县| 凌云县| 松江区| 长宁县| 高清| 榆林市| 洪雅县| 桦甸市| 双城市| 瓮安县| 周至县| 无极县| 和田县| 泸水县| 蒙山县| 铜梁县| 乡城县| 新田县| 琼海市| 东乡县| 洛扎县| 政和县| 高安市| 饶阳县| 山丹县| 呈贡县| 馆陶县| 八宿县| 桓台县| 邵阳县| 兰坪|