-4

我编写了一个程序来从捕获的视频中计算汽车的数量。我已经在 raspberry pi 2 上安装了 opencv 和 cvblob,raspbian wheezy OS。我面临的问题是“在运行期间,程序在经过一定次数的迭代后挂在 cvLabel。

IplImage *labelImg =cvCreateImage(cvGetSize(greyImage), IPL_DEPTH_LABEL, 1); 
unsigned int result = cvLabel(greyImage, labelImg,blobs);

但是当我在笔记本电脑的虚拟机上运行相同的程序时,它会完全运行。这可能是什么原因..?请指教

4

1 回答 1

0

我得到了我的问题的解决方案。raspberry pi 2(armhf) 特别需要以下更改,以避免程序无限运行。

https://code.google.com/p/cvblob/issues/detail?id=23

/home/pi/cvblob/cvBlob

在 cvLabel.h 文件中

const char movesE ... const char movesI ...

const signed char movesE ... const signed char movesI ...

在 cvBlob/cvcontour.cpp 的第 84 行:

改变

const char cvChainCodeMoves[8][2] = { { 0, -1},

const signed char cvChainCodeMoves[8][2] = { { 0, -1},
于 2015-12-02T01:02:38.640 回答