GIMP 的前景擷取功能

GIMP(The GNU Image Manipulation Program)是一套歷史悠久的跨平台開放原始碼影像編輯軟體,功能媲美 Adobe Photoshop。目前,最新的穩定版本是 2.2 版。即將推出的 2.4 版,將新增採用 SIOX(Simple Interactive Object Extraction)演算法的前景擷取(foreground extraction)功能。這個功能類似 Photoshop 的魔術棒工具,可以自動將你感興趣的前景物體從影像中分離出來。

我一直很想使用這個功能,但 2.4 版未正式推出,所以我下載了還在開發中的2.3.8 版,並且試了一下前景擷取功能。

請看下面這三張圖。我要做的是擷取左邊照片上的玩具小雞,貼到中間的照片,最後形成右邊那張合成的照片。這是隨便從硬碟中找兩張照片來做的技術示範,所以,呃,別問右邊那張合成照片的美感或意義為何。

Objective

1. 從工具箱選取前景擷取(Extract foreground objects)工具。

Extract foreground objects.

2. 按住滑鼠左鍵不放,把前景物體圈起來,儘量讓圈選的範圍不要包含過多的背景。不需要貼著前景物體的邊緣,只要大概圈住就可以了。

Select region of interest.

3. 放開滑鼠左鍵,你感興趣的區域以外的區域,會變成藍色的。

Once you leave the mouse button your region of interest is shown.

4. 將游標移到前景物體上,按住滑鼠左鍵不放,用筆刷畫過一些有代表性的前景顏色。若預設筆刷大小太大或太小,可以先調整再畫。注意不要畫到背景。

Mark some known foreground

5. 放開滑鼠左鍵,此時會進行自動前景擷取。如果結果看來不甚理想,例如前景物體上有藍色的區域,就再重覆前一步驟。如果有部分背景也被擷取為前景,則可以將原本的標記前景改為標記背景(按住 Ctrl 鍵不放),再按住滑鼠左鍵不放,用筆刷畫過應該是背景、但被擷取為前景的部分(下圖中的白色部分)。放開滑鼠左鍵,就會再自動重新計算擷取的區域。若有必要,重覆這些步驟,直到滿意為止。

You can add as many foreground markings as you want, or you can choose to add background markings.

6. 有了滿意的前景擷取結果之後,按 Enter,GIMP 會自動將擷取的區域轉為選擇區域。

Create selection.

7. 將它剪下,直接貼到新的背景上。因為是標準的選擇區域,你也可以做任何其他的處理。

You may now use the object freely.

GIMP 2.3.8 版的前景擷取功能還是有一些限制,例如只能擷取單一物體,且對有許多細節的物體(樹枝、頭髮……)處理能力較弱,但基本上已相當可用。根據 SIOX 網站的說明,GIMP 2.4 版將能夠同時擷取多個物體,也能擷取有許多細節的區域。

延伸閱讀:Portable GIMP