91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python+tifffile之tiff文件讀寫方式

發布時間:2020-09-19 04:10:30 來源:腳本之家 閱讀:404 作者:yuanlulu 欄目:開發技術

背景

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

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

通過搜索發現了兩個比較有用的包:TiffCapture和tifffile。兩者都可用pip安裝。

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

安裝tifffile

pip install tifffile

原理及代碼

我的圖片是8 bit灰度圖。

每次讀取之后,先升維:

new_gray = gray_img[np.newaxis, ::]

然后再使用np.append添加到數組里。每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文件讀寫方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元谋县| 徐汇区| 大理市| 延津县| 竹山县| 衡水市| 犍为县| 伊吾县| 遵化市| 桃园县| 隆德县| 晋宁县| 淮阳县| 镇江市| 子长县| 滨海县| 永靖县| 宁阳县| 巴马| 建始县| 疏勒县| 邓州市| 海原县| 寿光市| 墨玉县| 文安县| 济阳县| 济源市| 汝南县| 刚察县| 马尔康县| 交城县| 兴隆县| 龙游县| 巴彦淖尔市| 进贤县| 泸州市| 岳阳县| 友谊县| 通渭县| 三明市|