问题:pydicom解析dcm文件,在dcm.pixel_array 生成数组时程序运行错误,想知道这样的异常怎么解决?
环境:PyCharm+python+win10
文件名称格式:1123243.3234432.a.342.dcm
问题说明:只是部分图片无法解析,并不是所有的dcm文件都会报这种异常
源代码:
import shutil
import pydicom
import os
import cv2
import numpy as np
def convert_file(dcm_file_path, jpg_file_path):
#遍历本地文件路径
for dirs in os.listdir(dcm_file_path):
#拼接成绝对路径
dirs = os.path.join(dcm_file_path,dirs)
print(dirs)
#用pydicom读取dcm文件
dcm = pydicom.read_file(dirs)
print(dcm)
#获得图像信息
img = dcm.pixel_array #程序运行到此处的时候报错
print(img)
# scaled_img = cv2.convertScaleAbs(
# img - np.min(img), alpha=(255.0 / min(np.max(img) - np.min(img), 10000)))
# print(os.path.join(jpg_file_path,dirs,os.path.basename(dirs)))
# new_filename = os.path.join(jpg_file_path, dirs, os.path.basename(dirs).split('.')[0] + '.jpg')
# print(new_filename)
# cv2.imwrite(new_filename, scaled_img)
dstpath = r'D:\test\wandong'
srcpath = r'D:\test\jpg02'
convert_file(dstpath,srcpath)
运行报错:
No available image handler could decode this transfer syntax JPEG Lossless, Non-Hierarchical, First-Order Prediction (Process 14 [Selection Value 1])