7

我想要替換圖像的顏色。例如,將所有藍色都變爲紅色,而不會在形狀上產生任何扭曲。當我嘗試這個時,我可以通過迭代每個像素來交換顏色,但交換區域的形狀變成扁平形狀。如何替換圖像的顏色?

例1輸入:http://www.tutorialwiz.com/tutorials/changing_color/images/original.jpg
例1輸出:http://www.tutorialwiz.com/tutorials/changing_color/images/3.jpg

例2:輸入輸出一起:http://www.digital-photography-school.com/wp-content/uploads/2009/07/before-after.jpg

+0

輸入和預期輸出的示例將會有所幫助。我只能猜測問題的一部分是根據顏色圖很容易地改變顏色,決定地圖應該包含的內容不是。只要堅持RGB,觀衆就有許多顏色可以稱爲「紅色」或「藍色」。 – Apalala 2011-03-10 20:49:21

+0

爲問題添加了示例。 – Tony 2011-03-10 21:01:07

回答

0

我不完全明白這個問題。 但是從給出的例子中,我發現將藍色變成紅色的過程失敗了。它變成了紅色,而不是變成灰色。灰色是你的意思嗎?

如果是這樣,它看起來像顏色通道錯誤。 要將藍色變爲紅色,我們必須將(0,255,0)更改爲(255,0,0)

我不確定這是否是問題,也許代碼片段可以幫助評估。確定真正的問題。

1

問題是您要求的問題是嚴格的顏色替換會修改圖像的形狀。你需要做的是獲得有關形狀的信息。即沿邊界查找邊界和陰影。我給你的建議是:

  1. 使用邊緣檢測分離出斑點
  2. 找到適合您的需求斑點:即在[顏色] ISH一個寬容的可能性。
  3. 識別應用的斑點和過濾器
  4. 重新着色blob並重新着色。

IMO:這是你要得到你要找的結果的唯一方法。

一些注意事項:找到一個blob可能需要一些測試來確定你對blob和形狀有多大的容忍度。 [連接區域]。

另一件事:陰影和相對着色將要求你有一個你想要的顏色的開發。

+0

嗨@monsky,很抱歉打擾你,但你的網站不包含除LinkedIn以外的聯繫信息,我沒有高級訪問權限向你發送郵件。你有沒有找到一個令人滿意的解決方案:http://quant.stackexchange.com/questions/2158/where-can-you-find-data-on-non-trading-stocks?謝謝 :) – 2013-03-25 04:02:13