L_AnisotropicDiffusionBitmap

# include“l_bitmap.h”

L_LTIMGCOR_APIL_INTEXT_FUNCTIONL_AnisotropicDiffusionBitmap (pBitmap、uIterations uSmoothing、fTimeStep fMinVariation, fMaxVariation, fEdgeHeight, uUpdate, uFlags)

执行一个二维各向异性扩散滤波在图像的不同图案和non-patterned噪音。

参数

pBITMAPHANDLEpBitmap

位图句柄的指针。

L_UINTuIterations

过滤器将执行的迭代次数。金字塔的大小等于这个变量。

L_UINTuSmoothing

平滑的内核上执行图像。

L_FLOATfTimeStep

定义了向量场的长度。

L_FLOATfMinVariation

增加这个变量会增加平行扩散。

L_FLOATfMaxVariation

增加这个变量减少单侧扩散。

L_FLOATfEdgeHeight

马克斯边尺寸,所有边值波形将包含在过滤器的操作。

L_UINTuUpdate

迭代的数量在每个连续更新的形象。

L_UINT32uFlags

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

返回

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

评论

这个函数是致力于减少噪声的图像,尤其是医学图像。与大量的周期性噪声图像是更适合使用这个过滤器澄清。

迭代的数量控制过滤器的次数将图像上执行。较低的值将执行过滤速度。更高的迭代通常意味着更清晰的结果,但这取决于最大长度的向量,可以计算图像获得最好的结果。

时间步长变量越高,较大的一系列向量用于下一次迭代,然而过高的值,将产生的范围的结果,因为它将超过最大向量在一些景点。

的变量uUpdate使用大量的迭代时是非常有用的在大图像,尤其是当结果是未知的。这个变量,更新图像每一个更新迭代次数,从而去噪可以目睹的进展。

如果图像有一个地区,该函数将在该地区执行。

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

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

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

这个示例加载位图,应用各向异性扩散滤波。

L_INT AnisotropicDiffusionFilterExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;/ * * /加载位图句柄保存图像/ *加载位图,保持文件的比特每像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“ImageProcessingDemo \ \ NaturalFruits.jpg”)),&LeadBitmap,运算符(BITMAPHANDLE), 0,ORDER_BGR,空,空);如果(nRet ! =成功)返回nRet;/ /应用各向异性扩散滤波nRet = L_AnisotropicDiffusionBitmap (&LeadBitmap 20 1, 100.0, 0.5, 0.8, 4.0 f, 10 0);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;}

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