我遇到过在对象检测中使用dicom文件的问题。我需要识别CT(计算机断层扫描)图像上的各种物体。
我尝试按照本教程。作者使用jpeg文件标记数据集,获取具有图像上对象坐标的csv文件:
我需要做的几乎一样,除了我没有jpegs,而是我有大量的dicom文件。我试图将它们转换为jpeg,但结果文件中存在质量损失。
我的问题是:
1)有没有什么好的方法可以将dicom文件转换成jpeg而不会造成大的质量损失?
2)有没有其他方法可以在dicom文件上进行对象检测?
提前致谢!
答案 0 :(得分:1)
Ad 1)质量损失取决于提取时应用于JPEG的压缩率。在图像分析方面,我会尝试避免(有损)压缩并使用像PNG这样的无损格式。
来自dcmtk的工具dcmj2pnm可能是您想要用来将DICOM文件转换为简单图像格式的工具。使用参数+ Jq,您可以控制压缩产生的质量(即信息丢失量)。同样的工具也可用于转换为其他格式(BMP,PNG)。
答案 1 :(得分:1)
您关注的教程使用OpenCV
进行图像处理。因此,您不必将DICOM转换为jpg,而是直接使用DICOM像素数据:
在文件Object_detection_image.py
中,而不是第92行:image = cv2.imread(PATH_TO_IMAGE)
:
import pydicom
ds = pydicom.dcmread(PATH_TO_DICOM_IMAGE)
image = ds.pixel_array