iOS如何掩盖图像背景颜色

时间:2014-09-23 14:46:21

标签: ios iphone opencv image-processing opengl-es-2.0

我想在我的iOS应用程序中执行以下操作:

  1. 用户可以在白色背景纸上画画。
  2. 我的应用程序允许用户捕获绘制的图像。这里的图像将以背景白色捕捉。
  3. 最后从捕获的图像中我需要屏蔽白色背景颜色,只需将图像单独放入UIImage对象中。
  4. 我完成了第1步和第2步。但我不知道如何做最后一步。有没有openCV库我可以在我的iOS应用程序中使用它?

    任何可能非常感激的帮助。

1 个答案:

答案 0 :(得分:1)

好吧,因为 OpenCV本身就是库,我想你正在寻找一种方法来使用OpenCV。

  • 首先,convert the input image to Mat,这是OpenCV用来表示图像的数据类型;
  • 然后,假设背景为白色,threshold the Mat将背景与用户绘制的内容分开。根据下面的示例,此操作的结果使背景变黑,并且每个非黑色的像素将代表用户绘制的内容:

enter image description here

  • 最后,将生成的Mat转换为UIImage:为此,迭代Mat并将每个非黑色像素复制到UIImage以获得{ {1}}仅包含用户绘制的内容。

更好的想法是迭代阈值UIImage,找出哪个像素不是黑色,而不是直接将其复制到新的Mat,复制该像素(x,y)原始UIImage,因此您在末尾有一个彩色像素,这样可以获得更逼真的效果。