L_CorrelationBitmap

# include“l_bitmap.h”

L_LTIMGCOR_APIL_INTL_CorrelationBitmap(pBitmap, pCorBitmap, pPoints, uMaxPoints, puNumOfPoints, uXStep, uYStep, uThreshold, uFlags)

该函数将pCorBitmap(或pCorBitmap的一部分)与pBitmap中所有相同维度的区域进行比较,并根据相关性度量找到匹配的部分。

参数

pBITMAPHANDLEpBitmap

指向位图句柄的指针,引用要搜索的位图。

pBITMAPHANDLEpCorBitmap

指向位图句柄的指针,该句柄引用要搜索的位图。

点*如此之

指向点数组的指针。该数组将被相关区域的起始点填充。

L_UINTuMaxPoints

点数组的大小。这也等于最大的区域数pBitmap这两者之间是有关联的。

L_UINT* puNumOfPoints

指向一个变量的指针,该变量将根据pBitmap中实际发现的相关区域的数量进行更新pCorBitmap.其最大值为uMaxPoints

L_UINTuXStep

X方向的步长(沿图像宽度),单位为像素。为了达到最佳效果,请使用1。

L_UINTuYStep

Y方向的步长(沿图像高度),单位为像素。为了达到最佳效果,请使用1。

L_UINTuThreshold

值,指示相关阈值,该值是考虑两个相关区域所需的关联度量。如果相关值之间pCorBitmap还有一个区域pBitmap小于相关阈值它们是不相关的。有效值范围从0(零相似度)到100(完全相似度)。

L_UINT32uFlags

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

返回

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

评论

这个函数比较pCorBitmap(或pCorBitmap的一部分)中所有相同尺寸的区域pBitmap然后根据相关性的测量找到那些匹配的区域。相关性是衡量两个图像之间的关联(相似度)。它从0(零相似度)到100(完全相似度)不等。此函数更新如此之参数与pCorBitmap中与pCorBitmap(或pCorBitmap的一部分)相似度大于的值的原点uThreshold.pCorBitmap的维度必须小于或等于pBitmap的维度。

例如:

  1. 选择要查找的对象的位图。把它放到pCorBitmap中。

    图像\ Correlation1.gif
  2. 选择一个包含你要搜索的对象的位图,并把它放在pBitmap中。

    图像\ Correlation2.gif
  3. L_CorrelationBitmap打电话。

  4. 函数将更新如此之数组参数和位图每个区域的原点(左上角)pBitmap其中与pCorBitmap大于相关阈值。矩形的高度和宽度与pCorBitmap相同。

  5. 结果是:

    图像\ Correlation3.gif

要在执行此函数期间更新状态栏或检测用户中断,请参考L_SetStatusCallback

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

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

BITMAPHANDLE结构中的符号标志对于列出的所有图像必须是相同的。也就是说,所有的图像都必须是有符号的或无符号的。

所需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

这个例子加载位图,并应用相关过滤器

L_INT CorrelationBitmapExample (L_VOID)L_INT nRet;BITMAPHANDLE LeadBitmap;BITMAPHANDLE CorBitmap;pPoints[10] = {0};L_UINT uNumOfPoints;/*加载位图,保持文件的每像素位nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT))“clean.tif”&LeadBitmap)),运算符(bitmaphandle), 0, order_bgr, null, null);如果(nRet ! =成功)返回nRet;nRet = L_LoadBitmap(MAKE_IMAGE_PATH(TEXT))“LetterA.cmp”&CorBitmap)),运算符(bitmaphandle), 0, order_bgr, null, null);如果(nRet ! =成功)返回nRet;/*应用相关过滤器*/nRet = L_CorrelationBitmap(&LeadBitmap, &CorBitmap, pPoints, 10, &uNumOfPoints, 1,2,90,0);如果(nRet ! =成功)返回nRet;/ /免费的位图nRet = L_SaveBitmap(MAKE_IMAGE_PATH(TEXT))“Result.BMP”), &LeadBitmap, FILE_BMP, 24, 0, NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);如果(CorBitmap.Flags.Allocated)L_FreeBitmap (&CorBitmap);返回成功;

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