作者:非妃是公主
專欄:《計(jì)算機(jī)視覺(jué)》
個(gè)性簽:順境不惰,逆境不餒,以心制境,萬(wàn)事可成。——曾國(guó)藩專欄系列文章
Cannot find reference ‘imread‘ in ‘init.py‘
error: (-209:Sizes of input arguments do not match) The operation is neither ‘a(chǎn)rray op array‘ (where
cs231n-2022-01 Assignments1-numpy的使用
ModuleNotFoundError: No module named ‘cs231n‘
主要是由于需要進(jìn)行運(yùn)算的兩個(gè)圖像矩陣大小不一致造成的。
具體地說(shuō),對(duì)于圖像尺寸問(wèn)題,這次報(bào)錯(cuò)也體會(huì)到了為什么圖像都要64×64,128×128……這些2的倍數(shù)次方的數(shù),其中一個(gè)原因就是,下采樣和上采樣(卷積和反卷積)是圖像處理中兩個(gè)很重要的運(yùn)算,而這些2的次方大小尺寸的圖像經(jīng)過(guò)下采樣和上采樣后大小不會(huì)發(fā)生變化。
比如在金子塔融合過(guò)程中,計(jì)算拉普拉斯金字塔時(shí)存在著subtract操作,即兩張圖像做差;而圖像融合時(shí),又需要利用拉普拉斯矩陣進(jìn)行add操作,即兩張圖像像素求和。
求差和求和就需要兩張圖像的尺寸相同,由于圖像的尺寸的不規(guī)則(不是2的倍數(shù)),就很難保證經(jīng)過(guò)多次卷積再反卷積依然可以得到相同大小的圖像。具體報(bào)錯(cuò)如下:
解決方案如下,增加sameSize(imgA: numpy.ndarray, imgB: numpy.ndarray)函數(shù),如下:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-502978.html
def sameSize(imgA: numpy.ndarray, imgB: numpy.ndarray):
"""
兩張尺寸不同的圖片
:param imgA: 圖片 A
:param imgB: 圖片 B
:return: 統(tǒng)一尺寸的兩張圖像: tuple
"""
row1, col1 = imgA.shape[0:2]
row2, col2 = imgB.shape[0:2]
row = min(row1, row2)
col = min(col1, col2)
imgA = imgA[0:row, 0:col]
imgB = imgB[0:row, 0:col]
return imgA, imgB
函數(shù)中調(diào)用如下:
通過(guò)返回值和參數(shù)進(jìn)行傳遞即可。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-502978.html
到了這里,關(guān)于error: (-209:Sizes of input arguments do not match) The operation is neither ‘a(chǎn)rray op array‘ (where的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!