# include“l_bitmap.h”
L_LTIMGCLR_APIL_INTL_ColorLevelBitmap (pBitmap pLvlClr uFlags)
将颜色调平应用于图像。它可以改变图像的阴影、中调和高光。
位图句柄的指针。
指针指向一个LVLCLR结构,其中包含LVLCLRINF结构,这反过来包含关于阴影,中调和高光的红,绿,蓝和主通道的信息。
标志,指示通道正在被调平。可能的值是:
价值 | 意义 |
---|---|
LEVEL_RED | [0 x0001]红色通道 |
LEVEL_GREEN | [0 x0010]绿色通道 |
LEVEL_BLUE | [0 x0100]蓝色通道 |
LEVEL_MASTER | [0 x1000]所有频道 |
价值 | 意义 |
---|---|
成功 | 函数成功。 |
< 1 | 一个错误发生。指返回代码. |
此函数用于预处理图像提高条形码识别结果。
在调用L_ColorLevelBitmap函数之前,初始化的大小和所有剩余字段LVLCLRINF内部的结构LVLCLR结构。这些字段告诉L_ColorLevelBitmap是什么组成阴影、中调和高光,以及如何重新映射阴影、中调和高光。
通过控制nMinInput, nMaxInput, nMinOutput, nMaxOutput和uGamma成员的值来控制图像平衡和调平的数量LVLCLRINF结构所包含的pLvlClr
参数。请记住以下注意事项:
LVLCLRINF结构的nMinInput成员定义了函数解释为该颜色通道的阴影。任何小于或等于nMinInput的值都被认为是阴影。
LVLCLRINF结构的nMaxInput成员定义了函数解释为该颜色通道的高亮显示内容。任何大于或等于nMaxInput的值都被认为是高亮值。
nMaxInput成员的值必须比nMinInput成员的值至少大2。
中间音调是介于nMinInput和nMaxInput之间的值。
nMinOutput成员是阴影将被映射到的值。
nMaxOutput成员是高亮内容将映射到的值。
uGamma成员用于修改中音值
如果只设置了LEVEL_MASTERuFlags
,那么其余的频道仍然会受到影响。
如果图像是灰度图像,在uFlags中设置LEVEL_MASTER(否则,函数将没有任何效果)。
如果nMinOutput > nMaxOutput则位图的阴影和高光将被颠倒。
要在执行此函数期间更新状态栏或检测用户中断,请参考L_SetStatusCallback.
该函数支持12位和16位灰度图像以及48位和64位彩色图像。支持12位和16位灰度以及48位和64位彩色图像文档和医疗成像工具包。
该函数不支持32位灰度图像。如果将32位灰度图像传递给此函数,则返回错误代码ERROR_GRAY32_UNSUPPORTED。
如果图像有一个区域,效果将只应用于该区域。
所需的dll和库
Win32 x64, Linux。
有关完整的示例代码,请参阅DEMO的childc模块
的例子。
这个例子加载一个位图并对其应用图像调平。
L_INT ColorLevelBitmapExample (L_VOID)
{
L_INT nRet;
BITMAPHANDLE LeadBitmap;/*位图句柄保存加载的图像。* /
LVLCLR LVLCLR;
/*加载位图,保持文件的每像素位
nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT))“IMAGE1。CMP”&LeadBitmap)),运算符(bitmaphandle), 0, order_bgr, null, null);
如果(nRet ! =成功)
返回nRet;
lvlClr。uStructSize =运算符(LVLCLR);
/*指定图像级别*/
lvlClr.blue.nMinInput = 20;
lvlClr.blue.nMaxInput = 200;
lvlClr.blue.nMinOutput = 0;
lvlClr.blue.nMaxOutput = 255;
lvlClr.blue.uGamma = DEFAULT_GAMMA;
// Master将导致图像被颠倒
lvlClr.master.nMinInput = 0;
lvlClr.master.nMaxInput = 255;
lvlClr.master.nMinOutput = 255;
lvlClr.master.nMaxOutput = 0;
lvlClr.master.uGamma = DEFAULT_GAMMA;
/*调平蓝色和主通道*/
nRet = L_ColorLevelBitmap (&LeadBitmap, &lvlClr, LEVEL_BLUE | LEVEL_MASTER);
如果(nRet ! =成功)
返回nRet;
nRet = L_SaveBitmap (MAKE_IMAGE_PATH(文本(“Result.BMP”), &LeadBitmap, FILE_BMP, 24, 0, NULL);
如果(nRet ! =成功)
返回nRet;
/ /免费的位图
如果(LeadBitmap.Flags.Allocated)
L_FreeBitmap (&LeadBitmap);
返回成功;
}
帮助收藏
光栅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点
如需联系我们,请填写此表格,我们将通过电子邮件与您联系。