我的计算机上有一个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相同的imutils版本(0.4.6)
发布于 2019-05-18 19:20:43
尝试将行frame = imutils.resize(frame, width=500)更改为frame = imutils.resize(frame, width=500, inter=cv2.INTER_NEAREST)。那有用吗?
这似乎是一个问题,阿穆特实现的大小调整与某些插值方法。默认的内插方法(指定为INTER_LINEAR )将导致RPi零点上的Illegal instruction错误。但是,如果您覆盖默认的无问题的插值方法,它可能会工作!我测试了每个选项,并发现以下每种插值方法都可以在我的RPi Zero:INTER_NEAREST, INTER_CUBIC, INTER_LANCZOS4上成功运行。
如果这对你有用的话请告诉我。我希望我有更多关于原因的细节,但是到目前为止,我已经深入研究了imutils的源代码,但没有结果。
https://stackoverflow.com/questions/51694068
复制相似问题