gpt4 book ai didi

ios - 如何使用 ios swift 中的 sobel 边缘检测/canny 边缘检测在有限的边缘边界内使用钢笔工具为我的草图着色?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:53:14 25 4
gpt4 key购买 nike

我正在使用 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 图像

    1. enter image description here 2. enter image description here

    我正在使用钢笔工具绘制颜色。如果我在着色时在圆圈内着色,在我选择另一个接触点之前,它不应该从圆圈边界出来..

    基于触摸点,我想在封闭边界内为其着色。

我也试过Floodfill算法。它给出了不同的输出。不完全是我想要的输出。

我该如何应用它?

最佳答案

嘿 Pradip,您正在寻找 floodfill 算法,确切地说,它可以解决您的问题。

Floodfill算法简要说明-

flood-fill 算法采用三个参数:起始节点、目标颜色和替换颜色。该算法查找数组中所有通过目标颜色路径连接到起始节点的节点,并将它们更改为替换颜色。

研发链接和 objective-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 (伟大的演示礼貌Chintan-Dave)

    我还在我的项目中使用了 floodfill 只是为了删除背景颜色并发现上面的链接非常有用。希望对你有帮助

关于ios - 如何使用 ios swift 中的 sobel 边缘检测/canny 边缘检测在有限的边缘边界内使用钢笔工具为我的草图着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52553432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com