From 2a6dc49ff3829f40f8a44e7db936d31efc3d614a Mon Sep 17 00:00:00 2001 From: Julien Lengrand-Lambert Date: Sun, 27 Nov 2011 21:10:06 +0100 Subject: [PATCH] Finishes simple_region_growing insertion Some errors corrected in function code. Adds "real life" tests with an image an non zero pixels count. Examples to be added soon, with mouse value operations. Signed-off-by: Julien Lengrand-Lambert --- tippy/data/gnu.jpg | Bin 0 -> 6663 bytes tippy/segmentations.py | 5 +++-- tippy/tests/test_segmentation.py | 12 ++++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 tippy/data/gnu.jpg diff --git a/tippy/data/gnu.jpg b/tippy/data/gnu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0c0cca97282075746f0ed35349d8a7a2926c63ed GIT binary patch literal 6663 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
I$7 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 literal 0 HcmV?d00001 diff --git a/tippy/segmentations.py b/tippy/segmentations.py index 05936fa..f15c3db 100644 --- a/tippy/segmentations.py +++ b/tippy/segmentations.py @@ -8,6 +8,7 @@ Created on Nov 26, 2011 ''' import sys import cv +import numpy def simple_region_growing(img, seed, threshold=1): """ @@ -31,7 +32,7 @@ def simple_region_growing(img, seed, threshold=1): raise ValueError("(%s) Positive value expected!" % (sys._getframe().f_code.co_name)) # seed tests if not((isinstance(seed, tuple)) and (len(seed) is 2) ) : - raise ValueError("(%s) (x, y) variable expected!" % (sys._getframe().f_code.co_name)) + raise TypeError("(%s) (x, y) variable expected!" % (sys._getframe().f_code.co_name)) dims = cv.GetSize(img) if (seed[0] or seed[1] ) < 0 : @@ -56,7 +57,7 @@ def simple_region_growing(img, seed, threshold=1): cur_pix = [seed[0], seed[1]] #Spreading - while(dist