Problem with signed char, cvLabel hangs
Opened this issue · 10 comments
Hi,
I am using cvblob on an ARM processor, and I discovered a bug in the code. It
seems ARM uses an unsigned char by default, while x86 uses signed char.
This leads to an infinite loop in the contour-finding loop in cvLabel.
Specifically, in cvlabel.cpp, on lines 34 and 40, I changed
const char movesE ...
const char movesI ...
to
const signed char movesE ...
const signed char movesI ...
And now it seems to work. However, I haven't yet checked the rest of the code
for problems. Perhaps a solution would be to change the Makefile to compile
with '-fsigned-char'.
Original issue reported on code.google.com by radicaln...@gmail.com
on 24 Jun 2011 at 3:11
Hi!
Thank you very much for the report and for the solutions. I will consider both
solutions.
Original comment by grendel....@gmail.com
on 24 Jun 2011 at 7:29
- Changed state: Accepted
I confirm what has been said by grendel....@gmail.com. I had the same problems
and his workaround helped!
Thank you very much grendel!
cheers
s.
Original comment by montanar...@gmail.com
on 25 Nov 2011 at 5:56
I also had the same problem! thanks all!
Original comment by andrewssobral
on 1 Feb 2012 at 5:59
Similar issue for ARM (et al.?) processors,
cvBlob/cvcontour.cpp , line 84:
change
const char cvChainCodeMoves[8][2] = { { 0, -1},
to
const signed char cvChainCodeMoves[8][2] = { { 0, -1},
(loses the sign on ARM which causes problems later)
Cheers,
Doug
Original comment by news.obs...@gmail.com
on 22 Dec 2012 at 8:13
Thanks so much for pointing out the bug in cvLabel for ARM processors. I had
given up on my Raspberry Pi ever working with cvBlob. I should have read this
issue and saved myself hours of troubleshooting! It fixed the problem I had
with cvLabel. Brilliant! Thanks.
Original comment by gary.a.s...@gmail.com
on 8 Feb 2013 at 9:43
Thank you very much for this fix, you have saved my graduation! However this
fix should be mainstreamed into the source code, and not have to make future
users have to find the fix through Google.
Original comment by seesemic...@gmail.com
on 24 Mar 2013 at 3:22
Hello someone please help me regarding cross compilation of cvBlob for arm.I
stucked on it for many days.
Thanks in advance
Original comment by anaysona...@gmail.com
on 28 Mar 2013 at 8:14
Thank you so much for the workaround!
Original comment by iquewe...@gmail.com
on 18 Nov 2013 at 9:46
OMG thank you very much!! I was in the same situation as gary now, i finally
have something working on my Raspberry Pi =D
Original comment by dosreisj...@gmail.com
on 16 Jan 2014 at 4:29
Thank you so much!
Original comment by davide.c...@gmail.com
on 1 Aug 2014 at 10:19