Image 在大型矩阵中将UINT32分解为uint8s
对于我正在进行的一个项目,我正在加载大型图像文件,这些文件由Matlab作为uint8s的LxWx3阵列输入。我有一个函数,可以将这些组件连接到UINT32的LxWx1数组中,但是如果不使用嵌套for循环,我找不到一种方法来实现相反的操作,这对于我正在使用的矩阵来说太慢了 有人能推荐一种方法来充分实现这一点吗?基本上,给定uint32的LxW矩阵,我想返回uint8s的LxWx3矩阵,其中(x,y,1:3)分量是对应uint32中最重要的三个字节。您可以使用: 例如:对于Image 在大型矩阵中将UINT32分解为uint8s,image,matlab,matrix,Image,Matlab,Matrix,对于我正在进行的一个项目,我正在加载大型图像文件,这些文件由Matlab作为uint8s的LxWx3阵列输入。我有一个函数,可以将这些组件连接到UINT32的LxWx1数组中,但是如果不使用嵌套for循环,我找不到一种方法来实现相反的操作,这对于我正在使用的矩阵来说太慢了 有人能推荐一种方法来充分实现这一点吗?基本上,给定uint32的LxW矩阵,我想返回uint8s的LxWx3矩阵,其中(x,y,1:3)分量是对应uint32中最重要的三个字节。您可以使用: 例如:对于A=uint32([2^
A=uint32([2^16 2^30;256 513])代码>
结果是
B(:,:,1) =
1 0
0 0
B(:,:,2) =
0 0
1 2
B(:,:,3) =
0 0
0 1
很高兴它对你有用。它应该很快,因为它(可能)不涉及算术运算
A =
65536 1073741824
256 513
B(:,:,1) =
1 0
0 0
B(:,:,2) =
0 0
1 2
B(:,:,3) =
0 0
0 1