Python矩阵减法,python矩阵加减乘除代码
我有一个关于用元素划分矩阵的问题。我的意思是我想要第一个矩阵的元素[I,j]除以第二个矩阵(Q)的元素[I,j]。在
一些背景信息:我从记忆中加载了一个图像。我将每个像素的单色值存储在一个叫做“像素矩阵”的矩阵中
此命令将一个大矩阵(128x128)转换为一个更小的矩阵(8 x8)foto _ DCT=skim age . util . view _ as _ blocks(pixel matrix,block _ shape=(8,8))
现在,完成这项工作后,我需要将foto_dct中的每个矩阵除以不同的矩阵(本代码中称为“Q”)。在
^{pr2}$
问题是我得到了错误的结果。这是矩阵“Q”:[[16 11 10 16 24 40 51 61]
[ 12 12 14 19 26 58 60 55]
[ 14 13 16 24 40 57 69 56]
[ 14 17 22 29 51 87 80 62]
[ 18 22 37 56 68 109 103 77]
[ 24 35 55 64 81 104 113 92]
[ 49 64 78 87 103 121 120 101]
[ 72 92 95 98 112 100 103 99]]
这是一个示例矩阵(foto_dct[3,3],虽然我对它做了一些运算,第三列矩阵,第三行矩阵,如果你还记得步骤1) [[613 250 -86 64 -63 59 -44 24]
[ 38 -84 50 -57 54 -47 35 -19]
[-16 4 -4 7 -5 4 -3 1]
[ 10 -18 19 -20 21 -20 16 -9]
[-17 19 -18 16 -14 11 -7 4]
[ -7 9 -10 12 -13 11 -9 5]
[-11 15 -14 15 -14 11 -9 5]
[ -1 2 -4 5 -5 4 -3 2]]
这是我除法后得到的:[[43 17 -6 4 -4 4 -3 1]
[ 2 -4 2 -3 3 -2 2 -1]
[ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0]]
大家可以看到,以element[0,0]=613为例,除法后应该得到[0,0]=613/16=38.3125(大家可以看到,也会自动四舍五入?)
对了,我试着换了衣服x[i,j]=x[i,j]/Q[i,j]
其中x[i,j]=x[i,j]/2
得到正确的结果(虽然四舍五入)。所以和Q[i,j]有关系
我也尝试这样做:对于foto_dct中的x:
x=np.divide(x,Q)
但是这将返回原始矩阵,而不做任何事情,甚至不返回错误代码,即使它应该被元素除。
有人能帮我吗?在
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。