Python JPG图片转DCM

Python JPG图片转DCM,第1张

和dcm转dcm一样的方法,同样是通过修改dcm.PixelData来改变dcm的像素内容。


下面是将一个三通道黑白JPG图片(512,512,3)转为dcm文件的例子:

注意:黑白二值图的三个通道,每个通道的数值都是一样的,取一个就行,这样就得到(512,512)的二维数组了。


import pydicom
import numpy as np
import os
from pydicom.uid import ExplicitVRLittleEndian
import cv2
img = cv2.imread("001.jpg")
print(img.shape)    #(512, 512, 3)
# cv2.imshow("001.jpg",img)
# cv2.waitKey()
print(img.dtype)    #uint8
img_arr16 = np.array(img, dtype=np.int16)
#print(data_changed)
data_changed = img_arr16[:, :, 0]
print(data_changed.shape)   #(512, 512)
pd = data_changed.tobytes()
print(len(pd))  #524288
dcm = pydicom.dcmread("001.dcm")
dcm.PixelData = pd
dcm.file_meta.TransferSyntaxUID = ExplicitVRLittleEndian
dcm.save_as("002.dcm")

输出:

(512, 512, 3)
uint8
(512, 512)
524288

 002.dcm:

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/579753.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存