2012-03-12 153 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)。将 从灰度移动到彩色,您必须分别采用每个颜色通道矩阵 并执行变换(如同灰色一样),然后 将三幅图像合并为一个新图像(通过填充每个平面 与其相应的新的矩阵/图像变换一个)

-

其实我解决我的问题。这只是一个处理和 分别重塑每个颜色通道