[英]TypeError: unsupported operand type(s) for -: 'NoneType' and 'NoneType'
[英]unsupported operand type(s) for +=: 'NoneType' and 'list'
您好,我編寫了代碼以使用歸一化互相關來查找圖像的相似性。 我收到上述錯誤,但無法獲取。有人可以找到我的錯誤是什么。 預先感謝:)
from numpy import *
from PIL import Image
from scipy import misc
import sys
import math
import numpy as np
import scipy.signal
import cv2
from cv2 import cv
path1='D:/PROJECT/database/453.png'
path2='D:/PROJECT/database/453.png'
im1=Image.open('D:/PROJECT/database/453.png')
im2=Image.open('D:/PROJECT/database/453.png')
#numpart=0
#denpart=0
numpart=[0.0,0.0,0.0,0.0]
denpart=[0.0,0.0,0.0,0.0]
pix1 = im1.load()
pix2=im2.load()
width=181
height=256
x1= misc.imread(path1)
x2= misc.imread(path2)
m1=x1.mean()
m2=x2.mean()
#print m2
for i in range(0,width):
for j in range (0,height):
y1=pix1[i,j]
y2=pix2[i,j]
nump1z1=y1-m1
nump2z1=y2-m2
n=nump1z1*nump2z1
numpart+=n
denp1z1=(y1-m1)**2
denp2z1=(y2-m2)**2
d=(denp1z1*denp2z1)
e=map(math.sqrt,d)
denpart+=e
ncc=numpart/denpart
print ncc
很簡單
numpart=[0.0,0.0,0.0,0.0]
...
numpart += n
您正在嘗試將n添加到numpart列表中,而不是那樣設計的,您可能需要查看.append(),其中numpart.append(n)
會將n添加到列表末尾,或者
for number in range(0, numpart):
numpart[number] += n
根據您還需要:
ncc=numpart/denpart
因為它們是列表也將不起作用
再次,使用與我剛才用於將n添加到列表中的每個條目相同的技術,即可在這里工作,只需使用ncc[number] = numpart[number]/denpart[number]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.