L_DynamicBinaryBitmap

# include“l_bitmap.h”

L_LTIMGCLR_APIL_INTL_DynamicBinaryBitmap (pBitmap uDim、uLocalContrast uFlags)

将位图转换成黑白图像而不改变其比特每像素利用局部图像的每个像素的阈值。这个函数也有用的图像预处理的目的提高条形码识别结果。

参数

pBITMAPHANDLEpBitmap

位图句柄指针引用的位图被改变。

L_UINTuDim

维度的社区评估每个像素(uDim x uDim)时,以像素为单位。uDim应该至少1。

L_UINTuLocalContrast

局部对比度阈值。如果对比像素低于uLocalContrast,周围的像素转换为黑色或白色使用全局预计算阈值。如果周围像素的对比是高于uLocalContrast,计算局部阈值和使用。uLocalContrast的范围是0到255 8位,0到4095的12位和16位的0到65535。

L_UINT32uFlags

保留以供将来使用。必须是0。

返回

价值 意义
成功 函数是成功的。
< 1 一个错误发生。指返回代码

评论

这个函数不支持已签名的数据图像。它返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED如果签名数据图像是传递给这个函数。

使用L_AutoBinaryBitmap当你只是想二元分割应用于位图使用一个基于two-peak方法自动计算阈值的直方图统计分析。使用L_DynamicBinaryBitmap如果你想将位图转换成黑白图像而不改变其比特每像素利用局部图像的每个像素的阈值。如果你想要使用L_AutoBinarizeBitmap:

这个函数将位图转换成黑白图像而不改变其位/像素。

这个函数支持12和16位灰度和48和64位彩色图像。支持12和16位灰度和48和64位彩色图像是可用的文档和医疗成像工具包。

每个像素比作dynamically-calculated阈值。如果像素较高的强度(即像素亮度)比动态阈值,像素将被设置为白色。如果像素较低的强度(即像素颜色较深)比动态阈值,像素将被设置为黑色。

这里有一些提示使用此函数:

这个函数是很好的将扫描图像转换为比特的先决条件,因为它使用一个阈值背景,另一个用于文本。

更新状态栏或检测用户中断在执行这个函数,引用L_SetStatusCallback

这个函数不支持32位灰度图像。它返回错误代码ERROR_GRAY32_UNSUPPORTED如果一个32位的灰度图像是传递给这个函数。

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

这个示例加载位图并将其转换成黑白图像而不改变其位/像素

L_INT DynamicBinaryBitmapExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;/ *加载位图句柄保存图像。* // *加载位图,保持文件的比特每像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“ImageProcessingDemo \ \ Beauty16.jpg”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;/ *将它转换为黑白图像,以改变其比特每像素* /nRet = L_DynamicBinaryBitmap (&LeadBitmap 8, 16日0);如果(nRet ! =成功)返回nRet;nRet = L_SaveBitmap (MAKE_IMAGE_PATH(文本(“Result.BMP”))、&LeadBitmap FILE_BMP, 24岁,0,NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;}

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