PRADIP KUMAR
PRADIP KUMAR

Reputation: 489

How can I colour my sketch using pen tool within the limited edge boundaries using sobel edge detection/canny edge detection in ios swift?

I am using GPUImage to detect the edge and applying GPUImageSobelEdgeDetectionFilter or GPUImageCannyEdgeDetectionFilter . Now my requirement is:

How can I take the coordinate points from that image so that I can make drawing within the closed boundaries.

Detect Edges from Image

   var image_p: GPUImagePicture?
   var filterImageview: UIImageView! // to display images

   let inputImage = filterImageview.image
    if let anImage = inputImage {
        image_p = GPUImagePicture(image: anImage)
    }

    let filter1 = GPUImageSobelEdgeDetectionFilter()//GPUImageCannyEdgeDetectionFilter()
    image_p?.addTarget(filter1)
    image_p?.processImage()

    let outputImage = filter1.imageFromCurrentlyProcessedOutput()
    filterImageview.image = outputImage

Now I am trying to detect the points so that i can create a separate layer for drawing within the closed boundaries..

I also have tried Floodfill algorithm. It gives the different output. Not exactly my desired output.

How could I apply it?

Upvotes: 3

Views: 783

Answers (1)

Shivam Gaur
Shivam Gaur

Reputation: 541

Hey Pradip you are looking for floodfill algorithm to be exact it will solve your problem.

Floodfill Algorithm Brief Explanation -

The flood-fill algorithm takes three parameters: a start node, a target color, and a replacement color. The algorithm looks for all nodes in the array that are connected to the start node by a path of the target color and changes them to the replacement color.

Links for you R&D and also a demo in obejective-c.

  1. https://ilearnios.wordpress.com/2013/07/18/scanline-flood-fill-algorithm-with-or-without-tolerance-in-objective-c/
  2. https://lodev.org/cgtutor/floodfill.html
  3. https://github.com/Chintan-Dave/UIImageScanlineFloodfill (Great demo courtesy of Chintan-Dave)

    I have also used floodfill on my project just to remove background colors and found above links veryusefull. Hope it Helps

Upvotes: 3

Related Questions