【问题标题】:How to convert image in form of RGB (2-D matrix) [duplicate]如何以RGB(二维矩阵)形式转换图像[重复]
【发布时间】:2017-03-28 03:49:29
【问题描述】:

我有一张尺寸为 128x128 的图片。我在上面应用了matlab的imread函数, A= imread(first.jpg); 但这返回给我一个 3-D 数组 128x128x3 ,我怎样才能将它转换为由 3 列 R、G、B (每种颜色一列)组成的 2-D 矩阵?

【问题讨论】:

  • 你想获得一个有 3 列和 16384 (128^2) 行的矩阵,即每个像素一个行吗?
  • 是的,我想要一行中每个像素的 RGB 值

标签: matlab k-means imread


【解决方案1】:
A = imread('first.jpg');
Npixels = size(A,1)*size(A,2);
newA = reshape(A,[Npixels,3]);

【讨论】:

  • 谢谢。它工作得很好,你能告诉我如何将它转换回 jpg 图像吗?
  • @Tehreem Fatima 要恢复到原始大小,您需要在加载后保存图像大小Asz = size(A);。处理完origA = reshape(newA, Asz);之后再进行reshape操作
  • 是的,jodag 写的是正确的,如果你想保存它imwrite(origA,'newImage.jpg','jpg');@TehreemFatima
猜你喜欢
  • 2020-01-31
  • 2015-08-15
  • 1970-01-01
  • 2011-02-12
  • 2020-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多