2014-09-23 43 views
1

我想在我的iOS應用內做以下的事情:的iOS如何屏蔽圖像背景顏色

  1. 用戶可以畫在白色背景紙的東西。
  2. 我的應用程序允許用戶捕捉繪製的圖像。這裏圖像將以背景白色捕捉。
  3. 終於從捕獲的圖像我需要掩蓋白色背景顏色,只是將圖像獨自進入UIImage對象。

我完成了第1步和第2步。但是我不知道如何完成最後一步。是否有任何openCV庫,我可以使用它與我的iOS應用程序?

任何幫助,可能真的很感激。

+1

你如何捕捉「用戶觸摸繪製」? – DaSilva 2014-09-23 14:52:11

+0

在我的情況下,用戶不會直接在手機屏幕上繪製圖像,而是他會在白色背景色紙上繪製圖像,我的應用程序將使用我的iphone應用程序掃描圖像。 – loganathan 2014-09-24 03:07:10

回答

1

那麼,自從OpenCV本身就是圖書館,我想你正在尋找一種方法來做到這一點與OpenCV。

  • 首先,convert the input image to Mat,這是OpenCV用來表示圖像的數據類型;
  • 然後,假設背景是白色,threshold the Mat將背景與用戶繪製的任何東西分開。根據下面的例子中,這個操作的結果使黑色背景,以及每個像素不是黑色的,將代表一些用戶已經得出:

enter image description here

  • 最後,轉換所產生的MatUIImage:爲此,在Mat上迭代,並將每個不是黑色的像素複製到UIImage,以使UIImage僅包含用戶繪製的內容。

一個更好的想法是迭代的閾值化Mat,找出哪些像素不是黑色的,而不是直接將其複製到新UIImage,從原來的UIImage複製像素(X,Y),因此,你在最後有一個彩色像素,這樣可以得到更真實的結果。

+0

似乎你的解決方案將工作正常,我想讓我試試看。你能指出一個更好的庫來處理上述操作嗎?或者只是使用客觀的C我可以實現這一目標? – loganathan 2014-09-24 03:12:07

+0

Obj-C和OpenCV。如果你不想使用外部庫,這個操作在Obj-C中很容易實現。 – karlphillip 2014-09-24 11:39:29

+0

當然,我會試試這個,並分享我的反饋給你! – loganathan 2014-09-25 12:20:43