我正在使用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
现在我正在尝试检测点,以便我可以创建一个单独的图层,用于在封闭边界内绘图。
我也尝试过Floodfill算法。它给出了不同的输出。不完全是我想要的输出。
我该怎么办?
嘿Pradip你正在寻找洪水填充算法准确它将解决你的问题。
Floodfill算法简要说明 -
泛洪填充算法采用三个参数:起始节点,目标颜色和替换颜色。该算法查找阵列中通过目标颜色的路径连接到起始节点的所有节点,并将它们更改为替换颜色。
您的研发链接以及objective-c的演示。