Я использую GPUImage
для определения края и применения GPUImageSobelEdgeDetectionFilter или GPUImageCannyEdgeDetectionFilter.Теперь мое требование:
Как взять координаты точек с этого изображения, чтобы я мог рисовать в закрытых границах.
Определение кромок из изображения
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
Теперь я пытаюсь определить точки, чтобы я мог создать отдельный слой для рисования в закрытых границах ..
ДляПример 1. Изображение orgnl 2. Фильтрованное изображение sobelEdgeDetection / GPUImageCannyEdgeDetectionFilter
2. ![enter image description here](https://i.stack.imgur.com/gBPu3.png)
Я рисую цвет с помощью пера.Если я окрашиваю внутри круга во время окрашивания, он не должен выходить за границы круга, пока я не выберу другие точки касания.
На основе точки касания я хочу раскрасить его в пределах закрытых границ.
Я также попробовал алгоритм Floodfill.Это дает различный вывод.Не совсем мой желаемый результат.
Как я могу применить его?