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
Python 将160*320 uint8矩阵转换为320*160矩阵_Python_Matlab_Image Processing - Fatal编程技术网

Python 将160*320 uint8矩阵转换为320*160矩阵

Python 将160*320 uint8矩阵转换为320*160矩阵,python,matlab,image-processing,Python,Matlab,Image Processing,我在matlab中有以下代码: load('ImMatrix.mat'); ImMatrix = permute(ImMatrix,[2 1 3]); sinogram=ImMatrix(:,:,6); sinogram = im2double(sinogram); 那个ImMatrix文件是一个160*320 uint8矩阵,我想要Python中的等效代码 我使用numpy作为python中的permute函数的transpose()和astype(np.double),但真正的问题是

我在matlab中有以下代码:

load('ImMatrix.mat');

ImMatrix = permute(ImMatrix,[2 1 3]);

sinogram=ImMatrix(:,:,6);

sinogram = im2double(sinogram);
那个
ImMatrix
文件是一个160*320 uint8矩阵,我想要Python中的等效代码

我使用numpy作为python中的permute函数的
transpose()
astype(np.double)
,但真正的问题是如何获得转置矩阵中每个数组的中值,并自行生成每个数组的medaian矩阵(matlab中类似的代码是:sinogram=ImMatrix(:,:,6);用于中值函数)我想要python版本。

检查文档:,它应该可以工作

检查此处的示例:

有时,根据您希望对代码执行的操作,您可能需要在python中强制执行副本。例如,如果您使用的是从转置矩阵的数据中读取的内容,则需要先制作一份副本。这是因为numpy只会更改对底层数据的索引方式,而不会更改数据本身。如果某个第三方代码获取该变量,然后将其用于计算,则数据不会发生更改。我认为这可能是您的问题,因为您的变量被称为“sinogram”,而且大多数层析成像工具箱都使用底层数据进行计算。

请阅读“不工作”不是一个具体的问题陈述,不清楚您的问题是什么,以及为什么transpose(
)不能回答标题中的问题