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

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影像內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python Locals變量管理新嘗試引領代碼風潮

    Python Locals變量管理新嘗試引領代碼風潮

    在Python中,locals()函數(shù)是一個強大的工具,它使程序員能夠訪問和操作當前作用域內的局部變量,本文將深入探討locals()函數(shù)的功能、應用和重要性
    2024-01-01
  • Python實現(xiàn)一個簡單三層神經(jīng)網(wǎng)絡的搭建及測試 代碼解析

    Python實現(xiàn)一個簡單三層神經(jīng)網(wǎng)絡的搭建及測試 代碼解析

    一個完整的神經(jīng)網(wǎng)絡一般由三層構成:輸入層,隱藏層(可以有多層)和輸出層。本文所構建的神經(jīng)網(wǎng)絡隱藏層只有一層。一個神經(jīng)網(wǎng)絡主要由三部分構成(代碼結構上):初始化,訓練,和預測。,需要的朋友可以參考下面文章內容的具體內容
    2021-09-09
  • python實現(xiàn)移位加密和解密

    python實現(xiàn)移位加密和解密

    這篇文章主要為大家詳細介紹了python實現(xiàn)移位加密和解密,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python?argparse傳遞外部參數(shù)詳細教程

    Python?argparse傳遞外部參數(shù)詳細教程

    argparse是python自帶的命令行參數(shù)解析包,可以用來方便地讀取命令行參數(shù),下面這篇文章主要介紹了Python?argparse傳遞外部參數(shù)的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-01-01
  • python安裝mysql的依賴包mysql-python操作

    python安裝mysql的依賴包mysql-python操作

    這篇文章主要介紹了python安裝mysql的依賴包mysql-python操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • python中關于日期時間處理的問答集錦

    python中關于日期時間處理的問答集錦

    python中有關日期時間處理的問答集錦,有需要的朋友不妨參考下
    2013-03-03
  • 舉例講解Python中裝飾器的用法

    舉例講解Python中裝飾器的用法

    這篇文章主要介紹了Python中裝飾器的用法,是Python學習進階當中的重要知識,需要的朋友可以參考下
    2015-04-04
  • Pandas數(shù)據(jù)分析的一些常用小技巧

    Pandas數(shù)據(jù)分析的一些常用小技巧

    這篇文章主要介紹了Pandas數(shù)據(jù)分析的一些常用小技巧,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • Python CSV模塊使用實例

    Python CSV模塊使用實例

    這篇文章主要介紹了Python CSV模塊使用實例,本文將舉幾個例子來介紹一下Python的CSV模塊的使用方法,包括reader、writer、DictReader、DictWriter.register_dialect等,需要的朋友可以參考下
    2015-04-04
  • Python進階-函數(shù)默認參數(shù)(詳解)

    Python進階-函數(shù)默認參數(shù)(詳解)

    下面小編就為大家?guī)硪黄狿ython進階-函數(shù)默認參數(shù)(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05

最新評論

莱芜市| 灌阳县| 遂昌县| 西峡县| 冕宁县| 西贡区| 盐山县| 芜湖县| 泸西县| 玉田县| 宜宾县| 庄浪县| 桂平市| 长垣县| 大余县| 海安县| 额尔古纳市| 阿瓦提县| 万山特区| 喜德县| 新兴县| 兰西县| 弥勒县| 诸城市| 望奎县| 腾冲县| 开原市| 南华县| 永修县| 黎平县| 龙井市| 玉田县| 丹阳市| 平江县| 商洛市| 呼和浩特市| 贡嘎县| 井陉县| 旅游| 化德县| 泰州市|