ValueError:数据集中像素数据的长度(475876 字节)与预期长度(524288 字节)不匹配

问题描述 投票:0回答:1

我正在尝试读取 DIACOM 图像并将其转换为 jpg,为什么在读取扩展名为 .dcm 的图像时发生此错误

应该如何解决这个问题?

图像大小重要还是数据类型重要?

python deep-learning
1个回答
0
投票

首先,是的,尺寸很重要,您需要所有图像具有相同的尺寸,并以相同的方式存储,这就是预处理的目的。

但是我不确定我明白你想要做什么,如果你想使用深度学习将 dicom 转换为 jpg,请注意,存在一种算法可以完成此操作,你可以在这里找到更多相关信息https://medium.com/@vivek8981/dicom-to-jpg-and-extract-all- Patients-information-using-python-5e6dd1f1a07d以及这里使用python读取和打开dicom图像,它不太完整但这就是我找到第一个链接的地方

如果这不是您想要做的,或者您仍然想做,那么我将如何进行预处理:

首先为您愿意的最大图像设置一个尺寸,您使用的所有图像都将设置为该尺寸,通过填充黑色像素或剪切 然后从每个图像中提取像素:

import pydicom as dicom

def extract(path):
    ds = dicom.dcmread(image_path)
    return ds.pixel_array

然后填充或剪切每个图像,我不包括该步骤,因为它有很多代码,但不是很复杂:

  • 找出尺寸差异
  • 填写第一行
  • 填充中间行的开头和结尾
  • 填写最后几行

切割也是同样的事情
完成后,将所有图片放入列表中并开始训练

要将图像导出为 jpg,只需执行以下操作:

import cv2
cv2.imwrite(path + '.jpg', pixel_array)```
© www.soinside.com 2019 - 2024. All rights reserved.