[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] [PATCH] fix incorrect behavior and performance in mask.get_bounding_rects()



I found a different bug in the patch I wrote anyway, so its good it
wasn't included.  The latest code I have in my repo has the bug fixed.

Nirav

On Tue, Jul 15, 2008 at 11:54 PM, René Dudfield <renesd@xxxxxxxxx> wrote:
> hi,
>
> I think we'll add all of your patches after 1.8.1 is released this weekend.
>
> Nicholas and I wrote some tests for Mask.get_bounding_rects, and
> transform.threshold...  However I think it's a bit late to test them
> properly still, and might as well add them to pygame 1.9 starting this
> weekend.
>
>
> cheers,
>
>
> On Sun, Jul 13, 2008 at 12:53 PM, René Dudfield <renesd@xxxxxxxxx> wrote:
>> Thanks for the patch.  I'm looking it over today.
>>
>> Firstly I'm writing some more extensive test cases for it.
>>
>> cheers,
>>
>>
>>
>> On Sat, Jul 12, 2008 at 4:28 PM, Nirav Patel <olpc@xxxxxxxxxxxxxx> wrote:
>>> In testing some computer vision stuff I was writing, I found that
>>> mask.get_bounding_rects() often split a connected component into
>>> multiple bounding boxes.  Specifically in the following case:
>>>
>>> 0011
>>> 1111
>>>
>>> It would split the 11 in the first row and the 1111 in the second row
>>> into separate connected components, and therefore separate bounding
>>> boxes.
>>>
>>> I wrote a new version of it based on the algorithm I used in
>>> mask.connected_component.  It correctly detects connected components,
>>> and there is also a side benefit of an, on average, 2x increase in
>>> performance.
>>>
>>> I attached the functions that I changed, and the full mask.c is
>>> available in my repo, though it also contains other functions that I'm
>>> proposing for 1.9.
>>> http://git.n0r.org/?p=pygame-nrp;a=blob;f=src/mask.c
>>>
>>> Nirav
>>>
>>
>