如何修复Numpy REFS_OK标志错误?

时间:2016-08-01 17:21:21

标签: python opencv numpy

我有以下代码:

import cv2
import numpy as np
image = cv2.imread('pic1.png', cv2.IMREAD_GRAYSCALE)

height = 0
count = 0
it = np.nditer(image)
for(x) in it:
      count += 1
      if count == 80:
             count = 0
             height += 1
      if x > 400:
             print("Height is: " + height)
             break

当我尝试运行代码时,我收到以下错误消息:

TypeError: Iterator operand or requested dtype holds references, but the REFS_OK flag was not enabled

为什么会出现此错误?当我尝试查找它时,似乎人们只是解决它而不是修复它。

1 个答案:

答案 0 :(得分:0)

检查返回的image变量是否为None。 也许图像不在您运行脚本的路径中。 OpenCV在无法读取/加载图像时不会引发异常,而是返回None,在这种情况下,当您尝试对None进行操作时,您会遇到奇怪的异常......就像发布的例外一样。

(对不起,就像Yoda ...... :-))