L_LocalHistoEqualizeBitmap

# include“l_bitmap.h”

L_LTIMGCLR_APIL_INTL_LocalHistoEqualizeBitmap(pBitmap, nWidth, nHeight, nxExt, nyExt, uType, uSmooth, uFlags)

根据指定的颜色空间在位图中局部线性化像素数。这可以用来在图像的黑暗区域带出细节,并平滑块之间的边缘。

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

参数

pBITMAPHANDLEpBitmap

指向要更改的位图句柄的指针。

L_INTnWidth

局部直方图均衡器矩形的宽度,以像素为单位。宽度应该大于零。

L_INTnHeight

局部直方图均衡器矩形的高度,以像素为单位。高度应该大于零。

L_INTnxExt

局部直方图均衡器矩形宽度的扩展,以像素为单位。

L_INTnyExt

局部直方图均衡器矩形高度的扩展,以像素为单位。

L_UINTuType

标志,指示要均衡的颜色空间。可能取值为:

价值 意义
RGB_SPACE [0x0001]线性化整个RGB颜色空间的像素数。(分离通道)
YUV_SPACE [0x0002]线性化整个YUV颜色空间的像素数。(效果最好)
GRAY_SPACE [0x0004]在图像的灰度表示中线性化每个灰度的像素数。

L_UINTuSmooth

平滑局部块之间边缘时使用的区域大小。取值范围为0 ~ 7,但如果nHeight小于或等于7,则该项的最大值为nHeight - 1。如果ussmooth = 0,函数将不平滑边缘。

L_UINT32uFlags

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

返回

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

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

要获得完整的示例代码,请参考DEMO示例的childc模块。
这个例子加载一个位图并应用本地直方图均衡化。

L_INT LocalHistoEqualizeBitmapExample (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_LocalHistoEqualizeBitmap(&LeadBitmap, 15,100,100, YUV_SPACE, 2,0);如果(nRet ! =成功)返回nRet;L_SaveBitmap(MAKE_IMAGE_PATH(TEXT)“Result.BMP”)), &LeadBitmap, FILE_BMP, 24, 0, NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;

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