Conversión de formato de imagen médica de python de imagen sin formato

Muchas imágenes médicas se guardan en formato sin procesar, que también es el formato original de las fotos tomadas por las cámaras SLR.

Imagen RAW: El sensor de imagen CMOS o CCD convierte la señal de la fuente de luz capturada en los datos originales de la señal digital.

Recientemente, cuando se usa pytorch para procesar imágenes médicas oftálmicas, es necesario convertir las imágenes sin procesar a jpg. Debido a que las imágenes sin procesar generalmente no se pueden procesar directamente, Python se usa para la conversión de formato. Después de buscar, es muy complicado. Qué obtener el formato de datos en bruto, la longitud y el ancho de la imagen, etc., el resultado es probarlo usted mismo, y el resultado se puede obtener directamente por opencv, así que regístrelo, y no la he estudiado en profundidad.Espero seguir estudiando la imagen en bruto en profundidad en el futuro.procesamiento.

código central

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

Código completo: 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 !!!")


Supongo que te gusta

Origin blog.csdn.net/weixin_42748604/article/details/119539168
Recomendado
Clasificación