rasterio包的安装与读取tiff的方式

本文主要参考:

python rasterio库安装具体流程 - 知乎

rasterio的安装和使用_罗罗攀的博客-CSDN博客


一、rasterio的安装

rasterio有很多依赖的其他包,所以

需要依次安装如下包:

  1. pyproj
  2. Shapely
  3. GDAL
  4. Fiona
  5. geopandas
  6. rasterio

PS:其中GDAL、Fiona、rasterio三个库不可以用“pip install +库名”直接安装,需要下载.whl文件安装。其他库可按照pip install下载安装。

详细安装方式:

1. pyproj

pip install pyproj

2. Shapely

pip install Shapely

3. GDAL

GDAL下载链接

选择与你的python版本相对应的,最高版本的GDAl

例如我的python=3.8,所以我下载的是

GDAL-3.4.3-cp38-cp38-win_amd64.whl

下载完成后,具体安装方式:

把 GDAL-3.4.3-cp38-cp38-win_amd64.whl 拖到桌面上

在anaconda中打开要安装这个包的虚拟环境

conda activate road_env(环境名)

conda activate road_env(环境名)
cd C:\Users\DELL\Desktop
pip install GDAL-3.4.3-cp38-cp38-win_amd64.whl

图示:

 安装成功!

4. Fiona

方式同GDAL,请参考。

Fiona下载链接

5. geopandas

pip install geopandas

6. rasterio

方式同GDAL,请参考。

rasterio下载链接

在import rasterio后,运行代码时,很可能会报错:

把numpy换成最高级的版本即可(可以先卸载再安装)

二、使用rasterio读取.tif文件

# 导入包
import rasterio

# 读入.tif文件,file_path是.tif文件的地址
img = rasterio.open(file_path).read()

rasterio读取tif、cv2读取jpg或png的异同:

1. 相同之处

两种方式得到的img,都是数组形式的,差不多。

2. 不同之处

(1)tif格式的图片中还有其他光谱信息,得到的数组数值可能不是0~255之间的,此时需要自己归范化到0~255,或者有些比赛提供的tif图片本来就是0~255的R、G、B三通道数据,这样的话就不用自己处理了。

(2)得到的img.shape不同

rasterio得到的img.shape是 c, h, w

cv2得到的img.shape是h, w, c

可以使用

img = np.array(img, np.float32).transpose(1, 2, 0)

交换通道即可,具体transpose的用法可以自己百度哦

PS:在使用.tif文件跑深度学习代码时,如果通道为RGB三通道,此时.tif文件与我们平时所使用的jpg,.png差不多,可以直接使用opencv(read)、Image(open)等方式,可以不使用rasterio。

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值