# include“Ltimgcor.h”
L_LTIMGCOR_APIL_INTL_Keystone (pBitmap,如此,pOutBitmap)
执行逆透视变换(梯形)在一个图像。
位图句柄指针纠正。
指针指向一个包含四个L_POINT多边形点的位图映射到一个矩形。
指针的指针代表产生的纠正位图的位图句柄。
| 价值 | 意义 |
|---|---|
| 成功 | 函数是成功的。 |
| < 1 | 一个错误发生。指返回代码。 |
频繁、图像捕捉到便携式设备是扭曲的,因为他们是投射到一个表面在一个角度。竖线变成斜等。L_Keystone函数把一个多边形映射到一个矩形(逆透视变换),并可用于正确的角度来看这些图片。
使用L_Keystone或L_ManualPerspectiveDeskew函数如果有平面变形沿三个轴。使用L_UnWarp如果有一个圆柱形的变形函数。
输入如此之应该包含4多边形点。这些问题将成为矩形的角落和其余的像素相应转移。
这个函数只能处理整个图像。它不支持区域。
这个函数支持12 - 16位灰度和48和64位彩色图像。
必需的dll和库
Win32 x64, Linux。
这个示例加载位图和调整角度的观点。
L_INT KeystoneExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;/ *加载位图句柄保存图像。* // *加载位图,保持文件的比特每像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“Master.jpg”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;/ *应用梯形滤波器* /BITMAPHANDLE OutBitmap;L_POINT如此[4];如此[0]。x = 94;如此[0]。y = 94;如此[1]。x = 306;如此[1]。y = 43;如此[2]。x = 318;如此[2]。y = 237;如此[3]。x = 98;如此[3]。y = 237;如此,nRet = L_Keystone (&LeadBitmap &OutBitmap);如果(nRet = =成功)nRet = L_SaveBitmap (MAKE_IMAGE_PATH(文本(“Result.BMP”))、&OutBitmap FILE_BMP, 24岁,0,NULL);/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);如果(OutBitmap.Flags.Allocated)L_FreeBitmap (&OutBitmap);返回nRet;}