在问这个问题之前我检查过的链接:
我有一张图片img
。我想在MATLAB中可视化矩阵中的像素值(经过一些操作)。 R1,R2和R3是我创建的三个矩阵,分别用于存储R,G和B的像素值。
for i=1:30
R1(:,1:30:) = toeplitz(img(i,:,1));
R2(:,1:30,:) = toeplitz(img(i,:,2));
R3(:,1:30,:) = toeplitz(img(i,:,3));
R = (R1+ R2+ R3)/3 ; %%I know this part is incorrect
end
但是,imshow(R)
显示灰度图像,但我想以RGB可视化。我能理解的是,像素值从0到255分别为0:黑色和255:White。我要实现的是,将R1,R2和R3中第3维的像素值取平均值,然后向我显示颜色的像素。
任何帮助将不胜感激。
答案 0 :(得分:0)
imshow需要一个m×n×3的数组(请参见documenation) 因此,要创建这样的阵列,您需要三个m×n矩阵(在您的情况下为R1,R2,R3) 然后,您可以通过
在第三维中将它们连接起来imshow(cat(3,R1,R2,R3))
这将产生所需的RGB图像。