python的常见矩阵除法_Python矩阵除法
我有一個關于按元素劃分矩陣的問題,我的意思是我想要第一個矩陣的元素[I,j]除以第二個矩陣(Q)的元素[I,j]。在
一些背景信息:我從我的存儲器加載了一個圖像。我把每個像素的單色值存儲在一個叫做“pixelMatrix”的矩陣中
此命令將大矩陣(128x128)轉換為較小的矩陣(8x8)foto_dct = skimage.util.view_as_blocks(pixelMatrix, 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],盡管我對它做了一些操作,第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]有關
我也試過這樣做:for x in foto_dct:
x = np.divide(x,Q)
但這會返回原始矩陣,不做任何事情,甚至不返回錯誤代碼,即使它應該按元素劃分。
有人能幫我嗎?在
總結
以上是生活随笔為你收集整理的python的常见矩阵除法_Python矩阵除法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每日一题: 第十四题
- 下一篇: 在Windows中搭建python开发环