我有一个图像(rgb图像),并希望将其转换为等效的rgb矩阵,以便我可以将它们转换为二进制等效值。
总的来说,我想获得图片的像素值 我怎样才能在matlab中执行它?
答案 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?