L_UnsharpMaskBitmap

# include“l_bitmap.h”

L_LTIMGEFX_APIL_INTL_UnsharpMaskBitmap(pBitmap, nAmount, nRadius, nThreshold, uFlags)

通过应用非锐化蒙版锐化指定图像。

参数

pBITMAPHANDLEpBitmap

指向位图句柄的指针,该句柄引用要在其上应用掩码的位图。

L_INTnAmount

表示调整因子的值。这是百分比。

L_INTnRadius

值,该值指示用于模糊位图的每个像素的邻域大小。

L_INTnThreshold

值,表示修改像素原始值的阈值。如果原始像素值与模糊像素值的差值大于阈值,则原始像素值将被修改。可能取值为:

L_UINTuFlags

标志,指示要在其中应用蒙版的颜色空间。可能取值为:

价值 意义
RGB_SPACE [0x0001]在RGB颜色空间中应用蒙版。
YUV_SPACE [0x0002]在YUV颜色空间中应用蒙版。

返回

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

评论

这个函数实际上被认为是一个锐化函数。它用于以最小的噪声锐化图像。为了减少噪音,它首先模糊原始图像的副本。模糊的程度取决于nRadius.然后,该函数确定原始图像中每个像素的值与模糊图像中相应像素的值之间的差值。如果差值大于nThreshold值,则像素值之间的差值乘以nAmount参数,并添加到原始像素值。

要增加锐化边缘的厚度,增加nRadius的值。

为了增加锐度,增加nAmount的值。

为了减少噪声,消除图像中会产生噪声的小边缘或单个像素,增加nThreshold的值。

使用YUV颜色空间可以减少处理时间,但可能会发生一些颜色变化。

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

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

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

这个例子加载一个位图并增加其锐度。
加载位图,保持文件的每像素位

L_INT UnsharpMaskBitmapExample ()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_UnsharpMaskBitmap (&LeadBitmap, 200,15,50, RGB_SPACE);如果(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领德科技有限公司版权所有。