L_KMeansBitmapSegmentation

# include“Ltimgcor.h”

L_LTIMGCOR_API L_INT L_KMeansBitmapSegmentation(pBitmap, nCluster, ppOutCenters, nOutCentersCount, pInCenters, uFlags)

使用K-means算法进行图像分割和颜色减少。

参数

pBITMAPHANDLEpBitmap

位图句柄的指针。

L_UINTnCluster

表示输出图像中输出群集或颜色数量的整数。取值范围为2 ~ 255。缺省值为4。

L_COLORREF* * ppOutCenters

指向L_COLORREF值的指针的指针,该值将被输出集群的中心填充。

L_INT* nOutCentersCount

指向表示输出集群数量的整数的指针。

L_COLORREF* pInCenters

指向L_COLORREF值的指针,该值表示集群的初始中心。当Type为KMEANS_USERDEFINED输入集群时使用。

L_UINTuFlags

标志,指定在为群集选择初始中心时使用的初始化算法。

价值 意义
KMEANS_RANDOM [0x0001]使用随机抽样算法设置初始均值这是默认值。
KMEANS_UNIFORM [0x0002]使用统一采样算法设置初始均值。
KMEANS_USERDEFINED [0x0003]使用用户定义的初始中心数组来设置初始平均值。

返回

价值 意义
成功 活动很成功。
< 1 发生错误。指返回代码

评论

K-Means是一种分析数据的算法。每个观测值都被放置在均值最接近的聚类中。返回的群集数目小于或等于输入群集数目。如果映像包含的群集数目少于输入群集的数目,则ppOutCenters参数将用输出集群的中心填充。

这个函数只能处理整个图像。它不支持区域。

此功能支持12位和16位灰度以及48位和64位彩色图像。

该函数支持有符号/无符号图像。

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

这个例子加载一个位图并应用KMeans分割。

L_INT KMeansBitmapSegmentationExample (L_VOID)L_INT nRet;BITMAPHANDLE LeadBitmap;/*存放加载图像的位图句柄。* //*加载位图,保持文件的每像素位nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT(“IMAGE3.dcm”&LeadBitmap)),运算符(bitmaphandle), 0, order_bgr, null, null);如果(nRet != SUCCESS)返回nRet;L_COLORREF* poutCenters = NULL;L_INT outCount;nRet = L_KMeansBitmapSegmentation(&LeadBitmap,5,&poutCenters,&outCount,空,KMEANS_RANDOM);L_FreeKmeansOutput (poutCenters);如果(nRet ! =成功)返回nRet;L_SaveBitmap(MAKE_IMAGE_PATH(TEXT)“Result.BMP”)), &LeadBitmap, FILE_BMP, 24, 0, NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;

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