Python OpenCV中的ValueError

2024-10-02 12:23:22 发布

您现在位置:Python中文网/ 问答频道 /正文

import cv2
import numpy as np

img = cv2.imread('hand.jpg',0)

height = np.size(img,0)
width = np.size(img,1)

cx = 112
cy = 131

j = 0       #initilalise
tmp=[]      #initilalise

for i in range(1,height):
    if img[i,cy]>0:
        j = j+1
        tmp.insert(j,i)
    xr = max(tmp)
    yr = cy
print tmp   
print (cr,cy)

在执行上述代码时,我遇到了一个ValueError

xr = max(tmp)
ValueError: max() arg is an empty sequence

请帮我解决以上问题


Tags: importnumpyimgsizeasnpcv2tmp
2条回答

这是因为max(tmp)是在执行if分支之前执行的。所以,您应该检查tmp是否为空

if len(tmp) != 0:
    xr = max(tmp)
import cv2
import numpy as np
import matplotlib.pyplot as pl

img = cv2.imread('hand.jpg',0)

height = np.size(img,0)
width = np.size(img,1)

cx = 113
cy = 130

j1 = 0      #initilalise
tmp=[]      #initilalise

for i in range(1,height):
    if img[i,cy]>0:
        j1 = j1+1
        tmp.append(i)
    if len(tmp) !=0:
        xr = max(tmp)
        yr = cy 
print (xr,yr)

上述代码块解决了上述问题。你知道吗

相关问题 更多 >

    热门问题