词根查找表(LUT) BITMAPHANDLE及其用于显示图像和执行图像处理

中的某些成员BITMAPHANDLE结构下面提到仅供内部使用,包括确切地/pLUT16,PaintHighBitPaintLowBit。这些成员是window-leveling时使用。LTKRN中可以找到更多信息。H头文件,描述了整个结构。

词根查找表(LUT)

/ 12 - 16位位图可以用查找表(附近地区)或执行图像处理显示图像。然而,使用附近地区是可选的(它可以)。如果不是的,它可以用于“显示”或“显示和执行图像处理”。的数据是由window-leveling (L_ApplyLinearVOILUT,L_WindowLevel)或通过加载与window-leveling DICOM或TIFF文件信息。

有3例:

  1. “没有附近地区”
  2. 附近地区的存在和用于只显示
  3. 附近地区的存在和用于显示和图像处理的

BITMAPHANDLE字段

的数据是存储在BITMAPHANDLE使用以下字段:

确切地

指针数组L_RGBQUAD值为每个附近地区条目包含相应的颜色。通常,L_RGBQUAD条目包含灰度的颜色。但有时,L_RGBQUAD条目包含non-grayscale颜色。条目的数量决定Flags.UseLUT,LowBit,HighBit,PaintLowBitPaintHighBit中的条目BITMAPHANDLE结构。如果确切地pLUT16,那么就没有附近地区(案例上面' 1 ')。

pLUT16

就像确切地,除了该数组包含L_RGBQUAD16价值观和每种颜色值是16位。16位值提供额外的精度比8位值。

Flags.UseLUT

如果真正的,用来显示的数据和执行图像处理(“3”以上)。在这种情况下,附近地区的数量是由条目LowBitHighBit:

附近地区长度= 1 < < (HighBit LowBit + 1)

如果,仅用于显示的。在这种情况下,附近地区的数量是由条目PaintLowBitPaintHighBit:

附近地区长度= 1 < < (PaintHighBit PaintLowBit + 1)

确切地pLUT16是同步的(也就是说,它们包含相同的信息)。如果确切地= =零pLUT16 ! =零,然后有一个附近地区。相反,如果确切地! =零pLUT16 = =零,有一个,如果确切地! =零pLUT16 ! =零,有一个附近地区和两个数组将指向相同的颜色,相同的长度。

PaintLowBit / PaintHighBit可以是不同的LowBit / HighBit,但通常他们都是相同的。

这里有3例:

  1. “没有附近地区”:确切地= =零
  2. “附近地区仅用于显示”:确切地! =零Flags.UseLUT== FALSE(或0)
  3. “附近地区用于显示和图像处理”:确切地! =零Flags.UseLUT== TRUE(1)

在情况下' 1 '和' 2 ',图像处理将图像数据上执行。

“3”,执行图像处理和附近地区。图像处理后的图像可以看到完全不同的,所以最好是重新生成的数据,以确保你看到所有的细节在新的位图。再生的通过这样的:

L_GetMinMaxVal (pBitmap MinVal MaxVal);L_ApplyLinearVOILUT (pBitmap (MinVal + MaxVal / 2), (MaxVal - MinVal) / 2, 0);

“3”,图像处理通常考虑的颜色。

使用各种图像处理函数类型

有几种类型的图像处理函数和输出会有所不同,产生一种结果:

图像处理模式

在某些情况下图像处理表现良好在使用附近地区,而在其他情况下,如果被忽略的要好。你可以选择哪个方式更适合您的应用程序。这里是如何得到每个模式:

  1. “没有附近地区”:L_WindowLevel (pBitmap pBitmap - > LowBit, pBitmap - > HighBit, NULL, 0, WINDOWLEVEL_PAINT)
  2. “附近地区仅用于显示”:L_WindowLevel确切地,(lowbit pBitmap highbit LUTLength, WINDOWLEVEL_PAINT)
  3. “附近地区用于显示和图像处理”:L_WindowLevel(WINDOWLEVEL_PAINT_AND_PROCESSING…)L_ApplyLinearVOILUT

您也可以在“2”和“3”之间切换开关pBitmap - > Flags.UseLUT国旗在0和1之间。但当这样做时,确保PaintLowBit = = LowBitPaintHighBit = = HighBit。上面的L_WindowLevel电话也可以替换L_WindowLevelExt函数调用为了使用16位的条目。

引用

L_ApplyLinearVOILUT

L_WindowLevel

L_WindowLevelExt

BITMAPHANDLE

LEADTOOLS光栅成像C API的帮助
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。