我正试图做一个程序,通过网络摄像头饲料创建各种过滤器,并遇到一些与BLOB分析和其他一些问题。C++ segFault问题
我每次激活我的grassfire功能时都会收到segFault。 下面是我的地表火函数的代码:
void testApp::grassFire(int mask_Y, int mask_X, unsigned char labelCnt)
{
blobArray[mask_Y * camWidth + mask_X] = labelCnt;
if (mask_X + 1 <= camWidth - 1 && blobArray[mask_Y * camWidth + mask_X + 1] == 0)
grassFire(mask_Y, mask_X + 1, labelCnt);
if (mask_Y + 1 <= camHeight - 1 && blobArray[(mask_Y + 1) * camWidth + mask_X] == 0)
grassFire(mask_Y + 1, mask_X, labelCnt);
if (mask_X - 1 >= 0 && blobArray[mask_Y * camWidth + mask_X - 1] == 0)
grassFire(mask_Y, mask_X - 1, labelCnt);
if (mask_Y - 1 >= 0 && blobArray[(mask_Y - 1) * camWidth + mask_X] == 0)
grassFire(mask_Y - 1, mask_X, labelCnt);
}
,以及它如何被称为是一个运行的每一帧这意味着它被称为每一帧更新
功能本身对外宣称的开关情况任何其他范围。
我知道这是一个非常沉重的过滤器,它可能会使用大量的内存,但与其他一些过滤器相比,这并不坏,所以我不知道为什么我会得到segFault。
我也在另一个过滤器上获得了segFault,这不应该是内存使用要求。 我在Win 7