如何在Python中捕获“OpenCV错误”
如果我遇到 OpenCV 错误:...
那么怎么写代码来捕捉这个错误呢?因为 OpenCV 错误是两个单词组成的。我可以捕捉到 cv.error,但这个我该怎么处理呢?
编辑:
我不太明白...答案是不是很明显?我是不是表达得不够清楚?
编辑 2
我在另一台电脑上无法重现这个错误,但看起来类似于:
OpenCV Error: Bad argument. Something something array
cv.error: This is another error
我可以捕捉到 cv.error,但无法用以下代码捕捉到 OpenCV Error:
try:
# do a thing
except (cv.error, OpenCV Error):
print "Can't do the thing"
sys.exit(1)
相关问题:
- OpenCV Python: cv2.findContours - ValueError: 解包值过多
- Python-OpenCv错误-261
- 错误:..\..\..\opencv-2.4.8\modules\highgui\src\window.cpp:269: 错误:(-215) size.width>0 && size.height>0 在函数 cv::imshow 中
- 使用OpenCV密集SIFT查找图像匹配
- OpenCV Python 错误 断言失败 (scn == 3 || scn == 4)
- OpenCV Python中的兴趣区域
- 如何使用cvMatchTemplate实现图中图?
- 在Python中更改CvSeq中的元素
2 个回答
5
你可以很简单地查看错误对象,比如这样:
fvs = imutils.video.FileVideoStream(args.input).start()
while fvs.more():
frame = fvs.read()
try:
grayframe = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
except cv2.error as e:
# inspect error object
print(e)
for k in dir(e):
if k[0:2] != "__":
print("e.%s = %s" % (k, getattr(e, k)))
# handle error: empty frame
if e.err == "!_src.empty()":
break # break the while loop
44
试试 cv2.error。
try:
...
except cv2.error as e:
...
这里是文档的页面,不过它只适用于C/C++接口——我找不到关于OpenCV的Python错误处理的任何信息(我觉得Python接口的文档实在是太少了)。