L_FrqFilterMaskBitmap

# include“l_bitmap.h”

L_LTIMGCOR_APIL_INTL_FrqFilterMaskBitmap (pMaskBitmap pFTArray、bOnOff uFlags)

创建一个面具过滤器来消除特定频率成分从位图。

参数

pBITMAPHANDLEpMaskBitmap

位图句柄指针面具的位图。

pFTARRAYpFTArray

指针指向一个FTARRAY结构。acxData字段是一个二维数组频率成分。

L_BOOLbOnOff

值表示频率成分是否删除如果相应的像素值是零。可能的值是:

价值 意义
真正的 如果像素值等于零的频率成分位置acxData将被删除,否则没有变化。组件是“删除”两个成员的相应L_COMPLEX结构设置为0。
像素位置的频率分量acxData将乘以像素的值除以255。

L_UINT32uFlags

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

返回

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

评论

这个函数不支持已签名的数据图像。它返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED如果签名数据图像是传递给这个函数。

使用这个函数只有当你处理的是傅里叶变换函数。

面具位图将被视为灰度位图。(0,0)频率位于面具位图中心;正X谐波位于右半边面具的位图和积极的Y谐波位于面具的下半部分位图。掩码位图尺寸必须等于acxDatas维度。

更新状态栏或检测用户中断在执行这个函数,引用L_SetStatusCallback

这个函数不支持12和16位灰度和48和64位彩色图像。如果图像是12和16位灰度和48和64位颜色,函数不会返回一个错误。

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

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

这个例子清洗噪音从输入数据。它假定两个位图被加载。它还假设acxData pFTArray领域结构是足够大的频率成分。看这个例子L_FFTBitmap如何分配acxData字段

L_INT FrqFilterMaskBitmapExample (L_VOID){L_INT nRet;BITMAPHANDLE MaskBitmap NoisyBitmap;pFTARRAY pFTARRAY;矩形rcRange;/ *加载的位图,保持文件的比特每像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“IMAGE1.CMP”&NoisyBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;/ *加载掩码位图,保持文件的比特每像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“IMAGE2.CMP”&MaskBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;/ *分配英尺缓冲区* /nRet = L_AllocFTArray (&NoisyBitmap &pFTArray,运算符(FTARRAY), 0);如果(nRet ! =成功)返回nRet;rcRange。左= 0;rcRange。正确的= NoisyBitmap。宽度/ 4;rcRange。顶级= 0;rcRange。底= NoisyBitmap。高度/ 2;/ *假设acxData pFTArray领域是正确的大小* /DFT / *应用* /nRet = L_DFTBitmap (&NoisyBitmap pFTArray、&rcRange DFT_DFT | DFT_GRAY | DFT_RANGE | DFT_INSIDE_X | DFT_OUTSIDE_Y);如果(nRet ! =成功)返回nRet;* / / *滤波器频率nRet = L_FrqFilterMaskBitmap (&MaskBitmap pFTArray,真的,0);如果(nRet ! =成功)返回nRet;/ *应用逆DFT * // *后电话,图像应该清洁* /nRet = L_DFTBitmap (&NoisyBitmap pFTArray, NULL, DFT_IDFT | DFT_ALL | DFT_IDFT_SCL | DFT_IDFT_BOTH | DFT_GRAY);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(MaskBitmap.Flags。分配)L_FreeBitmap (&MaskBitmap);nRet = L_SaveBitmap (MAKE_IMAGE_PATH(文本(“Result.BMP”))、&NoisyBitmap FILE_BMP, 24岁,0,NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(NoisyBitmap.Flags.Allocated)L_FreeBitmap (&NoisyBitmap);L_FreeFTArray (pFTArray 0);返回成功;}

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