# include“l_bitmap.h”
L_LTIMGCOR_APIL_INTL_FrqFilterMaskBitmap (pMaskBitmap pFTArray、bOnOff uFlags)
创建一个面具过滤器来消除特定频率成分从位图。
位图句柄指针面具的位图。
指针指向一个FTARRAY结构。acxData字段是一个二维数组频率成分。
值表示频率成分是否删除如果相应的像素值是零。可能的值是:
价值 | 意义 |
---|---|
真正的 | 如果像素值等于零的频率成分位置acxData将被删除,否则没有变化。组件是“删除”两个成员的相应L_COMPLEX结构设置为0。 |
假 | 像素位置的频率分量acxData将乘以像素的值除以255。 |
保留以供将来使用。必须是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);
返回成功;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。