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