Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image MATLAB中的图像转置_Image_Matlab_Image Processing - Fatal编程技术网

Image MATLAB中的图像转置

Image MATLAB中的图像转置,image,matlab,image-processing,Image,Matlab,Image Processing,如何使用RGB值转置图像?也就是说,第1行中的所有像素都应该成为第1列中的像素,依此类推 对于简单的1D情况,这是: B=A'; 我在找类似的东西 img=imread('name.bmp'); R=R'; G=G'; B=B'; 然后以某种方式将它们组合成新的图像。您可以使用short&simple- 基本上,它将行与列交换,以保持第三维度的完整性,即转置每个3D切片。此方法的优点是,即使您在三维中有4个切片,它也可以工作,例如,对于深度信息通常存储为dim3中第4个切片的图像。仅为了完

如何使用RGB值转置图像?也就是说,第1行中的所有像素都应该成为第1列中的像素,依此类推

对于简单的1D情况,这是:

B=A';
我在找类似的东西

img=imread('name.bmp');

R=R';
G=G';
B=B';

然后以某种方式将它们组合成新的图像。

您可以使用short&simple-


基本上,它将行与列交换,以保持第三维度的完整性,即转置每个3D切片。此方法的优点是,即使您在三维中有4个切片,它也可以工作,例如,对于深度信息通常存储为dim3中第4个切片的图像。

仅为了完整性,您可以使用,但顺序确实很重要。在这里,我们翻转柱(这就是2),然后旋转90度

imshow(imrotate(flipdim,2,90))

如果我们先旋转,我们必须翻转行(这就是1)

imshow(flipdim(imrotate(im,90),1))

由于在Matlab中“未定义ND阵列上的转置”,您可以分别转置每个通道:

[r,c,z] = size(im);
tmp = zeros(c,r,z);
for k=1:z
    tmp(:,:,k) = im(:,:,k)';
end

3D转置是我所看到的
permute
的第一个实际应用。。。我从你那里学到了这一点+1.@rayryeng IP中不再有循环!;)哇,直到今天我才知道
permute
可以这样使用!这比提出的其他解决方案慢。尽可能避免
for
循环
[r,c,z] = size(im);
tmp = zeros(c,r,z);
for k=1:z
    tmp(:,:,k) = im(:,:,k)';
end