[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives
From: |
Carnë Draug |
Subject: |
[Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results |
Date: |
Mon, 07 Dec 2015 18:48:07 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.4.0 |
Follow-up Comment #15, bug #46099 (project octave):
I have pushed your changes with your tests (I made some changes to the tests
and included the Matlab threshold values).
http://hg.code.sf.net/p/octave/image/rev/cb24795f0d8f
Your tests seemed to be Matlab compatible (passes both your tests) but you
claim there's some differences (could you add such a test?). Maybe it's
because of the way it guesses the threshold values?
One thing I noticed was that you explicitly filter the image once per
dimension but did not explain why not use a 2d filter. I have this patch
which seems to not break anything:
- ## Gaussian filtering to change the edge scale (treat dimensions
seperatly)
+ ## Gaussian filtering to change the edge scale
len = 8 * ceil (sigma);
- x = -0.5 * (len-1) : 0.5 * (len-1);
- gauss = exp (-(x.^2)/(2*sigma^2));
- gauss = gauss ./ sum (gauss);
- J = imfilter (im, gauss, "replicate");
- J = imfilter (J, gauss', "replicate");
+ J = imfilter (im, fspecial ("gaussian", [len len], sigma),
"replicate");
Did I miss anything that I should not push it?
> @Carne: Before I forget it: The results of the Canny edge detector are
supposed to be 4-connected contours, not 8-connected contours. Maybe this can
explain your differences when using imreconstruct instead of nonmax_suppress.
Looking into nonmax_supress it seems to be looking in the diagonal values (45
and 135 degrees), so I'm assuming it is connectivity 8.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?46099>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Carnë Draug, 2015/12/02
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Hartmut, 2015/12/02
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Carnë Draug, 2015/12/03
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Hartmut, 2015/12/04
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Carnë Draug, 2015/12/04
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Hartmut, 2015/12/04
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Hartmut, 2015/12/04
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Hartmut, 2015/12/05
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Hartmut, 2015/12/05
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results,
Carnë Draug <=
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Hartmut, 2015/12/07
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Carnë Draug, 2015/12/07
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Hartmut, 2015/12/07
- [Octave-bug-tracker] [bug #46099] image package: edge(I, 'canny') gives very bad quality results, Carnë Draug, 2015/12/07