【发布时间】:2015-04-21 04:12:14
【问题描述】:
我之前发布了一个关于如何在这里交错 R、G 和 B 向量的问题( How to form a vector from RGB matrices)。我想反转对矩阵执行的操作。我尝试了以下代码,但我无法取回输入。因为 ipermute 与 permute 完全相反,所以我尝试使用它。
C = ipermute(H, [3 1 2])
我需要分离置换后的向量并将其重新转换为单独的平面,然后最后重新组合平面以获得 3 维图像。以下是我用来置换三个平面的代码。
A=imread('C:\Users\Desktop\lena.jpg');
R = A(:, :, 1);
G = A(:, :, 2);
B = A(:, :, 3);
R1 = reshape(R.',1,[]);
G1 = reshape(G.',1,[]);
B1 = reshape(B.',1,[]);
H = permute(A, [3 1 2]);
N = numel(A)/3;
V = H(1 : N);
W = H(N + 1 : 2*N);
X = H(2*N + 1 : end);
我需要完全反转此操作以获取我已置换的原始图像。请帮助提前谢谢。
【问题讨论】:
-
您从
A获得Dimg的过程是什么?我在代码中没有看到Dimg。只有当你的Dimg和H相同时,你才能得到原图。 -
试试
C = permute(Dimg, [2 3 1]); -
我已经改变了问题,先生。 Dimg 和 H 是一样的。但是 ipermut 不起作用。
标签: matlab image-processing matrix permutation