最近在用VLIB库,遇到些问题,向论坛中的大神请教。
我用的硬件平台C6678;
VLIB库版本vlib_c66x_3_2_0_2.
问题:
用VLIB库中的连通域分析功能VLIB_Connected_Components_Labeling。
不能处理分辨率较大的图片,640X480,320X240同样不能处理。
但是160X120就可以,是否是这个VLIB的库本身就不能用于处理较大分辨率的图片?还是我的代码有问题。
附上主要代码:
status=VLIB_packMask32(liantongdata, mask32packedtest,640*480);//打包
VLIB_calcConnectedComponentsMaxBufferSize(ImageWidth, ImageHeigh,
MINBLOBAREA,
&maxBytesRequired);
ccHandleSize = VLIB_GetSizeOfCCHandle();
handle = (VLIB_CCHandle*)malloc(sizeof(int)*ccHandleSize);
primaryBuff1 = (unsigned char*)malloc(sizeof(int)*maxBytesRequired);
VLIB_initConnectedComponentsList(handle,
primaryBuff1,
maxBytesRequired);
VLIB_createConnectedComponentsList(handle,
(Uint16)ImageWidth,
(Uint16)ImageHeigh,
(Uint32*)mask32packedtest,
MINBLOBAREA,
1);// 8联通1 4联通0
// 提取区域特征
// 区域个数
VLIB_getNumCCs(handle, &numCC);
// 区域位置与面积
VLIB_getCCFeatures(handle,
&tempBlob,
1);