欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python讀取TIF影像的多種方法

 更新時間:2023年07月28日 11:42:31   作者:大白曰夢想家  
Python提供了豐富的庫來讀取和處理TIFF文件,其中PIL庫是最常用的,本文給大家介紹Python讀取TIF影像的幾種方法,需要的朋友可以參考下

TIFF簡介

TIFF(Tagged Image File Format)是一種常用的圖像文件格式,廣泛應用于各種領域,如醫(yī)學圖像、衛(wèi)星遙感、地理信息系統(tǒng)等。在Python中,我們可以使用一些庫來讀取和處理TIFF文件,這為我們分析和處理這些圖像數(shù)據(jù)提供了便利。

1. 安裝依賴庫

在使用Python讀取TIFF文件之前,我們需要安裝一些依賴庫。最常用的庫是PIL(Python Imaging Library),它提供了豐富的圖像處理功能。我們可以使用以下命令來安裝PIL庫:

pip install Pillow

2. 讀取TIFF文件

使用PIL庫,我們可以通過Image.open()方法來讀取TIFF文件。下面是一個示例代碼:

from PIL import Image
# 讀取TIFF文件
image = Image.open('example.tiff')
# 顯示圖像信息
print(f"圖像格式:{image.format}")
print(f"圖像大?。簕image.size}")
print(f"圖像模式:{image.mode}")
from PIL import Image
# 讀取TIFF文件
image = Image.open('example.tiff')
# 顯示圖像信息
print(f"圖像格式:{image.format}")
print(f"圖像大?。簕image.size}")
print(f"圖像模式:{image.mode}")

在上面的代碼中,我們首先導入Image模塊,并使用open()方法讀取TIFF文件。然后,我們可以通過format屬性獲取圖像的格式,通過size屬性獲取圖像的大小,通過mode屬性獲取圖像的模式。

Python讀取TIF影像的幾種方法

導入模塊

import numpy as np
import tifffile as tf           #tifffile是tiff文件的讀取庫
from PIL import Image
import cv2 as  cv
import gdal

TIF文件路徑

path = r'C:/Users/HP/Desktop/tif/jpeg2000/Test_Images/tif/boat4_2100.tif'

方法1:tiffile

img_tf = tf.imread(path)
print(img_tf.shape)                 #(2960, 1976, 3)

方法2:PIL

img = Image.open(path)         #可以讀取單通道影像,讀取3通道16位tif影像時報錯(PIL.UnidentifiedImageError: cannot identify image file),支持4通道8位影像
arr = np.array(img)
print(arr.shape)

方法3:opencv

#arr = cv.imread(path,cv.IMREAD_UNCHANGED)        #(2960, 1976)
arr = cv.imread(path,1)                          #(2960, 1976, 3)   備注:4波段的影像在opencv的讀取方式中,顯示為前三個波段,而且讀取順序為BGR
print(arr.shape)

方法4:gdal方法1

dataset = gdal.Open(path)
arr = dataset.ReadAsArray()          #(3, 2960, 1976)
arr = arr.transpose(1, 2, 0)         #(2960, 1976, 3)
print(arr.shape)

方法5:gdal方法2

dataset = gdal.Open(path)
bands = dataset.RasterCount
for band in range(1, bands + 1):
    # 讀取波段
    src_band = dataset.GetRasterBand(band)
    # 波段轉數(shù)組
    band_arr = src_band.ReadAsArray()
    if band == 1:
        height = band_arr.shape[0]
        width = band_arr.shape[1]
        arr = np.zeros((height, width, bands), dtype=np.uint8)
    arr[:, :, band - 1] = band_arr
print(arr.shape)                     #(2960, 1976, 3)

到此這篇關于Python讀取TIF影像的幾種方法的文章就介紹到這了,更多相關Python讀取TIF影像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python函數(shù)默認參數(shù)使用避坑指南

    python函數(shù)默認參數(shù)使用避坑指南

    這篇文章主要為大家介紹了python函數(shù)默認參數(shù)使用的踩雷避坑詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • Python中print和return的作用及區(qū)別解析

    Python中print和return的作用及區(qū)別解析

    print的作用是輸出數(shù)據(jù)到控制端,就是打印在你能看到的界面上。這篇文章給大家介紹Python中print和return的作用及區(qū)別解析,感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • Python并行分布式框架Celery詳解

    Python并行分布式框架Celery詳解

    今天小編就為大家分享一篇關于Python并行分布式框架Celery詳解的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • 使用python和pygame制作擋板彈球游戲

    使用python和pygame制作擋板彈球游戲

    這篇文章主要介紹了使用python和pygame制作擋板彈球游戲,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • Python?獲取指定開頭指定結尾所夾中間內(nèi)容(推薦)

    Python?獲取指定開頭指定結尾所夾中間內(nèi)容(推薦)

    獲取文章中指定開頭、指定結尾中所夾的內(nèi)容。其中,開頭和結尾均有多種,但最多也就十幾種,所以代碼還是具有可行性的,今天小編給大家介紹通過Python?獲取指定開頭指定結尾所夾中間內(nèi)容,感興趣的朋友一起看看吧
    2023-02-02
  • python動態(tài)文本進度條的實例代碼

    python動態(tài)文本進度條的實例代碼

    這篇文章主要介紹了python動態(tài)文本進度條的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • python讀取二進制mnist實例詳解

    python讀取二進制mnist實例詳解

    這篇文章主要介紹了python讀取二進制mnist實例詳解的相關資料,需要的朋友可以參考下
    2017-05-05
  • Python中的turtle畫箭頭,矩形,五角星

    Python中的turtle畫箭頭,矩形,五角星

    這篇文章主要介紹了Python中的turtle畫箭頭,矩形,五角星,Turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,下面實操繪制,需要的小伙伴可以參考一下
    2022-03-03
  • Python導入模塊時遇到的錯誤分析

    Python導入模塊時遇到的錯誤分析

    這篇文章主要給大家詳細解釋了在Python處理導入模塊的時候出現(xiàn)錯誤以及具體的情況分析,非常的詳盡,有需要的小伙伴可以參考下
    2017-08-08
  • python 對任意數(shù)據(jù)和曲線進行擬合并求出函數(shù)表達式的三種解決方案

    python 對任意數(shù)據(jù)和曲線進行擬合并求出函數(shù)表達式的三種解決方案

    這篇文章主要介紹了python 對任意數(shù)據(jù)和曲線進行擬合并求出函數(shù)表達式的三種解決方案,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02

最新評論