2012-03-07 111 views
3

我試圖找到一種解決方案,可以讓我更改圖像部分的顏色。更改圖像部分的顏色

例如可以說一張椅子的圖片。 椅子可以有不同的框架或坐墊顏色。 我打算讓用戶選擇一個框架或坐墊並更新圖像。 我們只能上傳一張椅子圖片。

任何想法非常感謝!圖像的

+1

也許你可以從單獨的PNG文件構建圖像?你會有一個框架,一個用於坐墊,另一個用於背景。您將重新對框架和緩衝墊進行相應的着色,然後將它們分層爲單個圖像。 – 2012-03-07 19:12:46

+0

我想沒有其他的方法,然後有兩個單獨的圖像框架和坐墊。否則在某些情況下嘗試彩色框架可能導致緩衝顏色改變或副版本。我會盡量根據你的想法做編碼。感謝科林和盧卡斯兩位! – user1255409 2012-03-07 21:42:50

+0

確定的事情:)我希望我能給你一些工作代碼,但我從來沒有在C#中處理過圖像處理。 – 2012-03-08 02:42:20

回答

1

檢測部分進行修改

檢測上的圖像對象編程可能不是做simplet事)。我想這個問題的一個很好的解決方案是由Collin O'Dell在他對這個問題的評論中提出的。他建議使用少量的圖像,用手動分離要重新着色的圖像部分。然後,您可以編寫來自幾個不同圖層的最終圖像。

但是,您也可以保持主圖像的所有對象,並手動進行一些額外的圖像,但只有保持口罩的對象的(即白色像素在地方的對象)。然後,您可以輕鬆檢查哪些像素應該重新着色。這將允許您直接在一幅圖像上繪製並避免合成。

計算顏色

當你想重新着色的照片,你可能希望能夠保持陰影效果等,而不是涵蓋所有使用相同的純色。 爲了達到這個目的,你可以使用HSV色彩空間,而不是RGB。要使用這個方法,你應該:

  • 讀取像素的顏色(RGB
  • 重新計算它HSV
  • 顏色的變化色調值來獲得所需的色調
  • 重新修改顏色返回到RGB
  • 設置像素

的新顏色更多有關HSV色彩空間,你可以看看這裏:http://en.wikipedia.org/wiki/HSL_and_HSV