V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
jeeyong
V2EX  ›  Python

[求助]关于 dicom 文件转存为 png 时灰度处理的问题.

  •  
  •   jeeyong · 2022-09-28 01:03:35 +08:00 · 2052 次点击
    这是一个创建于 807 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我又来问 dicom 格式转换的问题了.
    首先, 处理的不是标准 dcm 文件(或者说我不知道他是否属于其他标准.)
    处理的都是医院排版好的 dcm 文件. 从单张图排版到 36 张图排版的都有.
    保存的文件有部分是 1 张图, 有的是 2 张图.
    不能够通过 pydicom.pixel_array 或者 pydicom.pixeldata 获取像素信息.
    是通过如下方式读取:
    dcm.ReferencedImageBoxSequence[0].BasicGrayscaleImageSequence[0].PixelData
    dcm 是一个 pydicom 打开文件的实例.
    这种文件也是属于某种标准 dcm 协议吗?

    处理的时候, 得到的像素数组为:
    [灰度, 通道, 灰度, 通道, 灰度, 通道, 灰度, 通道, 灰度, 通道, 灰度, 通道]
    这种形式, 通过解析得到的图片很暗. 如下:
    https://imgur.com/X78MlsO

    期望得到如下的图像:
    https://imgur.com/c8zKTI1

    期望得到的图像是 jpg 格式的 RGB 图, 但是 RGB 的值都是一样的, 应该也是灰度图转过来的.
    尝试过只取灰度生成, 结果也差很多. 暗的看不出来...
    以上!

    感谢
    4 条回复    2022-09-28 20:16:19 +08:00
    ysc3839
        1
    ysc3839  
       2022-09-28 05:38:42 +08:00 via Android
    按照你给的图总感觉是更宽的范围被降低到了窄的范围。建议说一下“期望得到如下的图像”是怎么来的。
    krixaar
        2
    krixaar  
       2022-09-28 09:11:09 +08:00
    按照你上次的帖子总感觉是转出来的 PNG 是带透明度的,底下得叠一个纯白色底图才行……
    laqow
        3
    laqow  
       2022-09-28 15:52:25 +08:00
    我猜 dicom16 位图起步你存 8 位灰度肯定是黑的啊
    jeeyong
        4
    jeeyong  
    OP
       2022-09-28 20:16:19 +08:00
    @ysc3839 别的系统导出来的...


    @laqow 解决了..一直是尝试转成 int 类型的, 改成 uin8 就得到期望的类型了..
    但是至于为啥...我不懂.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1224 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 17:38 · PVG 01:38 · LAX 09:38 · JFK 12:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.