如何在 MATLAB 中将 uint8 灰度可视化为 RGB?无法添加第三维
How to visualize aa unit8 grayscale as RGB in MATLAB? Unable to add 3rd dimention
问这个问题之前我查看的链接:
Convert RGB Image to Grayscale and Grayscale to RGB Image?
Conversion to unit8 data class in MATLAB
我有一张图片 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:Black 和 255:White。我想要实现的是它对 R1、R2 和 R3 中第三维的像素值进行平均,并显示颜色中的像素。
我们将不胜感激。
imshow 需要一个 m-by-n-by-3 数组(参见 documenation)
所以为了创建这样一个数组,你需要三个 m-by-n 矩阵(在你的例子中是 R1、R2、R3)
然后你可以通过
在三维中连接它们
imshow(cat(3,R1,R2,R3))
这应该会产生所需的 RGB 图像。
问这个问题之前我查看的链接:
Convert RGB Image to Grayscale and Grayscale to RGB Image?
Conversion to unit8 data class in MATLAB
我有一张图片 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:Black 和 255:White。我想要实现的是它对 R1、R2 和 R3 中第三维的像素值进行平均,并显示颜色中的像素。
我们将不胜感激。
imshow 需要一个 m-by-n-by-3 数组(参见 documenation) 所以为了创建这样一个数组,你需要三个 m-by-n 矩阵(在你的例子中是 R1、R2、R3) 然后你可以通过
在三维中连接它们imshow(cat(3,R1,R2,R3))
这应该会产生所需的 RGB 图像。