2012-03-12 126 views
1

假設我們有一個我們想要做變形的源圖像:要將源圖像像素重新定位到新的變形位置,我分別對x和y值使用griddata函數,根據給定的參考點在圖像中的點。然後,我根據griddata輸出計算每個像素應該重新映射的位置。在MATLAB中的彩色圖像變形

但是,顏色信息在此過程中丟失。所以輸出的圖像是灰度的。

如何在不丟失顏色信息的情況下使用griddata函數進行操作?

我的問題是關於彩色圖像變形。

+2

如果您有RGB圖像,您可以重新映射三個通道中的每一個,否? – Jonas 2012-03-12 14:57:42

+1

你的問題相當模糊。發佈一些代碼以更好地瞭解您的問題。我會在黑暗中拍攝一張照片,並回應說,在matlab中,彩色圖像是mxnx3矩陣。因此,R通道是A(:,:1),G通道A(:,:,2)和B A(:,:,3)。從灰度轉移到彩色,您必須分別獲取每個顏色通道矩陣並執行轉換(如同灰色一樣),然後將三個圖像合併爲一個新圖像(通過填充新矩陣/圖像的每個平面與其各自的轉換)。 – Jorge 2012-03-13 01:09:06

+0

我真的解決了我的問題。這只不過是按照你們的建議分別處理和重塑每個顏色通道。非常感謝! – 2012-03-13 12:37:18

回答

0

爲了防止剩餘的開放問題,我會引用這導致解決方案的評論:

你可以在這三個渠道的重新映射,如果你有一個 RGB圖像,不是嗎?

-

指出的是,在MATLAB中,彩色圖像是mxnx3矩陣。因此,信道是A(:,:,1),G信道A(:,:,2)和B A(:,:,3)。將 從灰度移動到彩色,您必須分別採用每個顏色通道矩陣 並執行變換(如同灰色一樣),然後 將三幅圖像合併爲一個新圖像(通過填充每個平面 與其相應的新的矩陣/圖像變換一個)

-

其實我解決我的問題。這只是一個處理和 分別重塑每個顏色通道