L_DeskewBitmapExt

# include“l_bitmap.h”

L_LTIMGCOR_APIL_INTL_DeskewBitmapExt(pBitmap, pnAngle, uAngleRange, uanglerresolution, crBack, uFlags)

旋转指定的位图以使其平直。此函数通常用于自动矫正扫描图像。

参数

pBITMAPHANDLEpBitmap

指向位图句柄的指针,该句柄引用要伸直的位图。

L_INT* pnAngle

NULL或要用函数旋转图像的量更新的变量的地址。旋转的量以百分之一度表示。例如,500表示顺时针5度。如果不需要检查旋转量,可以传递NULL。

L_UINTuAngleRange

倾斜的最大角度,以百分之一度为单位。取值范围为0 ~ 4500。这个值在内部除以100。

L_UINTuAngleResolution

倾斜角度精度。有效范围为1 ~uAngleRange(最大倾斜角度)。实际值除以10。

也就是说crBack

用于填充旋转后背景的颜色。只有在DSK_FILL中设置时才使用此值uFlags

L_UINTuFlags

标记,指示是否对图像进行去角处理,使用哪种背景颜色,如果倾斜角度非常小是否对图像进行去角处理,将使用哪种插值类型,以及图像主要是文本还是文本和图片。您可以使用按位或(|)从每个组指定一个标志。

价值 意义
在找到倾斜角度后对图像进行倾斜
DSKW_PROCESS [0x00000000]旋转图像
DSKW_NOPROCESS [0x00000001]不要旋转图像。使用这个标志来查找旋转角度。
背景色用于填充旋转后暴露的区域
DSKW_FILL [0x00000000]使用颜色crBack填充旋转后暴露的区域。
DSKW_NOFILL [0x00000010]让功能自动找到合适的背景色来填充旋转后暴露的区域。忽略crBack参数。
如果倾斜角度非常小,请倾斜图像
DSKW_NOTHRESHOLD [0x00000000]对图像进行任意角度的旋转
DSKW_THRESHOLD [0x00000100]如果图像的倾斜角度很小(小于0.5度),则不要对图像进行倾斜。
要执行的插值类型
DSKW_LINEAR [0x00000000]旋转时不插补。
DSKW_RESAMPLE [0x00001000]旋转时进行双线性插值。
DSKW_BICUBIC [0x00002000]旋转时进行双三次插值。
包含纯文本或文本和图片的图像
DSKW_DOCUMENTIMAGE [0x00000000]图像只包含文本。
DSKW_DOCUMENTANDPICTURE [0x00010000]图像包含文字和图片。
DSKW_NORMALSPEEDROTATE [0x00000000]以高旋转质量正常旋转图像
DSKW_HIGHSPEEDROTATE [0x00100000]以中等旋转质量加速图像旋转(仅适用于1位图像)

返回

价值 意义
成功 活动很成功。
< 1 发生错误。指返回代码

评论

就像L_DeskewBitmap,您可以使用此功能自动将扫描的文档理顺。函数L_DeskewBitmapeExt扩展了L_DeskewBitmap功能,以增加可能的倾斜角度(从10度到45度在任何方向)。此外,它还增加了在倾斜角度非常小时放弃倾斜的功能,并指定旋转步骤的分辨率。它slso添加了在旋转时指定要执行的插值类型的功能。

如果uFlags包含DSKW_NOPROCESS,函数将更新pnAngle在不旋转图像的情况下使用倾斜角度。

计算的旋转在任何方向上都被限制在45度。此函数适用于图像,例如扫描的文档,这些图像主要是水平的文本行。其他类型的图像的结果难以预测。

若要在执行此函数期间更新状态栏或检测用户中断,请参阅L_SetStatusCallback

此函数不支持签名数据映像。如果将签名数据图像传递给该函数,则返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED。

该功能支持12位和16位灰度和48位和64位彩色图像。支持12位和16位灰度以及48位和64位彩色图像文件和医疗成像工具包。

此函数不支持32位灰度图像。如果将32位灰度图像传递给该函数,则返回错误代码ERROR_GRAY32_UNSUPPORTED。

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

下面的示例加载一个位图并将其拉直。

如果定义(LEADTOOLS_V17_OR_LATER) !L_INT DeskewBitmapExtExample (L_VOID)L_INT nRet;BITMAPHANDLE LeadBitmap;/*存放加载图像的位图句柄。* //*加载位图,保持文件的每像素位nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT(“IMAGE1。CMP”&LeadBitmap)),运算符(bitmaphandle), 0, order_bgr, null, null);如果(nRet ! =成功)返回nRet;/*倾斜位图*/nRet = L_DeskewBitmapExt(&LeadBitmap, NULL, 1000,2,0, DSKW_PROCESS | DSKW_NOFILL| DSKW_LINEAR| DSKW_DOCUMENTIMAGE);如果(nRet ! =成功)返回nRet;/ /免费的位图L_FreeBitmap (&LeadBitmap);返回成功;# endif

栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。