L_EdgeDetectEffectBitmap

# include“l_bitmap.h”

L_LTIMGEFX_APIL_INTL_EdgeDetectEffectBitmap (pBitmap uLevel、nThreshold uFlags)

执行图像边缘检测。

参数

pBITMAPHANDLEpBitmap

位图句柄指针引用的位图应用的效果。

L_UINTuLevel

水平值用于确定边缘的亮度。标准的值是50。介于1和100之间。大值将产生明亮的边缘。

L_INTnThreshold

阈值用于确定哪些像素将被过滤。如果一个像素的差异确定小于此值,像素设置为0。如果差异更大,过滤器将应用于像素。有效的范围从0 - 65535为64位,48比特位和16位灰度图像和从0 - 4095的12位灰度图像。否则,它从0到255。

L_UINTuFlags

国旗表明边缘生成的类型。可能的值是:

价值 意义
EDGE_SOFT [0]产生柔和的边缘(平滑)。
EDGE_SOLID [1]产生粗糙的边缘。

返回

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

评论

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

这个函数检测边缘的位图,然后由新值替换边的值根据计算uFlags

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

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

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

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

L_INT EdgeDetectEffectBitmapExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;/ *位图句柄图片* // *加载位图的位/像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“sample5.cmp”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;/ * * /应用查找边缘影响形象nRet = L_EdgeDetectEffectBitmap (&LeadBitmap 50 0, EDGE_SOFT);如果(nRet ! =成功)返回nRet;nRet = L_SaveBitmap (MAKE_IMAGE_PATH(文本(“Result.BMP”))、&LeadBitmap FILE_BMP, 24岁,0,NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;}
LEADTOOLS光栅成像C API的帮助