Canny Edge Detecton?

Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
Post Reply
tonybarry

Canny Edge Detecton?

Post by tonybarry »

Hello,

I am looking for a Canny edge detector, and note there is an "edge" function available in ImageMagick. Is it possible to know if the edge function uses Canny's method? If not Canny's method, is it possible to know the nature of the edge function (that is, its general class of operation)?

Many thanks in advance!

Regards,
Tony Barry
Sydney, Australia
User avatar
fmw42
Posts: 25562
Joined: 2007-07-02T17:14:51-07:00
Authentication code: 1152
Location: Sunnyvale, California, USA

Re: Canny Edge Detecton?

Post by fmw42 »

As best as I can determine, it is simply a high pass filter generated by subtracting a low pass gaussian blur from the image. It is not a Canny edge detector!

There are many references to Canny Edge detection:
http://www.pages.drexel.edu/~weg22/can_tut.html
http://en.wikipedia.org/wiki/Canny_edge_detector

The IM edge function is not that sophisticated.
Last edited by fmw42 on 2009-05-13T14:38:44-07:00, edited 1 time in total.
tonybarry

Re: Canny Edge Detecton?

Post by tonybarry »

Hello fmw42,

Many thanks for the quick response!

Regards,
Tony Barry
User avatar
anthony
Posts: 8883
Joined: 2004-05-31T19:27:03-07:00
Authentication code: 8675308
Location: Brisbane, Australia

Re: Canny Edge Detecton?

Post by anthony »

none of the more advanced edge detectors have been implemented in IM. Mostly due to lack of interest by a programmer with the knowledge needed.

that is not to say we don't want it, far from it. We just need more programmers to the cause.
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
tonybarry

Re: Canny Edge Detecton?

Post by tonybarry »

Hello Anthony,

I may not be a good enough programmer for ImageMagick! I do most of my coding in REAlbasic for the high level stuff, and C (Arduino) or AVR assembler for the low level stuff. That gets me by. Objective C for the Mac (Xcode) is too full of twenty-syllable function calls for me to remember them! I really only write code for Mac or embedded these days; my VB days are over I think. And I never did much with Borland C beyond what I had to for TAFE. The good old days of DOS. I wrote my final project in TASM on a 386.

Getting old.

Regards,
Tony Barry
User avatar
anthony
Posts: 8883
Joined: 2004-05-31T19:27:03-07:00
Authentication code: 8675308
Location: Brisbane, Australia

Re: Canny Edge Detecton?

Post by anthony »

The IM core library is not dependant on mac functions only standard C functions.

When I create a new function I don't write it from scratch either, but find and copy an existing function and modify it to suit my needs.

For tracing though operations do a search on wand/mogify.c for the command line option, and then look for the called function in the magick/ sub-directory, first in the ".h" file then the corresponding ".c" file.

I do this all the time, and the fact that almost all operations have a corresponding command line option makes this the simplist way to see how something is done, and how you can add new functions.

The only other part of the command line API thatmay be needed is in magick/options.c whcih contain the tables for converting strings into the appropriate constants for 'methods' and 'settings'. The "-list" option was expanded to list those tables to make it more usable to users wanting to know what is implemented in the IM currently installed.
Anthony Thyssen -- Webmaster for ImageMagick Example Pages
https://imagemagick.org/Usage/
Post Reply