Python imutils:非法指令

Python imutils: Illegal instruction

我的计算机上有一个 python3 脚本,我可以 运行 和 python3 motion_detection.py 并且可以正常工作,我尝试在我的 Raspberry 上使用它,但出现错误消息 Illegal instruction。抛出这个错误的行是:frame = imutils.resize(frame, width=500)

这是最简单的代码示例:

import imutils
import cv2
frame = cv2.imread('test.jpg')
frame = imutils.resize(frame, width=500)

我确定该框架不是 None,因为我尝试保存它并且成功了。 我有点困惑,因为没有更多的解释 Illegal instruction 我检查了 imutils 的版本,它在我的计算机上与 Raspberry (0.4.6) 上的相同

尝试将行 frame = imutils.resize(frame, width=500) 更改为 frame = imutils.resize(frame, width=500, inter=cv2.INTER_NEAREST)。有用吗?

使用某些插值方法调整大小的 imutils 实现似乎有问题。默认插值方法,指定为 INTER_LINEAR,导致 RPi 零上出现 Illegal instruction 错误。但是,如果您将默认值覆盖为 non-problematic 插值方法,它可能会起作用!我测试了每个选项,并在我的 RPi 零上成功地找到了以下每个 运行 的插值方法:INTER_NEAREST, INTER_CUBIC, INTER_LANCZOS4.

让我知道这是否适合您。我希望我有更多关于 为什么 的详细信息,但到目前为止,我已经在 imutils 源代码周围寻找无济于事。