Python imutils:非法指令

时间:2018-08-05 11:53:14

标签: python raspberry-pi imutils

我的计算机上有一个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)

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

1 个答案:

答案 0 :(得分:1)

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

使用某些特定插值方法的大小调整的imutils实现似乎是一个问题。默认插值方法指定为INTER_LINEAR,会在RPi零位上引起Illegal instruction错误。但是,如果您将默认值覆盖为非问题插值方法,则可能会起作用!我测试了每个选项,发现以下每个插值方法都可以在我的RPi Zero上成功运行:INTER_NEAREST, INTER_CUBIC, INTER_LANCZOS4

让我知道这是否适合您。我希望我对为什么有更多的详细信息,但是到目前为止,我对imutils源代码一无所知。