matlab:如何将rgb图像转换为矩阵

时间:2014-10-06 06:57:54

标签: image matlab

我有一个图像(rgb图像),并希望将其转换为等效的rgb矩阵,以便我可以将它们转换为二进制等效值。

总的来说,我想获得图片的像素值 我怎样才能在matlab中执行它?

2 个答案:

答案 0 :(得分:2)

I =  imread('filename.xxx');
size(I)
% This should print height width and channels

访问单个频道(假设您的图片是rgb):

r = I(:,:,1);
g = I(:,:,2);
b = I(:,:,3);

或者,改变位置1,1:

的红色通道中的像素
I(1,1,1) = 255;

答案 1 :(得分:0)

为什么你需要这样做我没有线索,默认情况下图像是矩阵,但请记住,因为存储在MATLAB中的rgb图像实际上是3层矩阵,说如果你想要访问图像的元素只是使用图像(y,x,n)或x,y,n我忘记了lol,其中x,y是矩阵上的点,n是你想要访问的层,而且矩阵图像中的起点实际上是1,1不是0,0所以在调用元素或修改矩阵元素时要小心。

请参阅:How to access image's matrix in matlab and scan it to find the specific pixel values?