我有以下代码:
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
为什么会出现此错误?当我尝试查找它时,似乎人们只是解决它而不是修复它。
答案 0 :(得分:0)
检查返回的image
变量是否为None
。
也许图像不在您运行脚本的路径中。
OpenCV在无法读取/加载图像时不会引发异常,而是返回None
,在这种情况下,当您尝试对None
进行操作时,您会遇到奇怪的异常......就像发布的例外一样。
(对不起,就像Yoda ...... :-))