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

python+tifffile之tiff文件讀寫方式

 更新時間:2020年01月13日 14:54:55   作者:yuanlulu  
今天小編就為大家分享一篇python+tifffile之tiff文件讀寫方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

背景

使用python操作一批同樣分辨率的圖片,合并為tiff格式的文件。

由于opencv主要用于讀取單幀的tiff文件,對多幀的文件支持并不好。

通過搜索發(fā)現(xiàn)了兩個比較有用的包:TiffCapture和tifffile。兩者都可用pip安裝。

其中前者主要用于讀取tiff文件,后者可讀可寫。最終選擇tifffile來合成tiff圖片文件。

安裝tifffile

pip install tifffile

原理及代碼

我的圖片是8 bit灰度圖。

每次讀取之后,先升維:

new_gray = gray_img[np.newaxis, ::]

然后再使用np.append添加到數(shù)組里。每append一次,相當于tiff增加一幀圖片。

tiff_list = np.append(tiff_list, new_gray, axis=0)

所有操作完畢,則一次性保存到磁盤。

tifffile.imsave( out_tiff_path, tiff_list )

下面是我的完整代碼:

import cv2
import tifffile
import time
import numpy as np
import time
import os

img_path = '../word_all'
out_txt_path = '../out_word_all.box'
out_tiff_path = '../out_word_all.tif'

tiff_list = None


with open(out_txt_path, 'wb') as f:
  dir_list = os.listdir(img_path)
  cnt_num = 0
  
  for dir_name in dir_list:
    dir_path = os.path.join(img_path, dir_name)
    img_list = os.listdir(dir_path)
    pwd = os.getcwd()
    os.chdir(dir_path)
    
    for img in img_list:
      
      print('dir_path:{}'.format(dir_path))
      gray_img = cv2.imread(img, cv2.IMREAD_GRAYSCALE)
      new_gray = gray_img[np.newaxis, ::]
      print('gray_img shape:{}, new_gray shape:{}'.format(gray_img.shape, new_gray.shape))
      #global cnt_num
      if cnt_num == 0:
        print('cnt_num == 0')
        tiff_list = new_gray
      else:
        print('np.append')
        tiff_list = np.append(tiff_list, new_gray, axis=0)
        print('tiff_list shape:{}'.format(tiff_list.shape))
      
      content = '{} 2 2 60 60 {}\n'.format(dir_name, cnt_num)
      print(content)
      f.write(content.encode('UTF-8'))
      cnt_num += 1
    os.chdir(pwd)

  tifffile.imsave( out_tiff_path, tiff_list )


print('tiff_list shape:{}'.format(tiff_list.shape))

以上這篇python+tifffile之tiff文件讀寫方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳細介紹Python中的偏函數(shù)

    詳細介紹Python中的偏函數(shù)

    這篇文章主要介紹了Python中的偏函數(shù),示例代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • Python Numpy實現(xiàn)修改數(shù)組形狀

    Python Numpy實現(xiàn)修改數(shù)組形狀

    NumPy(Numerical Python)是Python中用于處理數(shù)組和矩陣的重要庫,它提供了豐富的功能,用于科學計算,本文主要介紹了如何使用NumPy提供的方法來改變數(shù)組的形狀,感興趣的可以了解下
    2023-11-11
  • opencv深入淺出了解機器學習和深度學習

    opencv深入淺出了解機器學習和深度學習

    機器學習是人工智能的核心,專門研究如何讓計算機模擬和學習人類的行為。?深度學習是機器學習中的一個熱門研究方向,它主要研究樣本數(shù)據(jù)的內在規(guī)律和表示層次,讓計算機能夠讓人一樣具有分析與學習能力
    2022-03-03
  • python實現(xiàn)畫圖工具

    python實現(xiàn)畫圖工具

    這篇文章主要為大家詳細介紹了python實現(xiàn)畫圖工具,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • Pandas數(shù)據(jù)清洗的維度詳解

    Pandas數(shù)據(jù)清洗的維度詳解

    數(shù)據(jù)清洗是數(shù)據(jù)分析的基礎,關鍵于提高數(shù)據(jù)質量和保證分析準確性。通過數(shù)據(jù)清洗,可以減少錯誤、增加數(shù)據(jù)可用性、保護隱私。Pandas提供多種方法處理缺失值和重復值,還有多種方式識別和處理異常值。掌握這些技巧對提升數(shù)據(jù)處理能力極為重要
    2024-09-09
  • Numpy中的mask的使用

    Numpy中的mask的使用

    這篇文章主要介紹了Numpy中的mask的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Python將CSV文件轉化為HTML文件的操作方法

    Python將CSV文件轉化為HTML文件的操作方法

    很多朋友問小編Python如何將CSV文件轉化為HTML文件,csv文件讀取怎么操作呢?帶著這些問題一起通過本文學習吧
    2021-06-06
  • pygame 鍵盤事件的實踐

    pygame 鍵盤事件的實踐

    本文主要介紹了pygame 鍵盤事件,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python3 ID3決策樹判斷申請貸款是否成功的實現(xiàn)代碼

    Python3 ID3決策樹判斷申請貸款是否成功的實現(xiàn)代碼

    這篇文章主要介紹了Python3 ID3決策樹判斷申請貸款是否成功的實現(xiàn)代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • jupyter notebook插入本地圖片的實現(xiàn)

    jupyter notebook插入本地圖片的實現(xiàn)

    這篇文章主要介紹了jupyter notebook插入本地圖片的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04

最新評論