Ash*_*hok 0 python opencv loops
所以我使用循环来获取图像中的每个像素,但我收到一个我不明白的错误。我使用 for in range 循环来执行此操作
height,width=img.shape
Run Code Online (Sandbox Code Playgroud)
当我记录这些时,结果很好。正在记录尺寸,但是当我循环时它会出错。我已经看到很多代码使用它,但现在它给出了一些错误。这里发生了什么?
for i in range(0, height):
TypeError: 'int' object is not callable
Run Code Online (Sandbox Code Playgroud)
循环代码如下所示:
p =[]
p.append(5000)
p.append(0)
p.append(5000)
p.append(0)
for i in range(0, height):
for j in range(0, width):
if mask[i][j]==0:
if i<p[0]:
p[0]=i
if i>p[1] :
p[1] = i
if j<p[2]:
p[2]=j
if j>p[3] :
p[3] = j
else:
img[i,j]=[255,255,255]
Run Code Online (Sandbox Code Playgroud)
您已将range
名称重新定义为 int,如果您这样做type(range)
,它将返回int
而不是range
您甚至可以使用以下代码行返回旧方法:
range = 5 # Oh no ! I made a mistake !
import builtins
range = builtins.range # Get back the original method
Run Code Online (Sandbox Code Playgroud)