# include“l_bitmap.h”
L_LTIMGCOR_APIL_INTL_WindowLevelBitmap (pBitmap, nLowBit, nHighBit, pLUT, uLUTLength, nOrderDst, uFlags)
将12位或16位灰度图像转换为8位灰度图像或24位RGB位图。
指向位图句柄的指针,引用要调平的位图。
用于调平的低位值。0 <= nLowBit <= nHighBit <=(12位灰度为11,16位灰度为15)。
用于调平的高位的值。0 <= nLowBit <= nHighBit <=(12位灰度为11,16位灰度为15)。
可选查找表,可用于实现用户定义的转换。对于在0到2之间的强度值的幂(nHighBit
-nLowBit
+ 1) - 1,在查找表中应该有一个对应的条目,包含一个RGB四边形。如果pLUT为NULL,则转换为正常移位(右移或左移),输出位图为8位灰度。如果pLUT不为NULL,则输出位图为24位位图。
值,该值指示由pLUT指向的条目的数量。
值,如果输出位图为24位,则指示颜色顺序。如果确切地
为NULL时,该参数将被忽略。可能的值是:
价值 | 意义 |
---|---|
ORDER_RGB | [0]输入颜色为红绿蓝顺序。 |
ORDER_BGR | [1]输入颜色为蓝、绿、红顺序。 |
保留以备将来使用。必须是0。
价值 | 意义 |
---|---|
成功 | 函数成功。 |
< 1 | 一个错误发生。指返回代码. |
这个函数将位图转换为窗口水平位图。要在不影响图像的情况下实现窗口调平,请使用L_WindowLevel.
位图数据由此函数更改。
该函数支持12位和16位灰度。中提供对12位和16位灰度图像的支持文档和医疗成像工具包。
这个函数类似于L_WindowLevelBitmapExt,只不过它使用8位的每个组件LUT,而不是16位的每个组件LUT。如果需要更高的精度,可以使用L_WindowLevelBitmapExt而不是L_WindowLevelBitmap.
有关保存已被窗口调平的位图的信息,请参见储蓄Window-Leveled位图.
对于10-16位灰度图像,LEADTOOLS支持两种LUT(8位LUT和16位LUT)。典型的灰度图像显示和处理是使用8位LUT完成的。但是,您也可以使用16位LUT,它提供了更高的精度。一些特殊的视频卡和监视器还支持使用16位LUT显示灰度图像。
该函数不支持32位灰度图像。如果将32位灰度图像传递给此函数,则返回错误代码ERROR_GRAY32_UNSUPPORTED。
所需的dll和库
Win32 x64, Linux。
此示例窗口使用自定义调色板对位图进行调平。图像
本例中修改了数据。
L_INT WindowLevelBitmapExample (pBITMAPHANDLE pBitmap)
{
/*加载一个传递的24位图像*/
L_INT nRet;
L_UINT32 x;
RGBQUAD * ptmp;
RGBQUAD *确切地;
L_INT nLowBit;
L_INT nHighBit;
L_INT nLow;
L_INT nHigh;
L_UINT32 nSize;
/*将位图更改为16位灰度*/
nRet = L_GrayScaleBitmap(pBitmap, 16);
如果(nRet ! =成功)
返回nRet;
nRet = L_GetMinMaxBits(pBitmap, &nLowBit, &nHighBit, 0);
如果(nRet ! =成功)
返回nRet;
nRet = L_GetMinMaxVal(pBitmap, &nLow, &nHigh, 0);
如果(nRet ! =成功)
返回nRet;
nSize = (L_UINT32)(1L<<(pBitmap->HighBit - pBitmap->LowBit + 1));
pLUT = (RGBQUAD *)GlobalAllocPtr(GHND, nSize * .运算符(RGBQUAD));
ptmp =确切地;
/*用RED填充LUT的前半部分*/
为(x = 0; x < nSize / 2; x + +)
{
ptmp - > rgbRed = 255;
ptmp - > rgbGreen = 0;
ptmp - > rgbBlue = 0;
ptmp - > rgbReserved = 0;
ptmp + +;
}
/*用灰色值填充其余部分*/
为(x = nSize / 2; x < nSize; x + +)
{
ptmp->rgbRed = ((L_UCHAR) ((L_UINT32) (x - nLow) * 255 / (nHigh - nLow));
ptmp - > rgbGreen = ptmp - > rgbRed;
ptmp - > rgbBlue = ptmp - > rgbGreen;
ptmp - > rgbReserved = 0;
ptmp + +;
}
nRet = L_WindowLevelBitmap (pBitmap, nLowBit, nHighBit,(RGBQUAD *)pLUT, nSize, ORDER_BGR, 0);
如果(nRet ! =成功)
返回nRet;
GlobalFreePtr(确切地);
返回成功;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送到支持!应该有人联系你!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格开始新的聊天。
所有代理目前都离线。
聊天时间:
周一-周五
上午8:30 -下午6点
如需联系我们,请填写此表格,我们将通过电子邮件与您联系。