2013-10-19 40 views
0

我正在使用4-way floodfill算法。iPad上的填充性能問題

我有一個透明的圖像與黑線出。

這是凝視點圖像(無顏色)。

enter image description here

和填充顏色在這個形象是這個樣子

enter image description here

請幫幫我,讓我知道我能爲適當填充後做。

+1

你可以粘貼你的算法嗎? – Levi

+0

請在這裏檢查http://pastie.org/8413819 – virantporwal

+1

我正在關注這個例子https://github.com/Chintan-Dave/UIImageScanlineFloodfill – virantporwal

回答

0

我在其他項目中使用並實現了自己的FloodFill,並且算法遍歷整個繪圖,尋找封閉的空間,然後繪製它們的內部(或外部)。

你的問題發生在世界上的每一個填充平局的工具上,問題是一樣的,空間並非100%關閉。

floodfill算法逐個像素地進行,當它檢測到一個黑色像素時,它停止。例如,水肺駕駛員的手臂不夠厚或者它上面有孔,並且洪水填充算法設法通過它並且沒有將其檢測爲空的空間。

這裏沒有人能告訴你爲什麼,除非我們把你的項目和分析,所以我可以提供的最好的指導方針是關於你的錯誤可能在哪裏。

+0

,但是當我使用白色背景時,它工作正常。但按照我的要求,我需要使用透明圖像爲.so後5至6輕拍/填充此圖像看起來像相同。 – virantporwal

0

我試了一個圖像的代碼,它有一個非常精確的定義邊框(from here),它似乎可以與該圖像一起工作。我也許建議,如果你放大你的圖像,那邊緣周圍會出現灰色的混淆現象,而這些邊緣不會被填滿。也許算法有一個可以調整的閾值函數?

嘗試設置andTolerance的值(我試過4,這似乎改善了我的例子)。

//Call function to flood fill and get new image with filled color 
    UIImage *image1 = [self.image floodFillFromPoint:tpoint withColor:newcolor andTolerance:4]; 
+0

閾值函數是什麼意思? – virantporwal

+0

看到我上面編輯的答案(閾值是andTolerance部分) –