簡體   English   中英

通過用戶輸入進行背景扣除

[英]Background Substraction with user input

我正在尋找一種算法,或者甚至更好的是,某個庫涵蓋了從單個靜態圖像中扣除背景(沒有可用的背景模型)。 不過,可能會出現某種用戶輸入,例如https://clippingmagic.com 遺憾的是,我的Google Fu在這里不好,因為我用有限的關鍵字找不到關於該主題的任何論文。

該網頁確實令人印象深刻。 如果我要嘗試實現類似的東西,則可能會使用CIELAB colorspace進行 k-means聚類 更改顏色空間的原因是,可以用兩點而不是3點的顏色來表示常規的RGB圖像。 這將加速群集。 此外,CIELAB顏色空間就是為此目的而建立的,它可以發現顏色之間的“距離”(相似性),並解釋人類對顏色的感知方式。 不只是查看計算機具有的原始二進制數據。

但是簡要介紹一下kmeans。 在此示例中,我們將說k = 2(僅意味着兩個群集)

  1. 用均值初始化每個聚類。
  2. 遍歷圖像中的每個像素,並確定哪個更接近簇1或2?
  3. 處理完所有像素后,為群集計算新的均值
  4. 使用新計算的均值重復步驟2-4,直到收斂為止(意味着均值變化不大)

現在,當前景圖像與背景明顯不同時,這將很好地工作。 在藍色背景下說一個紅色的球,但是如果顏色相似,就會出現更多問題。 我仍然會堅持kmeans,但擁有更多的集群。 因此,在該網頁上,您可以選擇多個紅色或綠色。 我將這些筆畫中的每一個都作為一個簇,並將我的簇初始化為均值。 假設我畫了3個紅色筆畫和2個綠色筆畫。 這意味着我將有5個小組。 但是在某種程度上,我在內部添加了一個額外的屬性作為前景/背景。 這樣每個聚類會有很小的差異,但是最后,我只會顯示該屬性,前景或背景。 我希望這是有道理的。

也許現在您有了一些搜索詞 可能還有許多其他方法,但這是我想到的第一個,祝您好運。

編輯

在玩了更多網站之后,我看到它使用空間接近度來聚類。 可以這么說,我在圖像的相對兩側有兩個相同的紅色斑點。 如果僅注釋圖像的左側,則可能無法檢測到右側的斑點。 Kmeans不會復制此行為,因為我描述的方法僅使用顏色將像素完全聚類,而完全不考慮它們在圖像中的位置。

我不知道您可以使用哪些工具,但這是基於顏色的kmeans的一個不錯的matlab示例/教程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM