android-正确的像素处理逻辑为DICOM JPEG(RGB)应用窗口宽度和级别过滤器

android-正确的像素处理逻辑为DICOM JPEG(RGB)应用窗口宽度和级别过滤器,第1张

概述我正在尝试将寡妇宽度和级别过滤器应用于从DICOM文件中提取的JPEG图像.这是我用来处理RGB图像每个通道的逻辑,例如我 *** 纵红色通道,例如android渲染脚本中的以下代码示例代码展示了我如何 *** 作图像的红色通道.(我对绿色和蓝色通道也是如此)它确实会 *** 纵JPEG图像寡妇的宽度和水平,

我正在尝试将寡妇宽度和级别过滤器应用于从DICOM文件中提取的JPEG图像.

这是我用来处理RGB图像每个通道的逻辑,例如我 *** 纵红色通道,例如android渲染脚本中的以下代码

示例代码展示了我如何 *** 作图像的红色通道.
(我对绿色和蓝色通道也是如此)

它确实会 *** 纵JPEG图像寡妇的宽度和水平,但是如果有人知道正确的像素处理数学来 *** 纵RGB JPEGS窗口宽度和水平的正确方法,则不能确定它是否正确地 *** 纵DICOM JPEGS,请帮我,因为它的结果是什么(20 %)与基于Windows的DicomVIEwers不同(我知道“窗口水平和宽度”仅适用于单色图像,但某些DicomVIEwer(例如“ ShowCase”)确实将此类滤镜应用于RGB)

    displayMin = (windowLevel- windowWIDth/2);    displayMax = (windowLevel+ windowWIDth/2);    /*Manipulate Red Channel */    if(current.r < displayMin)    {      current.r = 0;    }    else if(current.r > displayMax)    {       current.r = 1;    } 

解决方法:

您当前的方法只是将输入数据截断以适合窗口,这肯定是有用的.但是,它并没有真正让您看到窗口/级别的好处,尤其是在大于8bpp的图像上,因为它没有增强任何细节.

您通常希望以某种方式将窗口输入范围(displayMin到displayMax)重新映射到输出范围(0到1).我认为没有确定的“正确”方法,尽管这是我认为有用的简单线性映射:

if (current.r <= displayMin || displayMin == displayMax){    current.r = 0;}else if (current.r >= displayMax){    current.r = 1;}else{    current.r = (current.r - displayMin) / (displayMax - displayMin);}

这样做只是将受限的窗口扩展到整个颜色空间.您可以将其视为放大细节.

(displayMin == displayMax条件只是为了防止被零除.)

总结

以上是内存溢出为你收集整理的android-正确的像素处理逻辑为DICOM JPEG(RGB)应用窗口宽度和级别过滤器全部内容,希望文章能够帮你解决android-正确的像素处理逻辑为DICOM JPEG(RGB)应用窗口宽度和级别过滤器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址:https://www.54852.com/web/1075686.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存