Hello,

I am using a ConvolveOp to do edge detection.

The results are fine as far as they go, but some edges are not found.

This is what happens: my source image looks something like concentric
circles: the outer-most ring is yellow, middle ring is orange, center is
red. Outside the yellow ring is just transparent.

My dest image is just a yellow line that traces the outer-most yellow ring.

I would have expected that inside the yellow line there would have been an
orange line and inside that a red line -- looking sort of like isobars on a
weather map. But I'm just getting the outer-most edge.

Is there some way to 'force' it to detect the inner edges as well?

Thank you,

Ted Hill

-----------------  my code snippet below --------------------


    float [ ] edgeKernelArray =
    {
      -1.0f, -1.0f, -1.0f,
      -1.0f,  8.0f, -1.0f,
      -1.0f, -1.0f, -1.0f
    };

        rgbImage  = new BufferedImage(width, height,
BufferedImage.TYPE_INT_ARGB);
        edgeImage = new BufferedImage(width, height,
BufferedImage.TYPE_INT_ARGB);

        WritableRaster wr = rgbImage.getRaster( );
        wr.setDataElements(0, 0, width, height, imageData);

        Kernel edgeKernel = new Kernel(3, 3, edgeKernelArray);

        ConvolveOp edgeOp = new ConvolveOp(edgeKernel);
        edgeOp.filter(rgbImage, edgeImage);

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to