程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

raw圖片python醫學影像的格式轉換

編輯:Python

很多醫學圖像是raw格式保存的,raw同時也是單反相機的拍攝照片的原格式。

RAW圖像:CMOS或者CCD圖像感應器將捕捉到的光源信號轉化為數字信號的原始數據。

最近使用pytorch處理眼科醫學影像時,需要把raw轉換為jpg。因為raw圖像一般不能直接處理,所以使用Python進行格式轉換。經過搜索都說的很復雜,什麼要獲得raw的數據格式,圖片的長寬之類的,結果自己嘗試,直接opencv就可以結果,所以記錄一下,也沒有深入研究,期待以後繼續深度研究raw圖像的處理。

核心代碼

img = cv2.imread(filePath)
cv2.imwrite(filename, img)

完整代碼:jpg.py

import numpy as np
import os
import cv2
import shutil
from PIL import Image
def searchDirFile(rootDir,saveDir):
for dir_or_file in os.listdir(rootDir):
try:
filePath = os.path.join(rootDir, dir_or_file)
# 判斷是否為文件
if os.path.isfile(filePath):
# 如果是文件再判斷是否以.jpg結尾,不是則跳過本次循環
if os.path.basename(filePath).endswith('.raw'):
print('imgBox fileName is: '+os.path.basename(filePath))
# 拷貝jpg文件到自己想要保存的目錄下
# shutil.copyfile(filePath,os.path.join(saveDir,os.path.basename(filePath)))
img = cv2.imread(filePath)
path2 = filePath.split('/')[2]
path = f'{saveDir}/{path2}'
# print(path)
if not os.path.exists(path):
os.makedirs(path)
filename = os.path.splitext(os.path.basename(filePath))[0] + ".jpg"
filename = os.path.join(path, filename)
print('filename is: '+filename)
cv2.imwrite(filename, img)
else:
continue
# 如果是個dir,則再次調用此函數,傳入當前目錄,遞歸處理。
elif os.path.isdir(filePath):
searchDirFile(filePath, saveDir)
else: print('not file and dir '+os.path.basename(filePath))
except:
continue
if __name__ == '__main__':
rootDir = './Images'
saveDir = './jpg'
searchDirFile(rootDir, saveDir)
print("the end !!!")


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved